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





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

 R785211844650
 Z210696637574
 E368177590409

или
пополни нашу копилку



Многоканальный суточный таймер Печать E-mail
Рейтинг: / 27
ХудшаяЛучшая 
Автор 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). Программа разработана таким образом, что обеспечивает нормальное функционирование со значением фьюзов "по умолчанию", т.е. со значениями, которые микроконтроллер имеет сразу после изготовления на заводе. Если ваш МК уже побывал в передрягах, вы можете установить его фьюзы в исходное состояние, воспользовавшись документацией.

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

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

 


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

  Коментарии (19)
 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? но на нем просто ничего нет. Подскажите может кому попадала такая засада.

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

 
« Пред.   След. »
Полезные материалы по сходным темам