Контроль температуры является первоочередной задачей в некоторых приложениях, включая холодильники, кондиционеры, нагреватели, промышленные системы и др. Отдельные контроллеры температуры различаются сложностью и алгоритмами работы. Некоторые из них используют простые методы контроля температуры и управления, например, реализуя просто включение/выключение нагревательного элемента, некоторые используют более сложенное ПИД регулирование или запутанные логические алгоритмы. В этом проекте мы рассмотрим простой алгоритм управления и реализуем его в интеллектуальной системе контроля температуры (Рисунок 1), в отличие от простых аналоговых контроллеров.
|
|
Рисунок 1. | Внешний вид интеллектуальной системы контроля температуры, смонтированной на монтажной плате. |
Основные характеристики контроллера температуры:
- аудио-визуальное подтверждение настроек температурного режима;
- определение ошибок системы и обходной режим работы;
- контроль и отображение температуры;
- аудио-визуальное оповещение;
- отображение статуса системы;
- возможность настройки интервалов времени;
- хранение конфигурационных данных в EEPROM микроконтроллера.
Система построена на микроконтроллере Atmel AVR ATmega32L, работающем от внутреннего осциллятора 8 МГц. Для реализации пользовательского интерфейса используются 4 кнопки и 4-строчный символьный ЖК индикатор (4 строки по 20 символов) для отображения даных. Миниатюрный пьезоэлектрический звуковой излучатель предназначен для звукового подтверждения ввода параметров и сигнализации. Несколько светодиодов установлены для эмуляции реальных устройств и индикации неисправностей в их работе.
Принципиальная схема системы контроля температуры
Рисунок 2. | Принципиальная схема интеллектуальной системы контроля температуры: микроконтроллер, ЖК индикатор и датчик температуры. |
Рисунок 3. | Принципиальная схема интеллектуальной системы контроля температуры: подключение кнопок пользовательского интерфейса, светодиодов эмуляции реальных узлов и светодиодов состояния системы. |
В данном варианте системы управления (Рисунки 2, 3) используются светодиоды для эмуляции включения/выключения внешних элементов для нагревания и охлаждения воздуха. Эти светодиоды подключены к портам PD0 и PD1 микроконтроллера. Для питания системы используется источник напряжения 5 В. В реальном приложении вместо светодиодов эмуляции для управления силовыми узалми должны использоваться реле, для питания котрых, соответственно, необходим дополнительный источник 12/24 В.
ЖК индикатор подключен к микроконтроллеру по 4-битному интерфейсу, переменный резистор номиналом 5 кОм предназначен для регулировки контрастности дисплея. 4 кнопки подключены к портам PB0 – PB3, активным является высокий уровень. Пьезоэлектрический звуковой излучатель подключен непосредственно к порту микроконтроллера PD4.
Для получения данных о температуре используется аналоговый датчик LM35, который подключается к каналу 0 встроенного в микроконтроллер АЦП. В качестве опорного напряжения для АЦП используется напряжение питания 5 В, поэтому выводы микроконтроллера AVREF и AVCC должны быть подключены к шине +5 В. Расстояние между датчиком температуры и АЦП должно быть не слишком большим, не более 10-12 см, для исключения помех и надежного чтения данных. Светодиоды, подключенные к портам PD2 и PD3, сигнализируют об ошибках в работе системы или неисправности узла нагрева и охлаждения.
LM35 – это прецизионный аналоговый датчик, выходное напряжение которого изменяется с температурой от 0 мВ (0 °С) до 1500 мВ (+150 °С). Следует заметить, что датчик калибруется в заводских условиях и имеет погрешность 1%.
Весь программный код основывается на логических функциях для каждого этапа. Код разработан таким образом, чтобы максимально облегчить пользователям его освоение. Программа разделена на функциональные блоки или отдельные функции. Каждая из этих функций выполняет конкретную задачу.
Часть 2 – Описание задач, выполняемых функциями в программе микроконтроллера, настройка и работа с системой.