Автор: Сергей КИРИЧИК
Только ленивый Радиолюбитель не собирал таймер, часы или термометр на микроконтроллере. У меня возникло желание разработать многофункциональное устройство, которое будет сочетать в себе вышеуказанные приборы с широкими функциональными возможностями и в то же время управлять любой нагрузкой.
Согласитесь, есть много производственных или бытовых процессов которыми нужно управлять автоматически, то есть периодически включать и выключать. С помощью данного устройства мы можем запрограммировать необходимое количество включения нагрузки. То есть указать когда включить нагрузку и в которой час ее можно выключить, задав расписание включения / выключения на сутки. Также устройство обладает цифровым термометром с функцией управления термостатом.
Рассмотрим подробно принципиальную схему, функции меню и возможности устройства.
Принципиальная схема
В основе схемы устройства находится микроконтроллер производства фирмы ATMEL семейства AVR — ATMega8 (IC4). Микроконтроллер работает с цифровым датчиком температуры IC2 DS18B20 и микросхемой реального времени IC3 DS1307. Данные выводятся на жидкокристаллический дисплей на шестнадцать знаков в две строки. Нагрузка коммутируется с бытовой сетью переменного напряжения 220 В через симисторы VS1-VS3 (BT139), которые связаны с микроконтроллером через гальваническую развязку собранную на оптосимисторах ОС1-ОС3, в данном случае это МОС3061.Таким образом микроконтроллер управляет тремя устройствами, через отдельные функциональные возможности о которых говорится ниже.
Питание схемы осуществлено по классической схеме выпрямителя на базе интегрального стабилизатора напряжения TL7805 (IC1).
Отображение данных и настройка
В нормальном положении (главном меню) отображаются следующие данные:
- текущее время (часы, минуты, секунды);
- текущая температура в градусах Цельсия;
- текущая дата (число, месяц, год);
- текущие режимы (Р — расписание; Ц — цикл; Т — термостат;).
Поочередным нажатием кнопки S5 (Режим / Настр.) выбираем необходимую функцию для на настройки часов, календаря, режимов включения нагрузки или коррекции работы часов. Подойдя к нужной функции и нажав клавишу S4 (Выбор) можем изменить данные клавишами S2 и S1 («+» и «-»). Принимаем изменения клавишей S4 (Выбор), отменить же изменение и вернуться в предыдущее меню возможно через S3 (Отмена / Пред.)
Режим «Расписание» (Р)
В режиме «Расписание», который отображается буквой «Р» (замечу, что меню отображается на украинском языке) можно задать суточное расписание включения и выключения нагрузки через симистор VS1. Здесь задаем время когда микроконтроллер включит нагрузку и время когда она будет выключена. Таких событий в расписании можно задать не более 15-ти. В этом же меню выбираем включить или выключить данную функцию.
При включенном режиме «Расписание» в главном меню отображается буква «Р».
Режим «Цикл» (Ц)
В режиме «Цикл» задается циклическое включение и выключение нагрузки на симисторе VS2. Здесь выбирается интервал времени в минутах в течении которого нагрузка будет включена и отдельно настраиваем сколько ей быть выключенной. Это будет повторяться до тех пор, пока не выключить данный режим.
При включенном режиме «Цикл» в главном меню отображается буква «Ц».
Режим «Термостат» (Т)
В режиме «Термостат» мы можем управлять электрическим нагревателем или охладителем через симистор VS3. Для этого выбираем пороговое значение температуры при котором включается нагреватель или охладитель. Если в настройке выбрать опцию «Нагреватель», то нагрузка включится при изменении температуры на 1ºС ниже заданного значения. При включенной опции «Охладитель» нагрузка включится при изменении температуры на 1ºС выше заданного значения.
При включенном режиме «Термостат» в главном меню отображается буква «Т».
Функция «Коррекция»
Известно, что точность подобных часов зависит от микросхемы реального времени DS1307 и специального кварцевого резонатора частотой 32.768 кГц и, как правило, трудно подобрать детали для абсолютно точных часов. Поэтому реализована функция «Коррекция», где можно задать компенсацию времени.
В настройке задаем сколько секунд добавить или отнять в сутки или в неделю.
Печатная плата и программа
При программировании микроконтроллера фьюзы выставляем так:
[hidepost]Скачать печатную плату
Скачать прошивку[/hidepost]
Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (4361) ORDER BY umeta_id ASC