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

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

Таймер, устройство управления исполнительными устройствами, нагрузками по временным циклам.

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

Многофункциональность заключается в следующем: программно в одном устройстве реализовано четыре функции.

–  циклический таймер с возможностью работать в двух настроенных отрезках времени бесконечно.

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

таймер обратного отсчета.

–  секундомер

автозапуск настраивается из меню в двух вариантах:

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 секунд.

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

Управление:

В режиме основного экрана, кнопками  ▲▼◄►  оперативно производится такое управление:

▲ старт, пауза;

▼ сброс

► вход в меню 

◄ возврат

При  одновременном нажатии кнопок ◄  &#9650 происходит запись в энергонезависимую  память  МК временных данных отображаемых на экране.

При  одновременном нажатии кнопок ◄  ▼ производится  чтение и вывод на экран ЖКИ, временных данных  находящихся в энергонезависимой памяти МК.

Система меню:

Управление всеми функциями осуществляется при помощи 4-х кнопок, условно обозначенных символами:

▲▼◄► Навигацию по меню можно просто осуществлять с помощью подсказок.

Подсказка – символ, ▲▼◄► который соответствует определенной кнопке.

Для перехода из основного режима к системе меню, следует нажать кнопку ► меню.

Меню полностью русифицировано и отображаемые подсказки в виде символов ▲▼◄► будут вашими подсказками  в данной навигации.

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

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

А так же, если войти в любой пункт меню и не нажимать ни одну кнопку в течение 30 секунд, произойдет возврат в основной режим автоматически.

Вся информация активных состояний отображается на ЖКИ.

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

циклический таймер с возможностью работать в двух настроенных отрезках времени бесконечно.

В рабочем цикле принимают участие два таймера. На экране ЖКИ  таймеры обозначаются как т №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.

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

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

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

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

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

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

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

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

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

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

Работа таймера будет произведена однократно, по окончанию отсчета исполнительное устройство отключается.

–  таймер обратного отсчета

Тут принцип управления и применения функции   автозапуск, практически не имеет отличий.

Но все же они есть. В работе принимает участие только таймер №1 .

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

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

секундомер

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

FUSE

Для программатора в  PonyProg и CodeVisionAVR  нужно убрать все галочки с настройки тактового генератора.

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

Внимание!  что касается FUSE-битов. Это основной источник ошибок, приводящих к залочиванию контроллера.

– CKSEL3…0 должны быть НЕзапрограммированы.

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

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

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

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

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

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

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

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

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

Автор: C@at (http://c2.at.ua)


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 3 + 8

Добавить изображение

Последние статьи