Главная » Статьи » Проекты

Регулятор температуры и влажности

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

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

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

 

 

 Датчиком влажности/температуры служит венец китайской научной мысли DHT22. Также пойдет более дешевый DHT11, о методике работы с которым писалось ранее. 

 Плата разведена на одностороннем текстолите с использованием нескольких перемычек. Все элементы, за исключением микроконтроллера и кварцевого резонатора, использованы в выводном исполнении. 

 


     

 

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

 

Настройка порога температуры

 

 

Настройка порога влажности

 

 

 Дисплей который тут применен имеет подсветку, поэтому решил использовать и ее. Если активно меню настроек, то подсветка не погаснет. При выходе из меню она проработает еще примерно 15 секунд и погаснет. Чтобы активировать подсветку достаточно крутануть энкодер в любую сторону. Кстати, на случай если пользователь забудет выйти из меню настроек, микроконтроллер это сделает самостоятельно. В этом случае установленные настройки не сохраняются.

 Еще на плате предусмотрено место для пьезопищалки (слева от реле), она пока не установлена.

 

 

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

  Для индикации работы устройства имеются 5 светодиодов. Светодиод D3 (светит зеленым на фото выше) показывает наличие питания схемы. Светодиод D4 моргает с интервалом 5 сек, сразу будет видно, выполняется ли основная программа или нет. Светодиод D2 индицирует проблемы работы с датчиком. А светодиоды D7-D8 показывают какое из реле находится во включенном состоянии.




 
 
 

 Ниже можно скачать файлы к проекту. Прошивка скомпилирована под частоту работы микроконтроллера 10МГц. 

Прошивка (только для датчика DHT11)

Спецверсия для датчика DHT22  (для работы прошивки требуется использовать кварц на 16МГц)

Печатная плата выполненная в DipTrace

Внимание! На плате питание дисплея разведено следующим образом: 1-GND, 2-VCC (+5v). В некоторых моделях Winstar (таких как WH1602D-TML-CT) на первый пин должен подключаться +5v, а на второй земля. Перед первым подключением дисплея рекомендую проверить в каком порядке идут пины питания, иначе из-за переполюсовки дисплей с большой вероятностью может сгореть (из личного опыта).

 

Категория: Проекты | Добавлено: 05.05.2012
Просмотров: 56298 | Комментарии: 367 | Теги: измерения, atmega8, DHT11, датчик влажности | Рейтинг: 5.0/17
Всего комментариев: 3671 2 3 ... 12 13 »
0  
367 exersizze   (07.01.2017 21:06)
Для понипрог установленные  фьюзы будут выглядят как-то так http://avrdesign.ucoz.ru/_pu/0/00504216.png
для других программеров настройка аналогичная

366 antonzavgo   (07.01.2017 19:22)
подскажите пожалуста ,эти фьюзы CKOPT,BOOTSZ0,BOOTSZ1,правильные для внешнего кварца 1-16MHz.

0  
365 exersizze   (05.01.2017 22:36)
Ну тогда для начала правильно ставьте фьюзы.

364 antonzavgo   (04.01.2017 15:49)
прошиваю контролер,прошивается и считывается а не запускается,фьюзы выставляю по калькулятору может что не-буть не так выставлю,та прошивка работала на внутренем генераторе а с внешни не-чего не получается,я думаю фьюзы не-правильно выставляю по-тому и с прошивками не-чего не-получается подскажите что не-правильно делаю.

0  
363 exersizze   (30.12.2016 23:42)
antonzavgo, бывает да, что датчики приходят нерабочие, сам натыкался. Поправил прошивку для DHT11, пробуйте http://avrproject.ru/regulator_temp/termost.zip

362 antonzavgo   (30.12.2016 20:14)
ставил кварц на 16 МГц и прошивал ,возможно поднебесная выслала DHT-22 c дефектом не знаю как его проверить,а не подскажете с DHT-11 что надо сделать чтоб нагрузка на максимуме влаги выключалась а не включалась.

0  
361 exersizze   (28.12.2016 10:52)
antonzavgo, для работы схемы с датчиком DHT22 на плате нужно заменить кварц на 16МГц и залить вот эту прошивку http://avrproject.ru/112/22.zip

360 antonzavgo   (22.12.2016 15:23)
датчик DHT-11.есть и DHT-22 но с ним регулятор почемуто не работает,может с прошивкой под 22 чтото не так а с 11 все прекрасно если бы с влагой проблему решить

0  
359 exersizze   (18.12.2016 22:16)
Подсветка гасится в подпрограмме overflow при переполнении таймера timer1
Чтобы увеличить время, можно добавить в подпрограмму счетчик переполнений,и заместо выключения подсветки запусать таймер по новой

358 semenov05   (18.12.2016 00:41)
Подскажите пожалуйста как увеличить время подсветки.какую строчку править?

0  
357 exersizze   (11.12.2016 08:41)
antonzavgo, версией под какой датчик пользуетесь?

356 antonzavgo   (10.12.2016 19:59)
доброго всем времени,собрал авр проект, регулятор влаги и температуры,работает нормально,но только нагрузка при заданной максимальной влажности включается а надо чтоб выключалась,так как регулятор хочу использовать в инкубаторе, может у кого есть переделанная прошивка,буду за ранние благодарен.

355 semenov05   (26.11.2016 11:00)
интересный проект буду пробовать собирать,спасибо

0  
354 exersizze   (26.11.2016 10:16)
1 градус, если память мне не изменяет

353 semenov05   (26.11.2016 01:25)
Добрый вечер.подскажите а гистерезис по температуре какой?

0  
352 exersizze   (23.05.2016 20:28)
indy9 , установи bascom-avr и в прошивке все слова рядом с командой LCD на кириллице переправь на латиницу. Затем заново скомпилируй (кнопка F7) и все, прошивка готова.

351 indy9   (23.05.2016 15:13)
Добрый день!
Может найдется добрый человек который поделиться переделанной прошивкой под нерусский дисплей??? ( я начинающий))) не пинайте сильно....

0  
350 exersizze   (07.02.2016 21:28)
vector78,  в подпрограмме Encod: (обработка прерываний энкодера) в самом начале есть строки

Код
Encod:
  Backlight = 1                    
  Stop Timer1
  Timer1 = 0
  Start Timer1

If A > 0 Then
   Waitms 2                    
   If Pind.3 = 0 Then
    If Pind.4 = 0 Then  
  .........

вот там нужно Pind.4 = 0 заменить на Pind.4 = 1

349 vector78   (07.02.2016 10:12)
Подскажите пожалуйста, что нужно поменять в исходнике, чтобы програмно поменять местами контакты энкодера. Делал платку для себя, а с энкодером напутал. Теперь когда крутишь влево показания увеличиваются. Не хочется дорожки резать. Переделать канал регулировки влажности получилось (теперь работает аналогично каналу нагревателя - для увлажнителя воздуха), а с энкодером, что-то я завис. Спасибо.

348 max   (07.12.2015 21:25)
Еще тут можно посмотреть: http://bascomavr.3bb.ru/viewtopic.php?id=1309#p15288

347 john182   (07.12.2015 19:27)
кусочек кода для am2301 (данные из датчика забирает как из dht11, разбор немного иначе ) https://yadi.sk/i/tpqf8oeMm4DNU больше недели работает на улице 24\7(минуса ещё нет, но в морозилке работало)

346 sany2   (07.12.2015 06:38)
Прошивку с поста 308 до ума не доводил-просто проверил работу датчика и разобрал всё за ненадобностью.

345 ezik   (06.12.2015 16:42)
Всем доброго времени суток!
Я так понимаю, прошивка, размещенная в конце статьи на спецверсию DHT22 нерабочая?
Собрал, прошил, вроде всё запускается и настраивается как положено, но температуру и влажность показывает 0.0.
Пробовал прошивку от sany2 (сообщение 308), схема сразу начинает реагировать на датчик. Но много ньюансов:
1. уменьшение/увеличение установок не совпадает с направлением вращения энкодера;
2. при вращении энкодера показания установок изменяются или слишком быстро или болтаются;
3. бывают положения энкодера, когда вроде бы не крутишь, а показания установок бегут дальше;
4. значения установок влажности не в процентах, а в у.е., 255-0.
5. показания температуры и влажности меняются за несколько секунд в значительных пределах (температура за 5-10 секунд может опуститься на 2-3 градуса, а потом подняться, а влажность может вырасти до 90 процентов, а потом опуститься до 70).
Никто случайно не доработал "родную" прошивку под адекватную работу с датчиком DHT22?

344 Recov   (06.12.2015 11:25)
Конечно интересно! Все хочу попробовать как при минусе работает.

343 john182   (26.11.2015 19:50)
решил я тут подглядеть код работы с dht22 для am2301(лень было курить даташит и писать с нуля) и заметил небольшую несбойку при работе с отрицательными температурами . В общем пришлось всё таки провести вечерок с даташитом . Если кому интересно могу выложить.

342 Recov   (26.10.2015 11:04)
Вот моя плата под ДИП 28. Две перемычки, отводы через резисторы под светодиоды. Выводы от оригинальной схемы отличаются, понятно почему. Плата 100% рабочая, отвечаю, выводы МК правильные.

Блин, как файл Lay прикрепить?

Не стал заморачиваться, закинул в форум: http://avrproject.ru/forum/3-525-1#4118

0  
341 exersizze   (25.10.2015 21:22)
chip1980 плату рисовал в дип трейсе, может кто-то и перерисовывал, что вряд ли.

340 chip1980   (22.10.2015 23:25)
Поделитесь пожалуйста печатной платой в спин лауте.

0  
339 exersizze   (05.09.2015 18:07)
Ножки аппаратного uart заняты, но если перебросить их функцию на другие ноги, то можно.

338 Alexey22   (04.09.2015 11:13)
Можно ли к регулятору "прицепит" GSM модуль для передачи данных для температуры и влажности. Мне это необходимо, потому что зимовник находится в деревне, а я живу в городе.

1-30 31-60 61-90 ... 331-360 361-367
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order
авторизация
Логин:
Пароль:
Комментарии
Минитерминал V.3.0
18.01.2017 - exersizze:
Отлично!) вопрос такой к собравшим, как точно тачскрин отрабатывает  нажатия? На...
Минитерминал V.3.0
17.01.2017 - maksut11:
Проблема решена, не пропай 2х контактов разьема на экран. Экран работает, и это ...
Минитерминал V.3.0
17.01.2017 - exersizze:
Тогда проверять внимательно все соединения, должно было заработать сразу, больше...
Минитерминал V.3.0
17.01.2017 - maksut11:
Запустил , Бибика не подключена, осцилограмма показывает что бикает. Прошил снов...
Минитерминал V.3.0
17.01.2017 - exersizze:
Прошивается только флэш. Попробуйте прошить вот этим, должен раз в секунду мигат...
Сетевой диммер 220V на микроконтроллере
17.01.2017 - exersizze:
Конденсатор не имеет большого значения, скорее всего неправильная частота работы...
Сетевой диммер 220V на микроконтроллере
16.01.2017 - Prorokzv:
Подскажите пожалуйста конденсатор С1 у вас на 0,05 мкФ, я ничего не перепутал? П...
Минитерминал V.3.0
16.01.2017 - maksut11:
Доброго времени суток.
Подскажите как можно определить жив ли прибор. Мож...
Работа с дисплеями от Nokia3310 в Bascom-AVR (продолжение)
15.01.2017 - exersizze:
Если кратко, то меняем все на что ругается компилятор.
Вот к примеру я ме...


Лучшие цены на 3D принтеры


Prusa i3

Prusa i3 от 12000 р.



Rostoсk

Rostock от 15000 р.