14.10.2024 г.
Главная
Проекты
Статьи
Начинающим
Архив новостей
Ссылки
Контакты
Поиск
Файлы
Форум
Карта сайта
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
Поддержи наш сайт!
Через WebMoney

 R785211844650
 Z210696637574
 E368177590409

Многоканальный суточный таймер Печать E-mail
Рейтинг: / 86
ХудшаяЛучшая 
Автор ARV   
27.10.2009 г.

Иной раз возникает необходимость управлять несколькими нагрузками по определенному графику. Например, это может быть управление освещением (имитация присутствия), полив растений по графику, автоматизация технологических процессов и т.п.

Для реализации этой цели предлагается несложная схема на распространенном микроконтроллере, реализующая следующие функции:

  • часы
  • управление до 5-ю независмыми каналами нагрузки
  • до 9 моментов включения и отключения для каждого канала
  • дискретность установки времени для события - 1 минута
  • бонус: термометр.

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

 

Принципиальная схема устройства приведена на рисунке. Как видите, это не полная схема, а только "основная" ее часть - блок питания и выходные усилители для коммутации нагрузок, надеюсь, вы сумеете добавить самостоятельно.

Основа схемы - микроконтроллер atmega8 U1, который выполняет все функции, кроме подсчета времени. Время считает микросхема часов реального времени U2 типа DS1307. Кварцевый резонатор для микроконтроллера не требуется, а вот для часов - необходим, частота его должна быть "часовой", т.е. 32,768 кГц. U2 питается от отдельной литиевой трехвольтной батаерйки, что позволяет сохранять точность хода часов при отключении питания основной схемы.

Микросхема U2 соединяется с микроконтроллером по интерфейсу I2C, на линиях которого должны быть "подтягивающие" резисторы R2 и R3 по 4,7...5,1К. Резистор R4 того же номинала поддерживает уровень сигнала на выходе "генератора" U2 - этот генератор выдает меандр с частотой 1 Гц, который используется микроконтроллером для обновления показаний на дисплее.

Жидкокристаллический дисплей может быть любым HD44780-совместимым, главное, чтобы у него было 2 строки по 16 символов. Важно соблюсти правильность подключения дисплея, так как номера выводов (распиновка) для одних и тех же сигналов у разных типов индикаторов могут отличаться. Правильная распиновка обычно приведена в документации на дисплей.

Резистор RV1 служит для регулировки контрастности изображения на дисплее.

В качестве бонусной функции в устройстве имеется термометр на основе датчика DS18B20 - микросхема U4 (не удивляйтесь ее схемному изображению - схема создавалась в протеусе). Резистор R1 так же имеет сопротивление 4,7...5,1К. Если термометр не требуется - резистор и датчик можно исключить из схемы, на остальном функционале это никак не отразится.

4 кнопки используются для управления функциями устройства, реализуя систему меню.

Основной вид
Основной вид дисплея

В обычном режиме на дисплее отображается в верхней строке температура и текущее время (см. рисунок выше), а в нижней строке всегда выводится подсказка о том, какую функцию выполняют в данный момент кнопки. Как видно по схеме, кнопки обозначены символами стрелок, звездочки и решетки. Эти же символы используются в подсказках. На рисунке вы видите, что в основном режиме только кнопка "звездочка" выполняет функцию входа в меню, остальные не используются.

Под часами в обычном режиме показывается состояние каналов управления: минусом обозначается выключенный канал, а если канал включен - то на месте соответствующего минуса выводится его номер, как, например, показано на следующем рисунке:

Включен канал 1
Вид при включенном канале 1

Если датчик температуры не используется, то вместо значения температуры будут выведены знаки вопроса. Индикация температуры может быть отключена (об этом далее), и тогда внешний вид дисплея в основном режиме будет таким:

Вид без термометра
Вид дисплея с выключенным термометром

Нажатие кнопки "звездочка" в основном режиме приведет к включению "меню". Первым пунктом меню будет настройка времени:

Меню - Время
Вид дисплея в режиме МЕНЮ - Время

Как видите, в верхней строке выводится наименование пункта меню, а в нижней - подсказка о том, что кнопка "звездочка" приведет к выбору этого пункта, "решетка" обеспечивает выход из меню, а кнопки-стрелки осуществляют передвижение по пунктам меню. Похожее назначение кнопок принято и в других режимах.

По мере продвижения по меню вы увидите 5 пунктов настройки каналов (на рисунках показаны пункты для каналов 1 и 2):

Меню - канал 1
Вид дисплея в режиме МЕНЮ - Канал №1
Меню - канал 2
Вид дисплея в режиме МЕНЮ - Канал 2

Затем следует пункт включения и выключения термометра:

Меню - термометр
Вид дисплея в режиме МЕНЮ - Термометр включен
Термометр выключен
Вид дисплея в режиме МЕНЮ - Термометр выключен

Завершает меню пункт сброса настроек всех каналов:

Меню - сброс
Вид дисплея в режиме МЕНЮ - Сброс

Этот пункт выполняется после нажатия кнопки "звездочка" не сразу, а после подтверждения:

Подтверждение сброса
Вид дисплея при запросе подтверждения

Вернемся к пункту настройки канала. Нажав кнопку "звездочка" мы увидим на дисплее следующее:

Настройка канала
Вид дисплея в режиме настройки канала

 

С1 обозначает Chanel 1, то есть канал №1. Затем следует номер события (как вы помните, их может быть 9), а после стрелочки - два времени (часы и минуты): первое время обозначает момент включения канала, второе - выключения. Перемещать курсор (мигающий квадратик) можно кнопками-стрелками, а изменять значение цифры - кнопкой "звездочка".

При вводе моментов включения и выключения следует помнить о том, что момент включения всегда должен предшествовать моменту выключения, и разница между ними должна быть минимум в 1 минуту. Если это условие не соблюдено - введенные значения игнорируются.

Таким образом вы можете задать до 9 интервалов включенного состояния каждого канала в течение суток. В момент нажатия кнопки "решетка" произойдет запоминание введенных значений и с этого момента таймер начнет отрабатывать состояние каналов, как задано.

Если не нажимать кнопки некоторое время (около 5 секунд), произойдет выход из меню без сохранения сделанных изменений.

Несколько слов о  наболевшем, то есть о фьюзах (fuses). Программа разработана таким образом, что обеспечивает нормальное функционирование со значением фьюзов "по умолчанию", т.е. со значениями, которые микроконтроллер имеет сразу после изготовления на заводе. Если ваш МК уже побывал в передрягах, вы можете установить его фьюзы в исходное состояние, воспользовавшись документацией.

Прошивку, как обычно, можно скачать в файловом архиве.

Обсудить материал на форуме. (425 сообщений)

 


Добавить в любимые (12) | Просмотров: 117852

  Коментарии (57)
 1 Написал(а) Igor, в 21:51 27.10.2009
использование DS1307 нерадостно только, а так проект вполне полезен в быту. :grin
 2 Написал(а) ИРБИС, в 19:03 30.10.2009
Эх, не видали вы знаменитого аппарата КЭП-12У...
 3 Написал(а) Nick, в 22:43 03.11.2009
А можно на исходник посмотреть? 
Хочется повторить.
 4 Написал(а) Igor, в 18:09 29.11.2009
Повторил конструкцию, работает нормально, зря тут некоторые DS1307 недолюбливают. Одно пожелание нельзя ли к одному каналу привязать DS18D20 (вкл.- откл. нагр. при достижении определенной температуры) было бы вообще хорошо, автору спасибо.
 5 Написал(а) Денис, в 17:37 17.01.2010
Прекрасная схема. Автору спасибо !!!! 
 
На ветку форума бросил немного мною доработанную схему + печатку. Все в архиве.
 6 Написал(а) Александр II, в 01:15 23.01.2010
А нельзя ли добавить функцию циклического таймера хотя бы для одного, а в идеале для каждого канала. Т.е возможность циклического включения устройства на опреленное время и выключения на другой установленный промежуток. А то 9 моментов включения/выключения может оказаться мало. Или увеличить число моментов включения ?
 7 Написал(а) Павел, в 21:13 11.02.2010
Отличная разработка!!!!!! 
Жаль что недостаточно функций (в моем случае, думаю что найдется ещe много таких же как я). Мне приходится с подобным устройством использовать и ТЕРМОСТАТ с дискретностью 0,1 градус и настраиваемым гистерезисом. 
ОГРОМНАЯ ПРОСЬБА К АВТОРУ - ДОБАВЬТЕ ПЛИЗ AERWB. ТЕРМОСТАТА!
 8 Написал(а) Владимир, в 21:52 23.02.2010
Идея понравилась, собрал на макетке. В момент включения на несколько секунд на дисплее появляется надпись, потом все пропадает - чистый дисплей. Кто-нибудь сталкивался с таким?
 9 Написал(а) valeri, в 22:03 09.03.2010
Владимир, в 21:52 23.02.2010  
Идея понравилась, собрал на макетке. В момент включения на несколько секунд на дисплее появляется надпись, потом все пропадает – чистый дисплей. Кто-нибудь сталкивался с таким? 
 
Сталкивался! Не работает DS1307 и (или) что с ней связано (кварц, подтягивающие резисторы, дорожки платы .....)
 10 Написал(а) Сергей, в 21:43 23.06.2010
Добавте пожалуйста и еще управление температурой. Ооочень нужно, а сам я только только начал заниматся МК и ничего сложного сам сделать не могу. А так просто супер :)
 11 Написал(а) Александр, в 20:15 24.06.2010
А для совсем начинающих существует возможность приобрести уже готовую, рабочую плату за реальные деньги. 
Хотелось бы изучать на действующей модели... :)
 12 Написал(а) Андрей, в 20:17 15.07.2010
Автор,напишите номиналы сопротивляторов,нигде не нашёл.Собираюсь повторить. :cry
 13 Написал(а) ARV, в 20:02 16.07.2010
читайте статью внимательно, сопротивления резисторов указаны в статье.
 14 Написал(а) олег, в 08:52 26.09.2010
Дайте ссылку на разводку печатки. Спасибо.
 15 Написал(а) Кирилл Игоревич, в 16:09 23.12.2010
У меня вопрос ко всем кто может помочь и к автору в том числе. Собрал таймер. Использовал атмега8 в корпусе tqfp (планарный 32 вывода) поскольку с 28 выводными дип атмегами у нас проблемы (не купить)часы применил не DS1307 а аналог m41t56. Включил все запустилось. Но на дисплее часы не идут... если контроллеру сделать сброс подав низкий уровень на ногу reset то время обновляется. Помогите разобраться. Что нужно сделать чтоб все заработало с этим контроллером и часами. Других деталей просто нет.......
 16 Написал(а) олег, в 14:28 14.01.2011
я тоже поначалу мучался 
не идут часы и все 
потм просто взял другой аккамулятор для часов 
тут пишут 3.5 вольта вроде 
а часы начинают ходить нормально при 2.5 
сделал уже с десяток таких таймеров 
все ок
 17 Написал(а) Юрий, в 21:21 19.09.2011
отличный вариант для полива и проветривания в теплице.
 18 Написал(а) Николай, в 06:00 04.02.2012
Коллеги подскажите, собрал устройство прошил включаю на индикаторе черные квадраты и ничего больше, контрастность кручу квадраты светлеют и все. При включении на выводе RS появляется напряжение 5В на секунду и все пропадает, правда индикатор SED1278 от факса есть второй индикатор POWERTIP PC1602-H? но на нем просто ничего нет. Подскажите может кому попадала такая засада.
 19 Написал(а) Николай, в 06:02 04.02.2012
Коллеги подскажите, собрал устройство прошил включаю на индикаторе черные квадраты и ничего больше, контрастность кручу квадраты светлеют и все. При включении на выводе RS появляется напряжение 5В на секунду и все пропадает, правда индикатор SED1278 от факса есть второй индикатор POWERTIP PC1602-H? но на нем просто ничего нет. Подскажите может кому попадала такая засада.
 20 Написал(а) Евгений, в 22:22 01.04.2012
Собрал, установил дисплей WINSTAR WH1602B и.....никакой реакции..ничего не работает:(
 21 Написал(а) Евгений, в 10:23 02.04.2012
Еще вопрос такого плана, надо ли прошивать EEPROM? если да то для него нет прошивки!
 22 Написал(а) ARV, в 11:26 02.04.2012
на выходе 7 DS1307 есть импульсы? если нет - разбирайтесь, почему часы стоят. пока они стоят - работать не будет ничего. 
затем фьюзы - верно прошиты? 
затем - распиновка ЖКИ правильно применена? на схеме нумерация сигналов ЖКИ условная - я предупреждал. 
EEPROM прошивать не надо, само прошьется, когда потребуется.
 23 Написал(а) Евгений, в 08:26 03.04.2012
Все заработало! проблема была с контрастом на дисплее:) Все супер!!!
 24 Написал(а) Виталий, в 09:52 09.11.2012
Vse govno
 25 Написал(а) Alex, в 12:41 17.03.2013
C индикатором DV16236 не работает, на индикаторе полоска из темных квадратиков
 26 Написал(а) Alex, в 13:20 17.03.2013
Импульсы с DS1307 есть, на шине данных индикатора тоже есть импульсы.
 27 Написал(а) ARV, в 17:12 17.03.2013
темная полоска из квадратиков в первой строке индикатора говорит о том, что индикатор не стартовал, а это может быть только в том случае, если вы его неверно подключили. уточните распиновку и сделайте правильно.
 28 Написал(а) Alex, в 18:19 17.03.2013
Благодарю Вас за оперативный ответ! Очень прошу Вас помочь разобраться. 
Информацию по цоколевке индикатора взял с сайта изготовителя DataVision, проверил несколько раз подключение - вроде всё верно.  
Микроконтроллер применен в корпусе TQFP,подключал его в соответствии с даташитом на атмегу 8 с сайта изготовителя.  
Какой то тупик. Что может быть перепутано? может что то изготовитель индикатора напутал?  
У Вас нет какой-нибудь программки чтоб залить её в атмегу и протестировать подключение индикатора?
 29 Написал(а) ARV, в 18:43 17.03.2013
распиновка меги8 в TQFP не совпадает с DIP, это надо уточнить в первую очередь - названия портов остаются, а номера ножек другие. 
во-вторую очередь надо уточнить распиновку индикатора, опять-таки: наименования сигналов остаются, а номера выводов могут быть другими. надо обеспечить правильное [b]ПОИМЕННОЕ[/b] соединение, а не пономерное.
 30 Написал(а) Alex, в 19:07 17.03.2013
pd0 меги соединил с DB4 индикатора 
pd1 меги соединил с DB5 индикатора 
pd2 меги соединил с DB6 индикатора 
pd3 меги соединил с DB7 индикатора 
pd4 меги соединил с RS индикатора 
pd5 меги соединил с RW индикатора 
pd6 меги соединил с EN индикатора 
Вроде бы всё верно?
 31 Написал(а) ARV, в 19:18 17.03.2013
чудес не бывает: если бы все было верно, все бы работало. может у вас фьюзы не настроены на тактовую частоту 8 МГц?
 32 Написал(а) Alex, в 20:33 17.03.2013
фьюзы на внутр 1мгц дефалт стоят. У вас вроде нигде не указано про 8МГц, написано, что фьюзы заводские... щас попробую 8МГц.
 33 Написал(а) Alex, в 21:04 17.03.2013
Попробовал 8МГц, всё по прежнему, но я с Вами согласен, что наверняка где-то ошибка. 
Посмотрите пожалуйста, вот ссылка скриншот того, как у меня выставлены фьюзы в AtmelStudio http://ge.tt/7qY3wMb/v/0?c  
или  
http://dfiles.ru/files/40wa79l0b
 34 Написал(а) Alex, в 19:29 21.03.2013
Можете исходник кинуть по почте?
 35 Написал(а) Антон, в 19:07 04.04.2013
Спасибо за проект. Работает отлично. Есть неприятная мелочь - не хватает коррекции времени. Возможно добавить коррекцию времени?
 36 Написал(а) ARV, в 20:01 04.04.2013
какую коррекцию? в меню есть режим установки часов - что еще нужно?
 37 Написал(а) Антон, в 21:32 04.04.2013
извиняюсь суточную коррекцию времени.
 38 Написал(а) Alex, в 20:26 10.04.2013
Всё заработало!!! после замены МС микроконтроллера.
 39 Написал(а) franko, в 10:42 23.12.2013
А нет ли у Вас разводки платы в Лайоте?
 40 Написал(а) Анатолий, в 21:18 17.12.2014
Уважаемый AVR я хотел бы с Вашей помощью усовершенствовать данный девайс для автоматизированного полива дачного участка, а именно: 
1. Увеличить количество каналов до 10 (5 таймеров, временных интервалов, в каждом) Почему 10? 6 каналов полива * 4 на датчики (1-датчик уровня воды в накопительном баке, 4- датчика влажности почвы "сухо =лог.0, "влажно" =лог.1  
2.Применить в нем MK ATmega 328 целью подключения к нему графического дисплея 128x64 с контроллером ST7920. 
Подозреваю, что внутренней памяти у ATmega 8 не хватит, поэтому предлагается ATM ATmega 328 (вывод символов в графическом режиме, увеличенный по размеру шрифт из за "хорошо" видящих). 
3. За мной ТЗ, эл. схема, алгоритм работы устройства и меню, и необходимые файля для работы индикатора, тип я дам дополнительно. За Вами написание прошивки в исходном коде. 
Если есть возможность и желание с Вашей стороны начну новую тему на РадиоКоте. Право на авторство Ваше. 
Жду ответа от Вас. 
P.S. Я с Вами в одном городе.
 41 Написал(а) ARV, в 21:05 18.12.2014
Пишите на admin гавгав simple-devices.ru
 42 Написал(а) Евгений, в 10:02 26.06.2015
Добрый день. 
Разработал плату таймера со всеми рекомендациями производителей Atmel и Dallas. На большинстве собранных плат все работает без проблем. Но на некоторых сборках замечаю зависание таймера. Проявляется это зависанием часов и как следствие зависанием всего устройства. Причем зависает только отображение на дисплее. После отключения и включения питания все восстанавливается, показывает корректное текущее время. Получается часы идут но в фоновом режиме. Получается их не опрашивает их Atmega или DS13007 не выдает импульсы на выхода (не знаю может такое быть или нет)? С чем это может быть связано? 
Блок питания хороший, на питание не грешу. У меня 3 варианта (комплектующие заказывались в Китае): 
- дисплей 1602 (если бы он завис, то все равно таймер бы работал без отображения информации на дисплее. Верно?); 
- Atmega8A (может перестает опрашивать часы?) 
- DS1307 (часы идет в фоне, без выдачи импульсов, такое может быть?). 
Посоветуйте, что можно сделать…..  
Заранее благодарен за ответ!
 43 Написал(а) Сергей, в 18:44 23.07.2015
Да я тоже заметил зависание данного устройства . Посоветуйте как исправить схема очень нравится
 44 Написал(а) manoj, в 16:23 02.01.2016
Hello Sir, Happy Newe year... Can I get the Source code for the Multi Channel Timer?  
 
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script  
 
Thank yooui
 45 Написал(а) ARV, в 21:26 02.01.2016
I'm sorry, but the source is lost.
 46 Написал(а) manoj, в 21:30 02.01.2016
Hello Sir, Can you add a LCD back light timer for 30 second in any one of the pin of Atmega8?
 47 Написал(а) manoj, в 21:31 02.01.2016
Thank you for the replay, dear ARV... Have a nice day
 48 Написал(а) manoj, в 00:56 04.01.2016
Hello Eugene 
 
I face the same problem in my circuit. I just connect a coupling capaciter (104 PF cramic disc) to connect the Atmga8's Vcc and GND at maximum near by. So now I have recoverd from the problem....
 49 Написал(а) manoj, в 01:38 04.01.2016
Dear ARV 
 
Прошу прощения.  
 
Thak you
 50 Написал(а) manoj, в 21:59 06.01.2016
Dear ARV 
 
I like to buy the source code from you if you have. How much I pay for that? Really I can pay you. Please help me. Its an amazing project done by you. I never resale your code. Its my promiss.Code is only for my personal use. If you agree with me, Please contact with Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script as early as possible. Please, Please, Please.......... 
Your Manoj.
 51 Написал(а) ARV, в 12:37 07.01.2016
The only thing that I could help you - a newly developed program under the existing scheme. I broke HDD and I lost all sources of their projects - I can not give you sources of project! It took 6 years, no memories left - only the development "from scratch." 
My e-mail: arv#radioliga.com (# is @ - antispam)
 52 Написал(а) Victor, в 21:02 04.12.2016
Всем доброе время суток!!!!! 
Собрал и эксплуатирую данный таймер. Замечательная конструкция, респект и уважение автору. СПАСИБО за проект!!!! 
Есть небольшое пожелание - это ручное включение первого таймера, т.е кнопками можно вел и выключить в параллель таймеру. 
Виктор Тула
 53 Написал(а) ВАсилий, в 20:18 12.05.2017
Всем здравствуйте. Собрал проект. Все работает, только вот время убегает на 20 минут за ночь, т.е. примерно за 8 часов. Фьюзы выставлял заводские и на 1 Мгц, и на 8 Мгц, картина та же. Покупал даже новую мегу - результат тот же. Подскажите, заранее благодарен. шью AVRUSB? программа SinaProg
 54 Написал(а) ARV, в 23:01 12.05.2017
Точность хода полностью определяется точностью хода часов DS1307, а их точность зависит как от качества часового кварца, так и от качества печатной платы и соблюдения всех требований даташита н DS1307. Ни от фьюзов, ни от МК точность хода не зависит.
 55 Написал(а) ВАсилий, в 11:15 17.05.2017
Спасибо за совет. Вое ок
 56 Написал(а) manoj, в 20:25 17.08.2017
Hello Master.... 
I cant get the connection with vk.com... 
 
Mis you a lot.... 
 
have a nice day...
 57 Написал(а) Михаил, в 12:51 10.03.2018
:sigh Здравствуйте! 
Хочу собрать схему. Собрал пока в пртеусе. Работает нормально, понравилась. Давно такую схему искал. 
Просьба к автору, русифицировать прошивку. И упростиь настройку таймера, т е сделать на мтричной клавиатуре 4х3.

Только зарегистрированные пользователи могут оставлять коментарии.
Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.

 
« Пред.   След. »