Двухканальный циклический таймер на Atmega328

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Представляю вторую версию двухканального циклического таймера. Были добавлены новые функции и изменилась принципиальная схема. Циклический таймер позволяет включать и выключать нагрузку, а также выдерживать паузу на заданные интервалы времени в циклическом режиме. Каждый из выходов таймера имеет 2 режима работы - "Логический" и "ШИМ". Если выбран логический режим устройство позволяет управлять с помощью контактов реле освещением, отоплением, вентиляцией и другими электроприборами. Нагрузкой могут выступать любые электрические приборы мощность нагрузки которых не превышает максимального тока реле. Тип выхода "ШИМ" позволяет например подключить через силовой транзистор двигатель постоянного тока, при этом есть возможность установить скважность ШИМ, чтобы двигатель вращался с определенной скоростью.

Принцип работы таймера показан на графике ниже:

Возможности устройства
- 2 канала;
- 2 режима выхода(Логический, ШИМ);
- Регулировка скважности ШИМ;
- 3 частоты ШИМ(32, 4 и 0,5кГц);
- Максимальная установка таймера 1, 2 и паузы 1, 2 - 99 минут 59 секунд;
- Максимальное количество циклов - 99;
- Управление подсветкой дисплея через меню;
- Сохранение настроек в памяти микроконтроллера;
- Прошивки на русском и английском языке.

Схема устройства

Таймер построен на базе микроконтроллера ATmega328. Для более точного отсчета времени тактирование осуществляется от внешнего кварца на 8МГц. Дисплей используется с контроллером HD44780 или его аналог, 16 символов, 2 строки. После первого включения резистором R1 необходимо отрегулировать контрастность дисплея. Подсветка дисплея имеет 3 режима работы - включена, выключена и "Авто". Если выбран режим "Авто" и кнопки не нажимались в течение 10 секунд то подсветка отключается.

Настройка осуществляется с помощью 4-х кнопок: "Меню/Вперед", "Назад", "+", "-". Если в режиме меню кнопки не нажимались в течение 60 секунд, таймер автоматически переходит в ждущий режим без сохранения настроек. Каждое нажатие кнопки подтверждается сигналом зуммера. Зуммер применен обычный без встроенного генератора, высокоомный. Если сигнал не нужен его можно отключить в меню.

Запускается таймер при помощи кнопки "Старт", останавливается автоматически или при нажатии на кнопку "Стоп". В режиме ожидания на дисплее высвечивается информация об установленном времени таймера 1, 2 и времени паузы 1, а также количество циклов. В рабочем(запущенном) состоянии на индикаторе ведется обратный отсчет времени таймера 1, затем паузы 1, затем таймера 2 и паузы 2, а также количества оставшихся циклов. Если значение цикла равно нулю, цикл будет повторяться бесконечно, а на дисплее появится соответствующий знак.

Настройка таймера

Для входа в меню нажмите кнопку "Меню/Вперед", далее необходимо настроить параметры Таймера 1, кнопками "+" или "-" вводим необходимое значение для минут, причем разряд минут мигает 2 раза в секунду, снова нажимаем кнопку "Меню/Вперед", вводим необходимое значение для секунд, разряд секунд мигает также 2 раза в секунду. Таким же способом настраиваются Таймер 2 и Пауза 1 и Пауза 2, т.е. кнопками "Меню/Вперед" и "Назад" можно перемещаться по меню, а кнопками "+" или "-" вводить необходимые значения. Настройки сохраняются врючную с подтверждением в меню "Сохранить настройки". Обязательно должны быть выставлены значения для Таймера 1 и Паузы 1 или для Таймера 2 и Паузы 2 или для Таймера 1 и Таймера 2 иначе таймер не запустится.

 


Файлы к статье "Двухканальный циклический таймер на Atmega328"
Описание:

Файл прошивки для микроконтроллера

Размер файла: 59.73 KB Количество загрузок: 16 Скачать

Метки: Таймер, HD44780, ATmega328, Циклический

Печать E-mail

Комментарии  

0 #1 DENISCHERNYUK 12.12.2019 15:47
Доброго времени суток . Интересует несколько вопросов . 1: Какие пределы регулировки скважности( можно ли остановить двигатель полностью ). 2: Если вдруг выключат в доме электричество -таймер перейдёт в режим стоп ? И последний вопрос , дайте пожалуйста ссылку где продают такие дисплеи с кириллицей . Всем помогающим спасибо заранее .
Сообщить модератору
0 #2 AntonChip 13.12.2019 23:37
1. Регулировка ШИМ от 0 до 100%
2. Если в момент включения электропитания кнопка старт будет замкнута таймер запустится
Сообщить модератору
0 #3 Кинкон Дилан 03.11.2020 04:44
Сделайте пожалуйста версию с миллисекундами. Шаг 0.1 сек а лучше 0.01.
Сообщить модератору
0 #4 AntonChip 08.11.2020 13:40
Цитирую Кинкон Дилан:
Сделайте пожалуйста версию с миллисекундами. Шаг 0.1 сек а лучше 0.01.

Здравствуйте, прошивку изменил, схема тоже немного поменялась, шаг установки 10мс, прошивку прикрепил к файлам для статьи
Сообщить модератору
0 #5 Кинкон Дилан 08.11.2020 23:20
AntonChip , спасибо Вам! :-)
Сообщить модератору
0 #6 Кинкон Дилан 08.11.2020 23:38
AntonChip, прошивка для латиницы или кириллицы? Желательно латиницу.
Сообщить модератору
0 #7 AntonChip 09.11.2020 08:18
Цитирую Кинкон Дилан:
AntonChip, прошивка для латиницы или кириллицы? Желательно латиницу.

пока только латиница
Сообщить модератору
0 #8 Кинкон Дилан 13.11.2020 10:15
AntonChip, скажите пожалуйста, если установить минимальное время цикла в 10мс, то при нажатии на кнопку "пуск" по времени более 10мс, первый цикл отработает в 10мс? Если нет может быть сделать запуск цикла после нажатия и отпускания кнопки "пуск"?
Сообщить модератору

Авторизация