Таймер присутствия на 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. Так-же можно установить любое другое время.


Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

МК PIC 8-битPIC16F628A1
VR1
DC/DC импульсный конвертерLM25751
VT1-VT4
Биполярный транзисторКТ31024
VT5
Биполярный транзисторКТ315А1
VD1-VD3
Диод Шоттки1N58193
VD4
Выпрямительный диод1N40041
VS1
Диодный мостDB1571
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 5A1

Семисегментный индикаторFYQ-3641A1
Общий катод U=2В, I=10мАДобавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.