Поводом написать программу для этого устройства послужило пожелание посетителей нашего сайта Радиодед. В статье «Кухонный таймер на микроконтроллере ATtiny13«, наши уважаемые посетители интересовались схемой таймера для включения бытовых приборов раз в сутки или на какое-то время с заданным интервалом.
«Да и полив цветов, на время когда в отпуске. раз в сутки нужно включать насос 20 Вт на 5-60 сек.»
rostt, 17:40 10 августа 2010 г.
Для этих целей был разработан универсальный таймер, его принципиальная схема:
Если раз в сутки включается на интервал от 5 до 60 сек, то получается замкнутый цикл по кругу? Включился на 5 сек, допустим, насос, потом пауза 24 часа, потом снова 5 сек, потом снова 24 часа. Получается нечто наподобие мультивибратора с большой скважностью, поэтому назовём это устройство «Таймер-мультивибратор»для полива растений.
Время паузы 24 часа (сутки) сделаем неизменным (как было высказано пожелание) хотя можем и его менять в меньшую или большую сторону, но поскольку это не требуется, значит оставим сутки. А интервал работы насоса будем программировать по своему усмотрению от 5 сек до 20 минут максимум (если набрать 255 раз). Хотя обычно на практике, как написано, требуется интервал 5-60 сек.
Порядок работы такой:
Включаем устройство, набираем нужный интервал N-ное количество 5 секундных выдержек. Допустим надо набрать 60 сек, значит надо нажать кнопку «SET» и удерживать её в нажатом состоянии и ждать, считая 12 раз ( 5 сек х 12 = 60 сек). Ровно столько раз таймер «пиликнет» баззером и одновременно мигнёт светодиодом HL2. После этого отпускаем кнопку, тут же таймер подтвердит набранное вами количество 5- ти минутных интервалов, как бы для проверки. Если ошиблись в наборе, можно перейти в исходное состояние, нажав кнопку «RESET».
Включаем устройство, набираем нужный интервал N-ное количество 5 секундных выдержек. Допустим надо набрать 60 сек, значит надо нажать кнопку «SET» и удерживать её в нажатом состоянии и ждать, считая 12 раз ( 5 сек х 12 = 60 сек). Ровно столько раз таймер «пиликнет» баззером и одновременно мигнёт светодиодом HL2. После этого отпускаем кнопку, тут же таймер подтвердит набранное вами количество 5- ти минутных интервалов, как бы для проверки. Если ошиблись в наборе, можно перейти в исходное состояние, нажав кнопку «RESET».
Если всё набрано верно, следом за озвучкой начинает мигать светодиод HL1, это означает, что теперь настал момент,когда можно занесли в энергонезависимую память микроконтроллера EEPROM набранный нами интервал времени работы поливочного насоса. Для этого следует замкнуть перемычку Jmp1 и оставить её в замкнутом положении.Светодиод HL1 продолжает мигать, далее для запуска нажимаем кнопку «SET» удерживаем её нажатой около секунды, отпускаем её и ВСЁ! Таймер ещё раз озвучит набранное количество 5 секундных интервалов, светодиод HL1 перейдёт в режим индикации непрерывного цикла, будет мигать 1 раз за секунду короткими импульсами (0.2 сек) со скважностью 5.
Начался непрерывный замкнутый цикл, сразу же включается реле К1 на время набранного нами интервала, после этого замыкаем перемычку джампера Jmp 2 и оставляем её в замкнутом положении. На этом процедура программирования устройства с выбранным нами, временным интервалом работы поливочного насоса закончена.
Если спустя время вы забыли какой интервал у вас запрограммирован в памяти микросхемы, достаточно нажать кнопку «RESET», после отпускания, таймер уведомит звуковой индикацией, сколько раз набрано 5-ти секундных интервалов. При этом сразу включится насос, этой операцией можно включать его вручную на выбранный интервал времени, не дожидаясь окончания суток, как бы вмешаться в ручном режиме в автоматически заданный цикл временных интервалов работы устройства. Информация будет озвучиваться каждый раз при включении устройства, в момент старта с исходного положения.
Теперь даже если кратковременно пропадёт питание в сети, на протяжении суток и появится снова, то устройство сохранит свои настройки и включится снова при появлении напряжения и продолжит работу по замкнутому циклу.
Если требуется изменить настройки, надо снять перемычки Jmp 1, Jmp 2 и повторить процедуру описанную выше.
Если требуется изменить настройки, надо снять перемычки Jmp 1, Jmp 2 и повторить процедуру описанную выше.
Есть ещё один способ, без процедуры установки интервалов вручную кнопкой, можно сразу же установить требуемые интервалы времени при программировании микроконтроллера занеся требуемые величины в энергонезависимую память.
Сделать это можно так:
Занести в память EEPROM по адресу 00 число в шестнадцатиричном виде (это множитель на сколько надо умножить 5 сек, чтобы получить желаемый интервал времени работы насоса). Допустим нам требуется интервал 30 секунд,(5х6=30). Значит надо занести число 6, в шестнадцатиричном виде это число равно 0x06, а в ячейку EEPROM по адресу 01 внести (множитель) для формирования времени паузы, на сколько надо умножить 1 час. У нас сутки равны числу 24 в десятичной форме, следовательно переведя в 16-тиричную форму, будет соответствовать числу 18. После того, как запрограммировали чип, устанавливаете перемычки JP1 и JP2. Теперь устройство запрограммировано и готово к работе.
Занести в память EEPROM по адресу 00 число в шестнадцатиричном виде (это множитель на сколько надо умножить 5 сек, чтобы получить желаемый интервал времени работы насоса). Допустим нам требуется интервал 30 секунд,(5х6=30). Значит надо занести число 6, в шестнадцатиричном виде это число равно 0x06, а в ячейку EEPROM по адресу 01 внести (множитель) для формирования времени паузы, на сколько надо умножить 1 час. У нас сутки равны числу 24 в десятичной форме, следовательно переведя в 16-тиричную форму, будет соответствовать числу 18. После того, как запрограммировали чип, устанавливаете перемычки JP1 и JP2. Теперь устройство запрограммировано и готово к работе.
Программирование микроконтроллера:
Тактовая частота выбрана 128/8 =16 кГц, как выставить фьюзы при программировании, показано на картинке. Так же прилагается вариант печатной платы, ( в формате Sprint Layot 5) любезно предоставленной участником форума, Юрием и рабочая прошивка (poliv.hex) для заливки в микроконтроллер.
Тактовая частота выбрана 128/8 =16 кГц, как выставить фьюзы при программировании, показано на картинке. Так же прилагается вариант печатной платы, ( в формате Sprint Layot 5) любезно предоставленной участником форума, Юрием и рабочая прошивка (poliv.hex) для заливки в микроконтроллер.
Так же прилагается модель в Протеусе, где имитируется работа устройства. Прошивка для Proteus отдельная, называется «TIMER_PROTEUS.hex» отличается от рабочей лишь временем паузы которое равно там около 5 сек (чтобы не дожидаться пока пройдут сутки), остальное выставляется как в реальном устройстве.
Можно «поиграться» сперва с виртуальной моделью, чтобы понять работу устройства. Все вопросы и обсуждения по работе устройства пишите на форуме.
Владимир Науменко, г.Калининград
Просмотров всего: 4 671, сегодня: 2