Многофункциональный циклический таймер

Таймер — устройство управления исполнительными устройствами, нагрузками по временным циклам. Это усовершенствованный и более многофункциональный финальный вариант, раннее опубликованной схемы: таймер обратного отсчета на МК ATmega8

Многофункциональность заключается в следующем: программно в одном устройстве реализовано четыре функции.
— mc86-1.png циклический таймер с возможностью работать в двух настроенных отрезках времени бесконечно.
— mc86-2.png функция таймера, работать в двух настроенных отрезках времени однократно.
mc86-3.png таймер обратного отсчета.
— mc86-4.png секундомер
mc86-9.png автозапуск настраивается из меню в двух вариантах:
1) вариант после подачи питания 5V на схему МК отсчет начинается сразу
2) вариант после подачи питания 5V на схему МК отсчет начнется только после нажатия кнопки ▲ пуск.

Данные выбранного режима одного из четырех (циклический таймер, таймер цикл однократно, таймер обратного отсчета, секундомер, состояние автозапуска) сохраняются в энергонезависимой памяти МК автоматически, и после очередной подачи питания 5V на схему МК восстанавливаются автоматически.

Запись временных отрезков таймера №1 и таймера №2   записываются в энергонезависимую память МК в активном состоянии таймера (см. описание меню) и при каждой новой подаче питания 5V на схему МК, записанные раннее значения восстанавливаются автоматически.

Характеристики таймера:
— циклический таймер два независимых настраиваемых диапазона времени таймер №1 от 1сек до 96 часов (четверо суток) и таймер №2  отрезок времени от 1 сек и до 99 минут.
— функция таймера, работать в двух настроенных отрезках времени однократно. Диапазоны, таймер №1  от 1сек до 96 часов и таймер №2  от 1 сек и до 99 минут. Графически:
— таймер обратного отсчета, с интервалом времени в диапазоне от 1 секунды до 96 часов.
— секундомер от 1 секунды до 24 часов, и далее в часовом режиме с 0 секунд.

Схема многофункционального циклического таймера:

Принципиальная схема многофункционального циклического таймера

Управление:
В режиме основного экрана, кнопками ▲▼◄►  оперативно производится такое управление:
▲ старт, пауза;
▼ сброс
► вход в меню 
◄ возврат
При одновременном нажатии кнопок ◄ ▲ происходит запись в энергонезависимую память МК временных данных отображаемых на экране.
При одновременном нажатии кнопок ◄ ▼ производится чтение и вывод на экран ЖКИ, временных данных находящихся в энергонезависимой памяти МК.

Система меню:
Управление всеми функциями осуществляется при помощи 4-х кнопок, условно обозначенных символами:
▲▼◄► Навигацию по меню можно просто осуществлять с помощью подсказок.
Подсказка – символ, ▲▼◄► который соответствует определенной кнопке.
Для перехода из основного режима к системе меню, следует нажать кнопку ► меню.
Меню полностью русифицировано и отображаемые подсказки в виде символов ▲▼◄► будут вашими подсказками в данной навигации.

Графически, навигация по меню выглядит так:

Навигация по меню

Если спустя время, вы забыли, какой интервал у вас запрограммирован в памяти МК, можно зайти в меню, пункт «установленное время», отображает записанные раннее временные значения.

А так же, если войти в любой пункт меню и не нажимать ни одну кнопку в течение 30 секунд, произойдет возврат в основной режим автоматически.
Вся информация активных состояний отображается на ЖКИ.

Описание режимов работы

mc86-1.png циклический таймер с возможностью работать в двух настроенных отрезках времени бесконечно.
В рабочем цикле принимают участие два таймера. На экране ЖКИ  таймеры обозначаются как т №1 и т №2
Визуально работу циклического таймера можно отобразить таким графиком.

График работы циклического таймера

Для работы циклов время задается с точностью до секунды;
диапазон отсчета: таймер №1 от 1сек до 96 часов и таймер №2 от 1 сек и до 99 минут.

После установки нужных интервалов времени, необходимо сохранить эти значения в память МК (в соответствующем таймеру меню, кнопкой ► сохранить, или в режиме основного экрана, одновременно кнопки ◄ ▲.

В основном режиме нажав кнопку старт, таймер №1 начнет отсчет.
При достижении значения 00:00.00, включается исполнительное устройство, и отсчет продолжает таймер №2  (в это время обнуленные 00:00.00 показания таймера №1, будут восстановлены автоматически в соответствии с данными энергонезависимой памяти МК).

А также если таймер №1 находится в десяти секундном интервале до включения нагрузки, будет подан несколько раз сигнал зуммер ((РС5) 28 ножка МК).

Таймер №2  при достижении значения 00.00, выключается исполнительное устройство, и отсчет продолжает таймер №1 (в это время обнуленные 00.00 показания таймера №2, будут восстановлены автоматически в соответствии с данными энергонезависимой памяти МК).

И так будет продолжаться бесконечно… 

Во время работы циклического таймера оперативно управлять работой таймеров можно с помощью кнопок 
Кнопка ▲ пауза,  отсчет остановится. (Состояние активности (PC0)  23 ножка МК не изменится) двойное нажатие кнопки пауза приводит к возобновлению остановленного отсчета.

Кнопка ▼ сброс, отсчет остановится, на экране ЖКИ показания обнулятся (но не в энергонезависимой памяти МК) и если  было включено исполнительное устройство, ОТКЛЮЧИТСЯ.
Отображение на ЖКИ символов > + < означает, что при однократном нажатии кнопки старт начнется (продолжится) отсчет времени таймеров №1 или №2.

Также,  если кратковременно пропадёт  питание в сети (или просто на длительный период отключаем таймер от сети), тогда при появлении напряжения, устройство сохранит свои настройки и если была включена функция mc86-9.png автозапуск, таймер  включится снова и продолжит работу по замкнутому циклу.

mc86-2.png функция таймера один цикл, будет работать в двух настроенных отрезках времени однократно.

График цикл один раз

Управление и настройки будут соответствовать описанному выше.

Таймер №1 начинает отсчет.

При достижении значения 00:00.00, включается исполнительное устройство, и отсчет продолжает таймер №2  (в это время обнуленные 00:00.00 показания таймера №1, будут восстановлены автоматически в соответствии с данными энергонезависимой памяти МК).

Таймер №2  при достижении значения 00.00, выключает исполнительное устройство,
Исполнительное устройство отключено, и отсчет больше не возобновляется, пока не будет нажата кнопка пуск ▲.

Аналогично тут работает и функция mc86-9.png автозапуск.

Если эта функция не активирована, после подачи питания на схему таймера, таймер будет ждать, пока нажмете кнопку пуск ▲.

Если через пользовательское меню, функция mc86-9.png автозапуск была активирована, после подачи питания на схему таймера, таймер  включится снова, и начнет работу по записанным раннее значения в память МК.
Работа таймера будет произведена однократно, по окончанию отсчета исполнительное устройство отключается.

— mc86-3.pngтаймер обратного отсчета

График работы в режиме таймер  обратного отсчета

Тут принцип управления и применения функции  mc86-9.png автозапуск, практически не имеет отличий.
Но все же они есть. В работе принимает участие только таймер №1 .

При достижении значения 00:00.00, включается исполнительное устройство, и отсчет останавливается.
Исполнительное устройство будет включено до тех пор, пока не будет нажата кнопка ▼ сброс.

mc86-4.pngсекундомер
Управляется кнопками старт ▲ пауза, ▼ сброс. Работа секундомера основана на формате отображения 24 часового цикла.

FUSE

Для программатора в PonyProg и CodeVisionAVR нужно убрать все галочки с настройки тактового генератора.
После прошивки программатором фьюзов от внешнего кварца, контроллер будет читаться программатором только с кварцем.

Внимание! что касается FUSE-битов. Это основной источник ошибок, приводящих к залочиванию контроллера.
— CKSEL3…0 должны быть НЕзапрограммированы.

В PonyProg и CodeVisionAVR стоят так:

Установка Fuse-бит

Прошивка контроллера должна производится двумя файлами, нех. и еер.. Если вы пользуетесь программой PonyProg тогда е2р это, нех и еер в одном файле.

Комплектующие: ЖКИ 16х2 на базе контроллера HD4480, МК ATmega8 с любой буквой, внешний кварц 8 МГц, пьезодинамик с генератором.

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

Печатная плата таймера

Монтаж рассчитан для работы с индикатором 1602В. ( Всегда проверяйте, подключение выводов питания индикатора по даташиту. Могут быть отличия у разных производителей)

Работу схемы можно протестировать в proteus’е:

Моделирование схемы в Proteus'е

Если при симуляции проекта в proteus’е некорректно отображаются символы кириллицы на ЖКИ, то для правильного отображения кириллицы на ЖК индикаторе распаковать библиотеку LCDrus.zip (приложена в архиве проекта) в папку models proteus’а.

Фото меню таймера

Применение этого таймера: существует множество ситуаций, в которых таймер может оказаться полезным, а иногда — незаменимым. Разнообразие функций таймера как раз и позволит применить его, для какой либо автоматизации в бытовом хозяйстве, организуя нужные периодические или с задержкой включения света, насоса, компрессора. Думаю также, найдутся кулибины, которые применят этот таймер для кормления рыбок, хомячков, полива растений. Вы должны понимать и отдавать себе отчет, что доверять живых существ нескольким байтам интеллекта это может быть чревато…

Архив проекта: схема, прошивка, фьюзы, печатная плата, proteus.

C@at (http://c2.at.ua)

См. также проект: Устанавливаем в корпус многофункциональный циклический таймер

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК AVR 8-бит ATmega8 1
Линейный регулятор LM78L05 1
Биполярный транзистор BC547 1
Выпрямительный диод 1N4148 1
LCD-дисплей ЖКИ 16х2 1
Электролитический конденсатор 470 мкФ 1
Электролитический конденсатор 100 мкФ 1
Электролитический конденсатор 1 мкФ 1
Конденсатор 0.1 мкФ 1
Подстроечный резистор 5 кОм 1
Резистор 10 кОм 1
Резистор 6.8 кОм 1
Кварцевый резонатор 8 МГц 1
Реле 12В 1
Пьезоизлучатель 1
Кнопка без фиксации 4