Views: 2435
На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11 самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств он даже неплох.
Сразу перейдем к схеме регулятора
её на сегодня (05/16) еще можно приобрести в Вороне http://voron.ua/catalog/017464 .
Никаких особенностей в схеме нет, с резистором R2 = 5.1k можно удалить датчик от регулятора до 20 метров, это конечно не 300 метров как для DS18B20, но для домашней автоматики вполне приемлемо. В этом регуляторе применен микроконтроллер PIC16F1509-SSOP – выбор его обусловлен в первую очередь низкой ценой и новыми уникальными возможностями. Что естественно точность регулирования составит +/-1 градус или 1% влажности (боле точное регулирование возможно на датчике AM2302, но это будет описано позже).
Схема в pdf
ch-4060 - регулятор температуры и влажности на датчике DHT11 - схема 51.40 KB 234 downloads
ch-4060 - регулятор температуры и влажности на датчике...Немного по работе с датчиком DHT11.
Более детальное описание можно найти в разделе библиотека. Здесь приведем основные параметры работы датчика. Период чтения рекомендуется делать равной 1 секунда, его можно и более чаще опрашивать, но возможен вариант получения не корректных данных.
Период опроса:
Длительность импульса инициализации:
Основные параметры длительность импульса преамбула, длительность “0” и “1”:
Длительность пакета передачи данных:
Как всегда в регулятор имеет 4 канала регулирования. Регулировка температуры или влажности выбирает пользователь. Т.е. можно сделать максимум 4 режима регулировки влажности или температуры или любые комбинации с 4 регуляторами.
Индикация регулятора оставлена с значением 1 десятую величины, т.е. хоть и датчик не может показывать десятые доли градуса, значение на индикаторе для , например, 22 грд Цельсия будет иметь вид 22,0. Это оставлено для совместимости для работы с датчиком AM2302.
Сравнение параметры датчиков | ||
Название | DHT11 | DHT22, AM2302 |
Температура | 0 – +50 °C | -40 – +80 °C |
Влажность | 20-90% | 0-100% |
Абсолютная точность | ± 5% | ± 2% |
Cтабильность | ± 1% | ± 1% |
Долгосрочная стабильность | ±1% в год | ±0.5% в год |
Проблемы устройств с динамической индикацией.
Микроконтроллер занимается созданием на индикаторе изображения, для этого он использует прерывания от таймера, чтобы с заданным временем переключать индикацию на разрядах. Т.е. При выполнении основной программы контроллер прерывает её выполнение и переходит на переключение индикации. При получении данных от датчика, данные передает сам датчик и передает асинхронно, необходимо все внимание уделить получению данных, но если при это создается условие для формировании индикации, то в зависимости от приоритета будут возникать дефекты в индикации или потеря данных при приеме информации. Какой тогда выход?
В нашем варианте необходимо синхронизировать чтение с датчика с разверткой индикации. Минимальная скорость развертки должна быть 50 Гц. Для 4 разрядов это 200 Гц (я в своих конструкциях применяю от 100 до 200, но в этом варианте пришлось опуститься до минимума). Для 4 разрядного индикатора длительность “горения” одного разряда приблизительно 4,9 мс, это как раз выше времени передачи данных с датчика, которая может доходить до 4.2 мс.
Необходимо прием данных поместить в период между прерываниями индикации.
Для этого надо понимать, что данные с датчика имеют длительность от 3,9 до 4,2 мс в зависимости от температуры окружающей среды. Импульс инициализации датчика в расчет не берем. После этого импульса надо произвести синхронизацию развертки. Это позволит минимизировать искажение индикации при чтении данных с датчика, а с другой стороны даст возможность получить корректно данные.
Дугой вариант применить микроконтроллер (например из серии PIC18/24…) который имеет большую тактовую и более шустрый который может обработать прерывания по индикации за более короткое время и успеет нормально измерять длительность битов получаемых с датчика, но тут сразу стоимость микроконтроллера возрастет в 2 – 4 раза…
Назначение органов управления.
– выбор следующей функции, переключение режима индикации
– выбор предыдущей функции, просмотр аварий
– вход в режим программирования, переход на уровень ниже, выбор параметра функции
– выход из режима программирования, переход на уровень выше, выход из параметр функции, просмотр номера телефона сервисного центра
Работа регулятора.
После подаче питания, на индикатор в режиме бегущей строки выводиться тип регулятора и версия ПО.
Потом будет показано с каким датчиком настроен регулятор для работы. DT22 или AM2302
DT11
После чего будет выполнено считывание данных с датчика и показана измеренная температура и влажность. Будет сначала показана измеренная температура, сначала символ индикации:
а затем температура:
символ индикации влажности:
измеренная влажность:
По умолчанию после включения на индикаторе измеренная влажность. Если настроена функция ручной индикации, то нажатием на клавишу “<” можно переключать режим индикации с влажности на температуру и обратно.
Регулятор может находиться в двух режимах режим индикации температуры и влажности и режим настройки. Регулирование выполняется постоянно независимо в каком режиме находиться регулятор.
Функции кнопок в режиме индикации | |
Клавиша | Функция |
< | Переключение индикации температура/влажность |
> | Просмотр/сброс аварий |
∨ | Вход в режим настройки |
∧ | Просмотр телефона сервисного центра |
Все сообщения которые длиннее 4 символов будут выведены на индикатор в виде бегущей строки к этому также относиться и индикация телефона сервисного центра. При отключении датчика от регулятора на индикаторе будет сообщение:
При подключении датчика работа регулятора будет восстановлена.
Настройка регулятора.
Логика доступа к настройкам регулятора построена на несколько уровней. На самом вернем уровне это режим индикации (и регулирования). Функции настройки регулятора расположены на трех нижних уровнях. Для перехода между уровнями используется кнопки “∧” и “∨” . В зависимости от настройки регулятора, доступ к первому уровню (U1), может быть без пароля (настройка по умолчанию).
Для перехода в режим настройки необходимо нажать клавиши “+” (движение вниз по уровням). На индикаторе будет символ:
Каждый уровень будет отмечаться символами U1, U2, U3. Для просмотра функций расположенных на текущем уровне используйте клавиши “<” и “>“. На первом уровне доступны функции порогов регулировки регуляторов. В зависимости от того, как настроем модуль он может регулировать функцию влажности или температуры. При нажатии на клавиши “<” или “>” можно по кругу просматривать все функции на выбранном уровне.
Для выбора параметра необходимо выбрать функции и нажать клавишу “∨“. Вы войдете в режим настройки параметра, по умолчанию вы увидите значение 25,0, если модуль регулятора настроен для регулировки температуры, то это значение в градусах Цельсия, если модуль регулятора настроен для регулировки влажности, то это значение в процентах относительной влажности воздуха.
Нажатием на клавиши “<” и “>” можно изменить порог регулировки параметра. ОБРАТИТЕ внимание, если модуль регулятора отключен, изменить параметры нельзя! Для выхода из режима настройки параметра нажмите клавишу “∧” или “∨“. Для включения модуля регулятора в работу необходимо опуститься на уровень 2. Для этого (если вы находитесь на уровне 1 необходимо выбрать символ уровня U1 и нажать на клавишу “∨“
Доступ к уровню 2 и 3 всегда защищен паролем, поэтому после нажатия на клавишу “∨” вам будет предложено ввести пароль и вы уведите надпись:Нажмите еже раз клавишу “–“, вы увидите приглашение ввода пароля:
Пароль состоит из 4 символов, символ может иметь значение от 0-9 и буквы ABCDEF. Логика ввода пароля следующая, точка в разряде указывает на позицию в которой вводиться символ. Позицию можно изменить нажатием на клавишу “>” (движение по кругу). Для ввода символа используется клавиша “<“. При нажатию на клавишу последовательно будут перебираться символы в описаном выше порядке (тоже все будут по кругу). По умолчанию регулятор содержит следующие пароли:
Пароли | |
0123 | Пароль 1 уровня |
1111 | Резервный пароль 1 уровня |
73a2 | пароль 2 уровня |
adec | пароль 3 уровня |
2802 | мастер пароль (позволяет получить доступ к любому уровню) |
Вводим пароль для доступа ко второму уровню:
После ввода верного пароля, при нажатии на клавишу “>” на дисплее будет выведено сообщение пароль деактивирован (доступ получен).Нажмите клавишу “∨” для перехода на уровень ниже, в нашем варианте это будет уровень 2.
На втором уровне доступны следующие функции:
Режим индикации.
Регулятор позволяет каждые 5 секунд периодически показывать, то температуру, то влажность. Если вам интересен такой режим, то его можно включить переведя функцию в состояние “AU”. Если вам необходимо, чтобы вы могли видеть только температуру или влажность установите параметр в положение “ru”.
Настройка режима работы модуля регулятора.
Каждый модуль регулятор может быть находиться в одном из 5 состояний:
Режимы работы модуля регулятора | |
Регулятор отключен | |
Режим нагрев | |
Режим охлаждения | |
Режим осушения | |
Режим увлажнения |
Настройка гистерезиса модуля регулятора.
Гистерезис позволяет устранить хаотическое переключение управляющего элемента (клапана, нагревателя) при переходе параметра через уровень задания. Гистерезис позволяет удалить уровень включения и выключения на заданную величину. Значение по умолчанию 1,0. Минимальное значение 0,0. максимальное значение 10,0.
Таймер повторного включения нагрузки.
Эта функция актуальна только для режима охлаждения. Если предполагается для управления охлаждением использовать управления компрессором, то повторенное включение допустимо, только через опредмеченное время, необходимое для понижения давления до необходимого уровня при котором компрессор может повторно быть включен. Это время задается в секундах. Значение по умолчанию 30. Минимальное значение 0. максимальное значение 255.
Функция блокировки одновременного включения нагрузок
В реальной жизни одновременное включение нескольких исполнительных устройств может вызвать значительные помехи в электросети и что бы этого избежать, желательно избегать одновременного из включения. В регуляторе есть 4 модуля которые работают независимо. Поэтому вероятность когда два и более нагрузок могут быть одновременно включены довольно высока. Для этого можно активировать такую функцию, она следит, что бы включения нагрузок выполнялось только через определенное время. Значение по умолчанию Disb – отключено. Состояние – EnAb – включено.
Деактивация пароля, доступа к уровню 1
При необходимости можно запретить доступ к уровню 1. Для этого необходимо изменить параметр на EnAb – включено. Значение по умолчанию Disb – отключено.
На третьем уровне доступны следующие функции:
На третьем уровне доступны системные функции которые влияют глобальные параметры регулятора из следует изменять понимаю суть этих функций.
Включение выключения таймера технического обслуживания
Работа оборудования подразумевает, о необходимости периодично выполнять обслуживание, обслуживание предназначено для предотвращения поломки оборудования и выявления на ранней стадии неисправности. При активации таймера ТО, после указанного периода работа регулятора будет приостановлен и возобновление работы возможно только после проведения ТО. Для перезапуска таймера необходимо изменить период ТО. Значение по умолчанию отключено.
Период таймера ТО
Период задается в диапазоне от 30 до 255 дней.
Пароль первого уровня
По умолчанию значение 0123. Допустимое значение от 0001 до FFFF.
Задание телефона сервисного центра
При необходимости можно запрограммировать телефон сервисной службу, куда можно позвонить в случае неисправности или при возникновении вопросов.
Выбор типа подключенного датчика
Регулятор может работать с нескольким типом датчиков DHT11/DHT22/AM2302. Для работы с датчиком DHT11 необходимо установить параметр dt11, для работы с датчиками DHT22/AM2302 – параметр dt22.
Так как точность датчиков DHT11/DHT22/AM2302 желает лучшего, то дополнительно были добавлены две функции которые позволяют корректировать показания измеренных параметров.
Коррекция показаний температуры
Эта функция позволяет с корректировать показания температуры измеренной датчиком. Значение по умолчанию 0. Максимальное значение 12,7 грд, минимальное -12,7 грд.
Коррекция показаний влажности
Эта функция позволяет с корректировать показания влажности измеренной датчиком. Значение по умолчанию 0. Максимальное значение 12,7 %, минимальное -12,7 %.
Восстановление заводских настроек
Эта функция предназначена для возврата всех настроек по умолчанию (заводские настройки).
Файлы для загрузки
Бета версия – 0.1
Прошивка
ch-4060 - регулятор температуры и влажности на датчике DHT11/DHT22/AM2302 - прошивка 11.03 KB 203 downloads
ch-4060 - регулятор температуры и влажности на датчике...Проект MPLABX-v3.30, компилятор xc8-v1.37
ch-4060 - регулятор температуры и влажности на датчике DHT11/DHT22/AM2302 - проект 1.17 MB 14 downloads
ch-4060 - регулятор температуры и влажности на датчике...Релиз.
Было несколько идей как совместить чтение с датчика и индикацию, на микроконтроллере с малой тактовой частотой, что бы они не мешали друг другу. Идея заключается, что бы формировать окончание импульса синхронизации в момент смены индикации, чтобы было время сосчитать данные. При этом развертку пришлось уменьшить до 200 гц, чтобы получить 50 герц (на 4 разрядном индикаторе).
В релизе реализован вариант когда начало формирования импульса инициализации синхронизировано с началом развертки, а длительность подобрана чтобы заканчивалась на моменте смены индикации и тогда времени более чем достаточно, чтобы прочитать данные с индикатора не нарушая индикацию.
По умолчанию установлено работа с датчиками DHT22/AM2302.
ch-4060 - регулятор температуры и влажности на датчике DHT11/DHT22/AM2302 - прошивка v 1.0 11.20 KB 191 downloads
ch-4060 - регулятор температуры и влажности на датчике...Продолжение возможно….
Это может быть интересно
- Инфракрасный датчик движения, PIR-sensorViews: 3097 Домашняя автоматика предполагает наличие датчиков движения, которые способны контролировать движения человека. Самым простым и доступным устройством позволяющие контролировать изменения ИК-излучения, это ПИР-сенсоры. На текущий момент доступны не дорогие модели D203B, D204B, D205B. Все …
- NeoPixel LED и PIC18Views: 1678 Еще раз об управлении светодиодами на драйвере WS2812 и ему подобных. Как известно эти светики управляются по однопроводной шине. Основная особенность, что программно можно описать передачу данных, …
- Altium Designer my setup system and project structure V23.3Views: 176 Оновлення бази даних та шаблонів від березня 2023 року. Updating the database and templates from March 2023. Altium Designer my Libraries, Project templates, System settings by Catcatcat. Дивись …
- Стабилизатор тока на SN3350, часть 2Views: 1162 Если вам необходимо разработать устройство с применением мощных светодиодов, то никак не обойтись без применения стабилизатора тока. На настоящий момент стабилизаторы тока являются самым эффективным механизмом, для питания светодиода в течение всего …
- Проект с использованием MCC часть 04Views: 1140 Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое …
- Kitchen timer with contactless gesture controlViews: 653 Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …
- LED драйвер TM1639Views: 2202 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
- Дифференциальный терморегуляторViews: 4004 Дифференциальный терморегулятор ch-3020 Назначение. Ch-c3020 представляет собой дифференциальный терморегулятор. Основное назначение солнечные системы горячего водоснабжения, а также вентиляционные системы управление притоком свежего воздуха. Контроллер позволяет работать пяти режимах. …
- Счетчики посетителейViews: 1270 Вас сосчитали!? или счетчики посетителей. Для чего нужны счетчики посетителей? Какие они бывают? ТОРГОВЛЯ. Подсчитайте, сколько ваш магазин посещает человек за день. Кок много человек приходит утром, какое …
- Индикатор температурыViews: 2672 Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе …