Датчик влажности для вентилятора своими руками
Управление вентилятором вытяжки для контроля влажности воздуха в ванной
Автор: Сергей Безруков (aka Ser60)
Опубликовано 09.04.2013
Создано при помощи КотоРед.
Этот проект разрабатывался в рамках форума на сайте radiokot.ru. Выражаю признательность участникам форума aam и МитяРа за постоянное внимание к проекту, мотивацию, обмен идеями, поддержку, и консультации, как на форуме, так и в личной переписке. После изготовления устройство испытывалось на протяжении более года, в течении которого совершенствовался алгоритм его работы.
Устройство предназначено для автоматического включения и выключения вентилятора вытяжки в ванной в зависимости от относительной влажности воздуха в ней во время приема душа. В устройстве имеется 2 режима управления – ручной и автоматический. Логика работы устройства следующая.
Ручной режим: при подаче питания устройство сразу включает вентилятор вытяжки и запускает таймер отсчета времени его работы. По истечении этого времени вентилятор отключается. Повторное включение в этом режиме возможно только после кратковременного отключения питания. Установка времени задержки выключения производится через меню устройства и, как и все другие установки пользователя, сохраняется в энерго-независимой памяти микроконтроллера.
Автоматический режим: в этом режиме устройство предполагается быть все время включенным. При этом оно каждую секунду производит измерение влажности воздуха и вычисляет скорость ее изменения за определенный период времени (устанавливается через меню). Как только влажность за период измерения увеличится на заданную в меню величину (скажем, 3% за 5 секунд) при включении душа, устройство запоминает текущее значение влажности и включает вентилятор вытяжки. После этого ожидается момент уменьшения влажности на заданную в меню величину за период измерения (например, 2% за 5 секунд), что происходит после окончания приема душа и сигнализирует о выключении воды. Как только это произойдет, запускается таймер на установленное в меню время. Отключение вентилятора произойдет по обнулении таймера, или по уменьшении влажности до запомненного на момент включения вытяжки значения. Кроме того, если при включении устройства влажность превышает 90% (фиксированное значение), то произойдет включение вентилятора на установленную в меню длительность. Это удобно если прибор кратковременно выключат по ошибке после принятия душа и потом, спохватившись, включат опять (целевое значение влажности для выключения будет при этом утеряно). Наконец, если в момент отсчета таймаута снова произойдет увеличение влажности на пороговую величину (например, душ снова включили), то время выключения начнет отсчитываться сначала.
Таким образом, в автоматическом режиме устройство реагирует на скорость изменения влажности, а не на ее абсолютное значение в данный момент времени. Следовательно, включение вытяжки производится независимо от уровня влажности в ванной и в остальной части жилого помещения. Для автоматического включения вытяжки необходимо, чтобы влажность воздуха во время приема душа увеличивалась, что обычно имет место на практике. Предполагается, что душевая комната не используется для других мероприятий, приводящих к существенному увеличению влажности в ней, например сушка белья.
В процессе работы прибора производится отображение текущего значения влажности и температуры на графическом ЖКИ. Эти значения актуализируются ежесекундно. Помимо информирования пользователя, индицируемое на дисплее значение температуры также используется для термо-компенсации датчика влажности.
Прибор установлен в душевой комнате в коробе вентилятора под потолком. Использование графического ЖКИ и больших шрифтов позволяет легко считывать показания температуры и влажности с пола. По включении вентилятора на дисплее также отображаются две информационных величины (мелким шрифтом), используемых для контроля функционирования системы. Одна из них – это значение влажности на момент включения вентилятора, показанная в красных кружках ниже. Это значение используется как целевое для выключения вытяжки в автоматическом режиме как описано выше. В ручном режиме это значение не используется и не отображается. Другое число (в зеленом кружке) – это оставшееся время работы вентилятора в минутах. Оно появляется только во время работы таймера задержки выключения. По окончании работы таймера и выключении вентилятора обе величины в кружках стираются с дисплея.
| |
В устройстве имеются 4 кнопки для установки режима его работы. При нажатии на любую из них включается подсветка ЖКИ, которая автоматически выключится через 10 секунд, если не будет нажата никакая кнопка. В противном случае, по нажатии любой из кнопок устройство переходит в режим меню, в котором на ЖКИ отображаются установленные значения параметров режима его работы. Две левые кнопки (на схеме это SB1, SB2) поволяют выбирать следующий или предыдущий параметр меню в кольцевом режиме (индицируется стрелочками на дисплее), в то время как две правые (SB3, SB4) предназначены для увеличения или уменьшения значения соответствующего параметра (индицируется знаками “+” и “-“). При выходе из меню все параметры автоматически сохраняются в энерго-независимой памяти микроконтроллера, выключается подсветка дисплея, и устройство опять переходит в режим показа температуры и влажности. Отмечу, что алгоритм управления вентилятором продолжается в фоновом режиме во время просмотра или установок параметров меню. Ниже показаны скриншоты всех страниц меню.
| |
| |
| |
Первая страница позволяет выставить режим работы (ручной или автоматический), вторая – интервал времени периодического измерения нарастания/спада влажности для автоматического включения вентилятора в секундах, третья – порог скорости увеличения влажности для включения вентилятора в %, четвертая – порог скорости спада влажности для включения таймера времени задержки отключения вентилятора в %, пятая – значение задержки выключения в минутах, и шестая – для выхода из меню. В ручном режиме работы установки на страницах 2 – 4 меню не используются.
Сердцем уствойства является микроконтроллер C8051F996 фирмы Silicon Laboratories. Одна из причин его применения — это простота сопряжения с емкостным датчиком влажности HIH-1000 (C2), не требующее никаких дополнительных деталей. Измерение емкости датчика производится встроенным в микроконтроллер и патентованным фирмой-изготовителем Емкостно-Цифровым Преобразователем (ЕЦП). Он спроектирован для работы с сенсорными датчиками прикосновения, но, как показали эксперименты, он достаточно линеен и также хорошо подходит для работы с емкостными датчиками влажности. В режиме усиления 1х этот ЕЦП позволяет измерить емкость примерно до 500пФ с разрешением в 12 бит (т.е. 0,12 пФ), в то время как интервал изменения емкости датчика находится в пределах от 300 до 370 пФ. Точность преобразования можно повысить до 16 бит установкой параметров модуля ЕЦП. Процесс измерения емкости при выбранном режиме работы ЕЦП занимает около 180 мкс. В результате экспериментов с использованием эталонных конденсаторов и учета передаточной характеристики используемого сенсора, взятой из его ДШ, была выработана следующая формула для определения влажности:
где A – код ЕЦП микроконтроллера, T – температура окружающего воздуха в °C, а А0 – код ЕЦП при влажности H0 и температуре Т0. Отмечу, что все вычисления по этой формуле производятся только с целочисленными данными и результатом является целое число, соответствующее относительной влажности воздуха в %.
Для измерения температуры применен аналоговый датчик TC1047A, подключенный к встроенному в микроконтроллер 10-битному АЦП. Последний работает с внутренним источником опорного напряжения Vоп = 1,65 В. В результате получаем следующую формулу для определения температуры:
Т(°C) = ((K·165) >> 10) – 50,
где K – код АЦП. Эта формула также предполагает только целочисленные операции. Замечу, что в обоих формулах умножение производится только на 1-байтные константы, что позволяет особенно просто реализовать это на имеющемся в микроконтроллере 8×8-бит аппаратном перемножителе.
Для отображения информации применен графический COG (Chip On Glass) дисплей с разрешением 128х32 фирмы Newhaven. Связь микроконтроллера с дисплеем производится по интерфейсу SPI. Конденсаторы C7 – C14 являются частью встроенного в дисплей преобразователя напряжения. Транзистор Q3, управляемый сигналом ШИМ из микроконтроллера, предназначен для включения и контроля яркости подсветки ЖКИ. Электроника дисплея потребляет около 80 мкА при выключенной подсветке и около 12 мА при включенной.
Управление вентилятором производится с выхода 12 микроконтроллера с помощью оптрона MOC3043 и симистора Q2 в стандартном включении. При использовании надлежащего типа Q2 возможна работа прибора в сети 220В без изменения номиналов других деталей схемы. Питается устройство от импульсного преобразователя напряжения на 5В от зарядки для мобильного телефона. Дальнейшее понижение напряжения до 3В, требуемых микроконтроллеру и дисплею, и его стабилизация производится микросхемой DA2. В активном режиме микроконтроллер работает на частоте 20 мгц от встроенного генератора. Разъем XS1 предназначен для его программирования через интерфейс C2. Печатная плата изготовлена из односторонне фольгированного материала. Силовая часть схемы (компоненты показанные ниже серой горизонтальной черты на ней) смонтированы около мотора вентилятора на отдельной перфорированной плате (на снимках не показана).
Если индикация температуры/влажности не требуется, дисплей с его обвязкой можно исключить из схемы. Никаких изменений программы это не повлечет. Для увеличения точности показаний влажности и компенсации технологического разброса параметров датчика C2, прибор желательно прокалибровать. Для этого к прибору включают под управлением внутрисхемного отладчика и ставят точку останова на строке 379 кода (инструкция “jnb Status.1, average_HUMI”). По достижении отладчиком точки останова, 12-битное число в регистрах R3:R2 МК (R2 – младший байт, R3 — старший) записывают в 5-й сроке кода как CS_NOM. При этом показание температуры на дисплее записывают в сроке 4 кода как TEMP_NOM (до записи значение температуры умножают на 4 и прибавляют к результату 200). Наконец, в 3-й строке кода записывают значение влажности, измеренное образцовым влагометром. Как показал опыт изготовления подобных устройств, без калибровки отличие показанной прибором влажности от истинной не превышало ± 6%.
Программа микроконтроллера написана на языке ассемблера и отлажена в среде Silicon Laboratories IDE, интегрированной с компилятором A51 фирмы Keil. Сама программа занимает около 1,95КБ памяти микроконтроллера из 8КБ его памяти. Помимо этого, примерно 2,1КБ занимают шрифты для ЖКИ. Исходный текст программы и файл платы для Eagle прилагаются. Внешний вид устройства, вмонтированного в короб воздухозаборника вентилятора, показан на левом фото ниже. Воздух в короб поступает через жалюзи в левой и правой стенках.
| |
Эффективность вытяжки безусловно определяется производительностью вентилятора. В душевых нашего дома установлены стандартные вентиляторы турбинного типа под потолком (правое фото выше). В их короб также встроена лампа для освещения. Диаметр крыльчатки вентилятора 12 см, питание 120В/1.4А, производительность 5 м 3 /мин. Воздух от вентилятора подается в трубу диаметром также 12 см, выходящую наружу. Конечно, до кнопок с пола дотянуться сложно, но установку параметров устройства под конкретные условия помещения предполагается производить только на начальном этапе настройки. Душевая комната, где установлен контроллер, имеет плошадь около 4.5 м 2 . В автоматическом режиме включение вентилятора в ней происходит спустя примерно 20 секунд после включения (теплого) душа. При пользовании только краном в раковине влажность не увеличивается так быстро как при приеме душа, поэтому при выбранном пороге (см. установки меню выше) вентилятор автоматически не включается. Описанный алгоритм работы испытывался на протяжении четырех времен года при минимальной влажности в жилом помешении 30% зимой и максимальной около 80% летом. Отказов в работе системы не наблюдалось.
Источник
Датчик влажности для ванной
Эта схема была разработана для автоматического включения вытяжного вентилятора в ванной комнате, когда влажность становится слишком высокой. Цепь детектора состоит в основном из двойного таймера CMOS, резистивного датчика влажности и твердотельного реле.
Таймер IC2A выполнен в виде генератора с частотой 1 кГц с помощью R1 и C6. Выходной сигнал через резистор (R3) поступает на датчик влажности, который подключен к разъему K3, и на триггерный вход второго таймера IC2B.
Последовательно с датчиком идут конденсатор (для предотвращения поляризации датчика вследствие напряжения смещения постоянного тока) и потенциометр (для установки чувствительности).
В результате экспоненциальной характеристики сопротивления (
Затем второй таймер включит вытяжной вентилятор через твердотельное реле IC3. Пока влажность остается высокой, вентилятор будет работать. Когда влажность уменьшается, возникает точка, в которой IC2B больше не получает триггерный сигнал. Далее таймер продолжит работу вентилятора еще 4 минуты, а затем выключит его.
При первом включении вентилятор сразу включится на 4 минуты. После этого вентилятор включится только тогда, когда влажность в ванной комнате будет слишком высокой. Учитывая безопасность, источник питания для питания состоит из сетевого трансформатора переменного напряжения, выпрямленное мостовым выпрямителем. Это предотвращает опасно высокое напряжение датчика (который должен находиться в ванной комнате).
Для этой схемы была разработана небольшая печатная плата, которая довольно проста в сборке.
Источник