Устройство контроля и поддержания температуры

Автор: Пользователь скрыл имя, 04 Ноября 2012 в 20:00, дипломная работа

Описание работы

Работа посвящена разработке программно-аппаратного комплекса, предназначенного для обеспечения и поддержания заданной температуры узлов блока путем регулирования скорости вращения вентиляторов, а также для мониторинга температуры контролируемых узлов.

Работа содержит 1 файл

экзамен билеты ИБУ.doc

— 126.00 Кб (Скачать)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 ИССЛЕДОВАТЕЛЬСКАЯ ЧАСТЬ

5.1 Практическая  реализация устройства

Тестовый образец  блока реализован на отладочной плате микроконтроллера фирмы Atmel AT89C5131 с двухстрочным ЖК-индикатором. Плата состоит из микроконтроллера АТ89C5131A, необходимого набора элементов, перемычек и разъёмов, обеспечивающих работу микроконтроллера и подключение его к USB и RS-232. Питание схемы может быть как от USB, так и от внешнего источника напряжением 5В. На плату установлен двухстрочный жидкокристаллический индикатор (с контроллером аналогичным HD44780 фирмы HITACHI и KS0066 фирмы SAMSUNG) со светодиодной подсветкой. Устанавливается индикатор на 16-ти контактный разъём. Для демонстрации возможностей портов микроконтроллера управление подсветкой индикатора осуществляется посредством подключенных через перемычки четырех портов. При необходимости перемычки могут быть отключены, и пользователь может использовать данные порты в собственных целях при макетировании. Для удобства работы с индикатором предусмотрена регулировка его контрастности с помощью переменного резистора. Внешний вид отладочной платы представлен на рисунке 15.

 

Рисунок 15 Внешний вид демокомплекта STK-AT89C5131

 

Данная отладочная плата полностью подходит для  разработки блока контроля и поддержания  температуры. На основе демокомплекта  была собрана схема рассмотренная  выше. Помимо описанных элементов  также на стадии тестирования использовался ЖК индикатор. С его помощью выводились промежуточные данные о температуре и передаваемых данных. Использование отладочной платы позволило упростить разработку и отладку разработанных программ.

5.2 Разработка  программного обеспечения контроллера AT89C5131

Для разработки программного обеспечения контроллера AT98C5131 на языке С использовалась среда разработки Keil uVision4. Для загрузки скомпилированной программы во флеш-память контроллера использовалась программа Flip 3.1.0, поставляемая фирмой Atmel.

Целью разработки программного обеспечения контроллера  является перевод алгоритма его  работы в машинный язык. В этом случае общий проект можно разделить  на несколько составляющих: обеспечение  работы самого контроллера, обеспечение связи по  USB, обеспечение связи с датчиками по 1-wire, управление вентиляторами.

Структура созданного проекта представлена на рисунке 12.

 

Рисунок 16 Структура программного обеспечения контроллера AT89C5131

 

Проект состоит из следующих компонентов:

    • библиотеки USB;
    • библиотеки регистров микроконтроллера AT89C5131;
    • разработанной библиотеки для работы с интерфейсом 1-wire;
    • разработанной библиотеки для работы с датчиком DS18B20;
    • главного модуля, содержащего основной алгоритм.

 

Библиотеки USB хранят в себе процедуры инициализации, получения, а также отправки USB пакета. Для управления контроллером используется пакет команд, что заметно сокращает время передачи данных от управляющего компьютера к AT89C5131. В свою очередь микроконтроллер может отправить два вида пакета: инициализационные данные или данные о текущем состоянии. Инициализационные данные представляют собой информацию о количестве задействованных каналов (в данном проекте всегда равно 3-м), максимально возможном количестве датчиков на одном канале, количество датчиков на каждом из каналов, информацию о вентиляторах, а также поддерживаемую температуру и режимы сравнения. Пакет, содержащий информацию о текущем состоянии, представляет собой следующий набор данных: количество каналов (используется для проверки правильности передачи), количество датчиков на каждом из каналов, температурные данные каждого датчика, а также информацию о вентиляторах.

Библиотеки  регистров содержат адреса всех регистров, а также их имена, что упрощает дальнейшее их использование.

Файл Onewire.c содержит функции для обмена данными и командами по шине 1-wire. Основная сложность при написании данной библиотеки было обеспечение требуемых задержек. Разработанная библиотека используется в файле DS18B20.c, которая в свою очередь описывает взаимодействие контроллера и датчика температуры на более высоком уровне.

DS18B20.c содержит следующие функции:

    • поиск датчиков;
    • получение типа питания;
    • начать температурные измерения;
    • запись в память датчика;
    • чтение памяти датчика;
    • копирование данных из ОЗУ датчика в EEPROM
    • сравнение двух температур

Основным модулем, объединяющим весь проект, является файл main.c, который содержит следующие блоки:

    • инициализация USB
    • инициализация датчиков
    • инициализация вентиляторов
    • основной цикл

Инициализация USB представляет собой вызов функции из соответствующей библиотеки. Далее происходит инициализация датчиков путем опроса каждого из каналов и считывания необходимых данных из памяти датчиков. Следующий этап – инициализация вентиляторов, которая проходит путем перевода PCA в режим широтно-импульсной модуляции.

После инициализации  следует основной цикл в соответствии с алгоритмом, изложенным выше. Особенностью реализации является использование  чисел в формате с фиксированной  точкой, что позволило использовать память датчика для хранения таких чисел.

5.3 Разработка  пользовательского приложения для управления блоком

В соответствии с техническим заданием пользовательское приложение должно выполнять следующие  функции:

    • увеличить поддерживаемую температуру на 0.5°C;
    • уменьшить поддерживаемую температуру на 0.5°C;
    • получить текущее значение температуры.

Для разработки пользовательского приложения для  ОС Windows использовалась среда разработки Embarcadero RAD Studio 2010. Для решения поставленной задачи на первоначальном этапе необходимо обеспечить связь блока с компьютером по USB. Также следует учитывать, что связь может прерваться во время работы управляющего компьютера, следовательно, необходимо обеспечить постоянный опрос устройства. После установления связи пользовательское приложение должно инициировать передачу данных. В случае необходимости изменения поддерживаемых температур целесообразнее использовать короткие команды по сравнению с созданием потока передачи данных. Помимо обмена информацией с блоком пользовательское приложение также должно визуализировать полученные значения температуры и скорости управляемых вентиляторов.

В результате разработана  программа, интерфейс которой представлен  на рисунке 13.

Рисунок 17 Интерфейс разработанной программы

 

Разработанная программа позволяет задавать значение поддерживаемой температуры для  каждого канала, изменять режимы сравнения, изменять скорость вращения вентилятора, просматривать графики температур.

Пользовательское  приложение состоит из двух процессов:

    • главный процесс обеспечивает отрисовку приложения без задержек;
    • второй процесс производит работу с устройством, а именно: отсылку команд, прием данных, а также определение подключено ли устройство.

Второй процесс  необходим, чтобы при приеме данных реакция визуального интерфейса на действия пользователя не запаздывала. В этом случае опрос Блока происходит в фоновом режиме. В случае отключения Блока второй процесс переходит в спящий режим. Далее тестирование подключения устройства к компьютеру проводит основной процесс, который и включает вторую нить в случае нового подключения блока.

Программный проект состоит из следующих модулей:

    • основной модуль, описывающий работу главного процесса;
    • USB модуль, описывающий работу второго процесса;
    • шаблон страницы канала.

Использование шаблонов страницы контролируемого  узла позволяет применить данную программу для устройства с любым  количеством каналом. При подключении  устройства происходит его инициализация, т.е. устройство посылает управляющей  программе инициализационный пакет, который содержит данные о количестве каналов. После этого основной процесс создает необходимое количество страниц и связывает каждую из них с соответствующим каналом.

 

Выводы

Рассмотренное программное обеспечение контроллера, а также пользовательское приложение составляют единый комплекс управления блоком. Данный комплекс обеспечивает как автономную работу контроллера, так и совместно с компьютером, полностью реализуя все заданные функции. В случае подключения блока к компьютеру пользователь может оперативно узнавать информацию о состоянии контролируемых узлов, а также изменять режимы работы блока.

 

5.4 Последовательность  работы с блоком

Первоначально к блоку подключаются датчики  температуры. В максимальной комплектации на каждый канал приходится по три датчика температуры, что позволяет обеспечить наилучшие условия контроля. При использовании блока для охлаждения персонального компьютера датчики и вентиляторы следует подключать следующим образом:

  1. на 1-м канале устанавливается вентилятор для процессора. В этом случае следует использовать один или два датчика, в связи с минимальными размерами радиатора;
  2. 2-й канал используется для охлаждения видеокарты. При этом вентилятор используется для охлаждения нескольких микросхем. Следовательно, для точности регулирования скорости вентилятора следует установить два или три датчика в зависимости от количества охлаждаемых узлов;
  3. на 3-й канал устанавливаются датчики и вентиляторы для охлаждения всего системного блока. В этом случае один датчик температуры следует установить на процессор, а второй на радиатор видеокарты. Данное расположение поможет компенсировать недостаточную мощность вентилятора одного из контролируемых узлов в случае экстремального перегрева.

На следующем  шаге к собранному блоку следует  подключить провод от блока питания и установить в соответствующий режим переключатель S1. В этом случае при включении компьютера будет начинать свою работу и блок контроля и поддержания температуры. В случае первоначального подключения блока или необходимости изменения температурного режима следует подключить кабель USB к плате и запустить программу Cooling_control и при необходимости установить драйвер устройства. В данном ПО можно проводить контроль температуры каждого из узлов и изменять температуру, которую необходимо поддерживать вентиляторами.

5.5 Исследование  работы блока

Тестирование  работы всего комплекса проводились  с вентилятором, позволяющим регулировать скорость в пределах 10% от максимальной. На начальном этапе 2 температурных  датчика были подключены к 30-градусному источнику тепла без подключения вентилятора. Как видно из рисунка 16, при данных режиме и значении поддерживаемой температуры в 28°С имеет место перегрев.

 

Рисунок 18 Перегрев при отсутствии вентилятора

 

Далее был подключен вентилятор (рисунок 18). После начала работы вентилятор имеет максимальную скорость и как следствие происходит быстрое охлаждение исследуемого образца до 28°С.

После некоторого времени температура стабилизировалась  и воздушный поток, создаваемый  вентилятором, стал избыточным. Данное обстоятельство привело к тому, что блок стал снижать скорость вращения вентилятора (рисунок 19). После этого система пришла в равновесие, при котором скорость вентилятора была 95% от максимальной, т.е. управление скоростью было выставлено на 50%.

На следующем  этапе тестирования было произведено  изменение значения поддерживаемой температуры на 26°С, а также режима сравнения с «Максимального»  на «Минимальный». В результате блок обнаружил, что текущая температура  превышает поддерживаемую и стал увеличивать обороты вентилятора (рисунок 20). После того как значения температур не превышали заданную больше, чем на 1°С система стабилизировалась.

Рисунок 19 Работа блока при подключении вентилятора

 

Рисунок 20 Работа блока после охлаждения системы до нужной температуры

 

Рисунок 21 Работа блока после изменения значения поддерживаемой температуры

 

Проведенные исследования показали полное соответствие функций  разработанного блока и функционала, заложенного в техническом задании:

    • проведение опроса датчиков и предоставление информации пользователю через соответствующий интерфейс;
    • изменение скорости вращения вентиляторов, в соответствии с температурными режимами;
    • изменение температурных режимов посредством пользовательского интерфейса.

 

Выводы

Тестовый образец  блока контроля и поддержания  температуры был реализован на отладочной плате микроконтроллера AT89C5131. Описана  методика работы с устройством. Разработан алгоритм тестирования спроектированного  устройства. Результаты показали, что  разработанный блок полностью соответствует требованиям, заявленным в ТЗ.

Информация о работе Устройство контроля и поддержания температуры