Этой зимой нам пришлось надолго уехать из дому. Но как быть? Ведь могут же и обворовать. Квартира месяц без хозяев стоит! Именно в целях сохранности этой самой квартиры и её содержимого я собрал данное устройство.
Это устройство представляет собой хитрый таймер, который управляет четырьмя нагрузками. Хитрость этого таймера заключается в том, что каждый день он сам решает в какое время зажжется свет и в когда потухнет (псевдослучайные числа). Происходит это в 3 часа ночи. А промежутки, в которые свет может включиться и выключится, установлены таким образом, чтобы имитировать присутствие людей в квартире. (Включение с 17:00 до 19:00, выключение с 23:00 до 1:00, эти промежутки адаптированы "под зиму", и легко меняются, так как они записаны в EEPROM). Также, устройство управляет освещением двух аквариумов, которое включает и выключает в фиксированное в памяти время.
Ниже на рисунке представлена схема этого таймера.
Выполнено устройство на микроконтроллере фирмы Microchip, а именно PIC16F877. Выбор обусловлен только тем, что в то время он был под рукой. Вообще могу похвастать, что данное устройство я разработал, собрал и протестировал за 14 часов. Однако, не стоит беспокоится насчет качества проверки. Позднее оно проработало автономно 10 дней (до появления первого человека в квартире), и вполне справилось со своей задачей: рыбы живы, имущество цело.
Это был небольшой отступ в историю, продолжим. Время для нашего таймера тикает в RTC фирмы Dallas DS1302 (выбрана по тем же причинам, что и контроллер). Далее, для установки времени, ЖК-индикатор HY1602H - можно любой другой на 16 символов в две строки. RV1 регулирует его контрастность.
Питается устройство от сети через небольшой трансформатор. Напряжение на его вторичной обмотке не должно превышать 24-27 В. Соответственно конденсаторы фильтров рекомендую ставить на 35 В и более. Устройству необходимы два напряжения-12 и 5 вольт. 12 для включения реле, 5, соответственно, для контроллера и всей периферии.
Через разъем JP2 подключается панель управления устройством - просто четыре кнопки :. Антидребезга контактов устройство пока не имеет, но это только первая версия прошивки. Для его устранения можно поставить конденсаторы параллельно кнопкам.
Реле я поставил достаточно мощные (5Ах250В=1250 Вт), на всякий случай - устройство ведь не под присмотром работает!
Печатную плату я не разрабатывал - времени мало было, за 2 часа до отъезда закончил (а ехать в 6 часов утра решили:). В общем все на монтажке сделал.
Теперь о несколько непонятных знаках на ЖКИ:
В верхнем левом углу мы можем увидеть текущее врем. В режим установки времени устройство переходит по нажатии на кнопку OK. Далее выбираем нужное значение часов кнопками "+" и "-" , нажимаем ОК, выбираем значение минут, опять нажимаем ОК. Время сохраняется.
В верхнем правом углу находится время изменения состояния реле аквариумов. Соответственно O означает, что в указанное время аквариум выключится, I - включится. Например, надпись "O=23:00" значит, что аквариум выключится в 23 часа.
В нижней строке расположена такая же информация о состоянии первого и второго каналов со случайным выбором времени включения, или просто каналов для лампочек. Это самое время включения или выключения можно обновить (сгенерировать) еще раз, нажав на кнопку RET.
Также в памяти EEPROM контроллера содержатся пределы включения/выключения света, и время включения и выключения аквариумов. В таблице ниже можно посмотреть адреса и значения по умолчанию всех перечисленных пределов.
Как вы заметили, значения времени надо записывать в виде HEX но так как они пишутся в десятичной системе. Это связанно с устройством DS1302.
Дальше выкладываю несколько фотографий таймера.
Все устройство. Еще раз повторю - собирал очень быстро.
Основная плата. Два белых реле закорочены между собой, потому всего реле четыре.
ЖКИ.
Файлы:
Проект для Proteus.
Прошивка МК с исходником.
Вопросы, как обычно, складываем тут.