Таймер присутствия на PIC16F628A

Фото таймера

Случилось так, что в связи с болезнью пришлось оставить домик в поселке без присмотра. Нужен таймер, который в течении 2-3 недель (а получилось 2,5 месяца) создавал эффект присутствия в доме, не взирая на нестабильное напряжение и частое отключение сети. Из продающихся за разумную цену ничего не подошло. Интернет и радиотехническая литература тоже не удовлетворила меня полностью. Пришлось творить самому. За пару вечеров собрал простенький таймер с часами, который по вечерам с 18-00 до 21-00 включал свет. В случае отключения напряжения часы не сбивались: индикатор отключался, а микроконтроллер продолжал работать от аккумуляторов, которые потом заряжались малым током. Время такое выбрал потому что был январь месяц. В конце февраля перевел часы на полтора часа назад. Теперь хотя на таймерных часах было 18-00 и включалась лампа, реально было 19-30 вечера. К концу марта необходимость в таймере отпала, но думаю он мне еще пригодится на период отпуска. Возможно дойдут руки до усовершенствования, ну а пока делюсь тем, что есть.

Принципиальная схема таймера присутствия

Схема простая, подобна тем часам, которые я выкладывал на этом сайте. Там же и блок питания с резервными аккумуляторами. Добавлен только узел включения лампы. Сначала я его сделал на симисторе ВТВ-16. Но экономка вспыхивала при включении в сеть (иногда). Чем бороться с переходными процессами, поставил реле, думаю для лампы-экономки это безопаснее. К плате я не подводил 220 вольт, поэтому симистор (а впоследствии – реле) с транзистором и диодом закрепил отдельно.

Печатная плата

Также в корпусе установил и патрон под лампу. Для охлаждения в боковых и задней стенке корпуса просверлил по 8 отверстий d=5мм: по 4 в нижней части и по 4 в верхней. Но нагрев не ощущается.

Часы выставляются двумя кнопками: часов и минут. Программа написана на Ассемблере. Программа проверяет соответствие часов установленным (запрограммированным) значениям. Сейчас в программе установлены 18, 19 и 20 часов. Но при программировании можно изменить время работы таймера. На примере IC Prog (в других программах — аналогично) нужно найти по адресу 0013h значение 3012, по адресу 0017h значение 3013, по адресу 0021h значение 3014. Первые две цифры значений (30) — это код команды, а вторые две — это значение часов в шестнадцатеричном коде: 12 соответствует десятичному числу 18, 13 -19 и т.д. Для изменения нужно дважды кликнуть левой кнопкой по значению того адреса, который хотите изменить. Откроется окно редактирования, в котором значение 3012 меняете на другое, например 3005. Теперь таймер будет включен утром с 5-00 до 6-00 и вечером с 19-00 до 21-00. Так-же можно установить любое другое время.

ust_550x413.jpg

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК PIC 8-бит PIC16F628A 1
VR1 DC/DC импульсный конвертер LM2575 1
VT1-VT4 Биполярный транзистор КТ3102 4
VT5 Биполярный транзистор КТ315А 1
VD1-VD3 Диод Шоттки 1N5819 3
VD4 Выпрямительный диод 1N4004 1
VS1 Диодный мост DB157 1
C1, C2 Конденсатор 20 пФ 2
С3, С6 Конденсатор 0.1 мкФ 2
С4 Электролитический конденсатор 330мкФ 25В 1
С5 Электролитический конденсатор 100мкФ 25В 1
R1, R3, R6, R7, R11, R12 Резистор 300 Ом 6
R2, R4 Резистор 10 кОм 2
R5 Резистор 360 Ом 1
R8-R10, R13 Резистор 1.5 кОм 4
R14 Резистор 100 Ом 1
R15 Резистор 6.2 кОм 1
R16 Резистор 2 кОм 1
R17 Резистор 1 кОм 1
F1 Предохранитель 100 мА 1
L1 Катушка индуктивности 330 мкГн 1
Z1 Кварц 4 МГц 1
Bat1 Элемент питания 4.8 В 1
Tr1 Трансформатор 220/9В 1
S1,S2 Кнопка Без фиксации 2
К1 Реле HF33F 5V 250V 5A 1
Семисегментный индикатор FYQ-3641A 1 Общий катод U=2В, I=10мА