Таймер включения/отключения нагрузки на Atmega8

Таймер разработан для включения нагрузки в одно время и выключения в другое, т.е. работа нагрузки в определенных рамках времени.

Timer_raboti-2

В конструкции применены часы реального времени PCF8583 в связке с резервной часовой батареей для работы часов при отсутствии питания. В качестве мозга устройства применен микроконтроллер Atmega8 с тактированием 16MHz.
Питание устройство планировалось от зарядки телефона – поэтому на схеме нет стабилизатора 5В – есть разъем питания 5В и питание 220В для БП.
Нагрузка коммутируется реле – с указанным на схеме типом до 10А.
На схеме присутствует 3 светодиода:
OPTIONS – загорается при попадании в настройки часов.
TIME – мигает когда таймер работает — не горит когда таймер деактивирован.
OUT – показывает состояние реле – включено или отключено.
Кнопки:
SW1 – кнопка H.
SW2 – кнопка M.
Настройки:
Настройка часов.
Чтобы настроить часы нужно зажать кнопку SW1 до загорания светодиода OPTIONS.
Точка загорается и не мигает – кнопкой SW1 устанавливаются часы, а кнопкой SW2 минуты.

Timer_raboti-2
Чтобы выйти из настроек нужно также подержать кнопку SW1 пока не погаснет светодиод OPTIONS.
Настройка таймера.
Для настройки таймера нужно в режиме отображения(дежурный режим – основной) установить кнопками SW1 – время включения нагрузки, SW2 – время выключения нагрузки. После набора таймера он сам перейдет в режим отображения времени если кнопки не будут нажаты в течении 2-3 секунд.

Timer_raboti-1
Деактивация таймера.
Для деактивации таймера нужно зажать и подержать кнопку SW2 – устройство включит нагрузку и таймер не будет её отключать.
Схема.

Timer-raboti-2-SX
На схеме применен нестандартный ISP разъём :
1 – VCC
2 – MOSI
3 – MISO
4 – SCK
5 – RESET
6 – GDN.

Печатные платы.

top bottom
На печатной плате применен индикатор с общим анодом E40361 – но можно и другой со схожей распиновкой и размерами.

Немного 3D-моделей.

3d-1 3d-2 3d-3 3d-4

Фьюзы микроконтроллера нужно установить на внешний кварц.

fuze_8

В pdf файле печатные платы Скачали 3586 раз

Проект плат в формате Proteus Скачали 3477 раз

Прошивка таймер включения/отключения нагрузки на Atmega8 Скачали 1450 раз

Таймер включения/отключения нагрузки на Atmega8: 23 комментария

  1. Шаг в один час великоват, не находите? Может есть смысл переделать именно под формат ЧЧ.ММ на каждую кнопку, соотв. одна кнопка время включения в часах и минутах, а вторая — выключения в таком же формате? Система получится более гибкая….

  2. Т.е. включить, к примеру, в 12.15, а выключить в 18.30 не получится, только 12.00 и 19.00 соответственно?

  3. С часами нет проблем, всё выставил как надо, часы идут точно. Перепрошил контроллер ещё раз, теперь доходит только до 23 в минутах, дальше обнуляется и опять по нарастающей…. И не выключается, нет сработки, это и в первый раз было. Использовал МК в DIP-корпусе с соответствующим переназначением выводов, но это вряд ли как-то сказалось, кристалл один и тот же… Загадка прямо, у всех работает…..

  4. Приветствую! Собрал девайс. Как-то странно он себя ведёт… При попытке выставить время срабатывания или отключения минуту можно менять только в диапазоне от 00 до 29, потом опять на 00 переходит, часы нормально, от 00 до 23

    1. Странное поведение… я у себя такого не наблюдал во время тестов. А вы точно время настраиваете? может вы таймер настраиваете — там выставляется час вкл и час выкл. Чтобы настроить часы нужно зажать кнопку SW1 до загорания светодиода OPTIONS.

      1. ну раз сами часы выставляются тогда норм: вы ж выставляете час сработки — когда включить, а другой кнопкой час выключения: «установить кнопками SW1 – время включения нагрузки, SW2 – время выключения нагрузки. » тоесть время в таймере в часах выставляется но не в минутах))

      2. Да, точно, тут ошибиться не получится, сразу видно, где какой режим, часы идут точно. Перепрошил ещё раз МК, теперь минуты только до 23 удаётся довести в режиме установки таймеров. Дальше обнуляется и по нарастающей. И таймер не отключает нагрузку при достижении порога отключения. Использовал МК в DIP — корпусе с изменением нумерации выводов, вряд ли это как-то повлияло, кристаллы одинаковые…

        1. Вот оно как! А я то думал, сто время срабатывания ( как включения так и выключения) выставляется в формате ЧЧ.ММ
          А на самом деле формат такой ЧЧ(ON).ЧЧ(OFF)?

  5. Приветствую!
    Не сбрасываются ли настроенные пороги включения\выключения при отключении питания?
    Хочу собрать такой девайс для отключения устройства каждый день в одно и тоже время, вместе с отключаемым устройством будет полностью обесточиваться и сам таймер. Каждый раз выставлять время отключения будет очень не удобно….

      1. Приветствую! Собрал девайс. Как-то странно он себя ведёт… При попытке выставить время срабатывания или отключения минуту можно менять только в диапазоне от 00 до 29, потом опять на 00 переходит, часы нормально, от 00 до 23

  6. Всем привет!
    Отличная вещь!
    Есть небольшое замечание по схеме — Думаю, релюшкой корректней разрывать фазу, чтобы в выключенном состоянии на нагрузке не было сетевого напряжения.

  7. Здравствуйте. Во время работы устройства был замечен баг. При установке таймера например: включение в 23:00 отключение в 06:00, то таймер включает нагрузку только с 23:00 до 00:00. Второй вопрос. Возможно ли переписать прошивку под более дешёвый DS1307 или прислать исходник?

  8. Можете немного пояснить выбор элементной базы? Я немного начал разбираться с codeDivision Avr, пока всё что я понял, что можно реализовать таймер с помощью delay_ms. Можете выслать исходники с комментариями, потому что я попробовал ассемблер и понял,что си мне намного ближе)) С уважением , Алексей

    1. Здраствуйте! А что непонятно с элементной базой? С помощью функции delay_ms можно сделать но это неудачное решение и будет нестабильно, а за точность вообще молчу… Для точных отсчётов временных интервалов обычно используют прерывания встроенных таймеров/счётчиков.

  9. Здравствуйте, не могли бы вы поделиться кодом с комментариями для данного устройства, начал понемногу изучать ассемблер и мпс, решил начать с таймеров. Пришлите пожалуйста на почту исходник ,9755527@mail.ru если вас не затруднит.
    С уважением , Алексей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *