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

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

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

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

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

 

 

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

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

 


     

 

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

 

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

 

 

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

 

 

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

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

 

 

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

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




 
 
 

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

Прошивка (обновление от 25.05.12г)

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

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

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

 

Категория: Проекты | Добавлено: 05.05.2012
Просмотров: 54697 | Комментарии: 355 | Теги: измерения, atmega8, DHT11, датчик влажности | Рейтинг: 5.0/16
Всего комментариев: 3551 2 3 ... 11 12 »
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 модуль для передачи данных для температуры и влажности. Мне это необходимо, потому что зимовник находится в деревне, а я живу в городе.

337 BoroVikt   (11.06.2015 19:48)
Жду ,буду проверять.

336 sany2   (11.06.2015 18:13)
BoroVikt, пишите на электронку или в личку-в воскресенье буду дома,мне не на чем проверять-вам проверять у себя придётся

335 max   (11.06.2015 10:01)
Этот сайт не по АСМу, а по Баском-АВР. Так что вы здесь ни чего не найдете.

334 VoV   (10.06.2015 18:22)
Добрый день. Извиняюсь за свою безграмотность в ASM. Вопрос, может быть, к ведущим этой конструкции. Нужен листинг программы на ассемблере для курсовой работы этой конструкции. Если у кого-нибудь есть возможность - закиньте, пожалуйста.

333 BoroVikt   (03.06.2015 20:44)
Большое спасибо жду с нетерпением!

332 sany2   (03.06.2015 20:39)
Только на следующей неделе,я сейчас не дома

331 BoroVikt   (03.06.2015 20:27)
Сделайте пожалуйста если есть возможность,время не обязательно минута в минуту и секунда в секунду это приблизительно.А если будет охота то с возможностью изменения времени импульса и паузы

330 sany2   (03.06.2015 20:16)
Здесь нет часов.Если только на таймере делать.Timer1 занят,остаётся Timer0

329 BoroVikt   (03.06.2015 13:34)
Просьба к автору дописать прогу для поворота яиц в инкубаторе,задействуйте пожалуйста свободный выход мк ,вывод 1 на 30секунд каждого часа .
датчик dht11

328 roman_1986   (27.02.2015 10:41)
Добрый всем день... а кто нибудь работал с AM2301 (DHT21)??? Собрал схему с данным датчиком... Прописал программу под DHT22.... Вроде работает но со сбоями!!!! пару раз показывает нормальную температуру (Нормальная примерно 20), потом сразу прыгает на 29.4 градуса и снова 20 градусов... сделал индикацию под 7 сигментник...
Код считывания датчика, взял с отзывов... ктото писал:
http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/SHT11_DHT22/DHT22Test_101.bas

Если я правильно понял, то в переменных "Temperature" и "Humidity" записываются данные с датчика... в виде старшие 2х байт: первые 8 бит это целые, младшие 8 бит это десятичные???

сейчас доделаю программку и скину всю целиком вместе с получаемыми данными...

327 mrNemo   (31.01.2015 12:44)
sany2, да, идентичный. Очень жаль. Большое спасибо за ответ.

326 sany2   (31.01.2015 00:00)
mrNemo-вы имеете ввиду купили описанный здесь прибор?Или какой то доугой?Если описанный здесь-он не обладает таким функционалом без правки программы(отключить тен при 20 , а при 27 включить вентиляцию).

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






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

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

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order
авторизация
Логин:
Пароль:
Комментарии
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
08.12.2016 - exersizze:
yorx выдалось немного свободного времени, проверил в симуляторе. Проблема...
Логгер температуры 2.0
05.12.2016 - Evgeny6873:
Хотел повторить схему и долго ждал дисплей, два раза заказывал с Китая, пришел. ...
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
01.12.2016 - yorx:
Доброго времени суток, exersizze попробовал Ваш код все равно не работает как на...
Помни об усадке!
30.11.2016 - pchela5:
Автомобильные никакие не лезут?
Помни об усадке!
29.11.2016 - AlekS:
Виктор, спасибо.
С заменой транса в зиму, перестройка не комельфо) Валяет...
Управляем микроконтроллером с ПК по UART
29.11.2016 - exersizze:
Михаил, для работы с инфракрасными датчиками и диодами есть команды RC5SE...
Управляем микроконтроллером с ПК по UART
29.11.2016 - Михаил:
Всем привет.
Подскажите как переменную S передать по инфракрасному каналу...
Помни об усадке!
29.11.2016 - pchela5:
> Если ленту светодиодную порезать и соединить последовательно
Только ...
Когда не хватает ног. Часть 2. Сдвиговый регистр 74HC595
29.11.2016 - exersizze:
yorx, вывод Q7 ' первой микросхемы соединен с DS второй микросхемы? С...


Лучшие цены на 3D принтеры
успей сделать себе подарок к Новому Году! ;)


Prusa i3

Prusa i3 от 12500 р.



Rostoсk

Rostock от 15000 р.