МИКРОКОНТРОЛЛЕРНЫЙ БЛОК УПРАВЛЕНИЯ БЫТОВЫМ ВЫТЯЖНЫМ ВЕНТИЛЯТОРОМ (V.1.0)
Аннотация
Блок управления представляет собой автономное устройство типа «интеллектуального» программируемого «реле», реализованного на базе микроконтроллера ATmega8 и цифрового датчика влажности/температуры SHT10. Силовая часть блока выполнена на симисторе BT137-600E с гальванической развязкой при помощи специализированной микросхемы-оптодрайвера MOC3061. Проект доведен до работоспособного макета; конструкторская часть, включая конструктивное исполнение и топологию печатной платы, в данном описании не рассматривается. Программное обеспечение написано на языке Си в среде CodeVisionAVR, при разработке исходного кода были использованы интегрированные библиотеки CVAVR, драйвер энкодера PEC12 (chipenable.ru) и шаблон исходного кода библиотеки функций для работы с датчиком SHTxx (Senserion Application Note. SHTxx Sample Code).
Принципиальная схема
Примерный перечень элементов (.doc): BOM.rar.
Некоторые замечания по схеме
Микроконтроллер тактируется от внутреннего RC-генератора на частоте 8 МГц. Переключатель режимов "AUTO/MANUAL" (двухпозиционный тумблер) подключен к линии порта с pull-up подтяжкой, поэтому на схеме отсутствует внешний подтягивающий резистор. Цоколевка разъема для подключения ЖКИ произвольна, порядок следования контактов выбран из соображений удобства при чертеже схемы. Подключение ЖКИ к МК - по схеме с использованием лишь 4 разрядов 8-разрядной шины данных (с использованием потетрадная передачи).
Для упрощения схемы питания и использования в качестве макета имеющейся макетной платы вся низковольтная часть, в т.ч. и датчик SHT10, питается от стабилизированного напряжения 5 В. Для питания датчика (и всей схемы) лучше использовать напряжение питания 3,3 В (для датчика оно является типовым, максимальное - 5,5 В).
Общее описание принципа работы устройства
Первый (упрощенный) вариант без использования временной базы (ЧРВ/RTC), режимов "День/Ночь", "Программа" (периодическое включение/выключение по определенной программе – по времени – и по сигналам датчиков влажности/температуры).
Для блока управления (МБУ) предусмотрено два основных режима работы: I – Автоматический. II – Ручной. Выбор режимов осуществляется с помощью переключателя или тумблера на панели прибора "Auto/Manual". Рабочий режим отображается на ЖКИ.
I. Автоматический режим/Auto
В режиме "Auto" предусмотрены следующие режимы:
- Контроль влажности и температуры и включение/выключение вентилятора по сигналам с датчика.
- Принудительное включение/выключение с последующим (через определенное время) возвратом к автоматическому режиму.
В режиме "Auto" микроконтроллер (МК) БУ периодически опрашивает датчик и сравнивает измеренные значения влажности/температуры RH/T c установленными пользователем значениями порогов включения RH_high/T_high. При превышении хотя бы одного из контролируемых значений RH/T порогового значения RH_high/T_high МК вырабатывает сигнал управления VENT_CONTROL = ON и включает вентилятор. После того, как RH и (или) T уменьшаются до значений, когда выполняется двойное неравенство (RH < Rh_low)&&(T < T_low), где Rh_low/ T_low – пороги выключения, также устанавливаемые пользователем в процессе настройки, МК вырабатывает сигнал VENT_CONTROL = OFF и вентилятор выключается. Все пороговые значения могут устанавливаться пользователем с помощью органов регулировки и ЖКИ. Эти значения сохраняются в ПЗУ МК.
Если необходимо отслеживать только один параметр, второй можно загрубить, установив верхний порог чувствительности (X_high) заведомо высоким, а нижний (X_low) – минимальным, например, равным нулю.
В автоматическом режиме возможно принудительное включение вентилятора на определенное время, например, для того, чтобы вытянуть неприятный запах. Принудительное включение вентилятора осуществляется с помощью кнопки "Vent. On” на панели прибора. При этом МК полностью игнорирует измерения режимных параметров. Вентилятор выключается автоматически через определенное в программе время (установлено примерно 10 мин.) и БУ переходит в соответствующий автоматический режим.
II. Ручной режим/Bypass
В ручном режиме включение и выключение вентилятора осуществляется с помощью кнопки "Vent. On”. При этом датчики не опрашиваются.
Примерный вид меню
Меню включает в себя всего два пункта/окна:
0. Основной вид.
1. Настройка параметров контроля влажности и температуры.
Навигация по пунктам меню осуществляется с помощью вращения ручки энкодера. Переходы по пунктам меню «закольцованы». В исходном состоянии на экране ЖКИ отображается основной вид с информацией о состоянии системы и текущих значениях влажности и температуры. Выбор пункта меню, вход в режим настройки и подтверждение изменения того или иного параметра – с помощью кнопки энкодера "ENTER", изменение параметра – вращением ручки (по часовой стрелке – увеличение, против – уменьшение соответствующего значения).
Основной вид (menu_position = 0)
Внешний вид основного окна (menu_position = 0) приведен на рис. 1.
M |
o |
d |
e |
: |
A |
|
|
V |
e |
n |
t |
: |
O |
N |
|
R |
h |
= |
4 |
0 |
. |
5 |
|
T |
= |
+ |
2 |
7 |
|
|
|
Рис. 1
При вращении энкодера по/против часовой стрелке переход к следующему пункту меню.
Настройка параметров контроля влажности и температуры (menu_position = 1)
Этот пункт меню служит для вывода и настройки параметров контроля влажности и температуры – пороговых значений RH_high/T_high, RH_low/T_low. Режим настройки активируется при первом нажатии на кнопку энкодера.
R |
h |
h |
= |
|
8 |
0 |
|
R |
h |
l |
= |
|
4 |
0 |
|
T |
h |
= |
|
+ |
3 |
5 |
|
T |
l |
= |
|
+ |
2 |
5 |
|
Рис. 2
Управляющая программа
Программное обеспечение написано на языке Си в среде CodeVisionAVR [1], при разработке исходного кода были использованы интегрированные библиотеки CVAVR, драйвер энкодера PEC12 от chipenable.ru [2] и шаблон исходного кода библиотеки функций для работы с датчиком SHTxx (Senserion Application Note. SHTxx Sample Code) [3].
Макетирование
Макет собран на базе т.н. MRC28 [4] – отладочной платы на базе Atmega8 – и включает в себя практически все основные элементы принципиальной схемы, исключая кнопку принудительного/ручного включения "Vent. On” и силовой интерфейс. На рис. 3 приведен внешний вид макета.
Рис. 3
Заключение. Перспективы развития проекта
Если потребуется вносить в схему какие-либо изменения, требующие дополнительных линий портов В/В МК (свободны всего три линии: PB6, PB7 и PD3), то необходимо оптимизировать подключения. В частности, можно исключить светодиод AUTO_ON, который служит лишь для вспомогательной индикации автоматического режима работы МБУ, сами режимы "AUTO/MANUAL" можно задавать с помощью энкодера, убрав тумблер и вводя изменения в меню настройки.
Модификация и усовершенствование схемы блока управления (v.2.0 etc.)
Актуально
-
Введение дистанционного управления (например, на ИК).
-
Реализация временной базы/ЧРВ и программируемых по времени режимов работы.
Желательно
-
Переход на другой МК (например, на МК семейства STM32 ARM).
-
Схема питания (3.3 В для питания датчика).
Возможно
-
Введение дополнительного (дополнительных) канала коммутации.
-
Реализация входов для подключения "сухих контактов" простейших датчиков на замыкание/размыкание.
-
Введение дополнительного внешнего ("погодного") датчика влажности и усложнение алгоритма управления.
Использованные источники
-
-
-
-
|