Таймер на ATtiny2313 с отсчетом до 48 часов

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

Поэтому было принято решение “нарисовать” свой вариант (с блэк джеком и шлюхами) хронометра для засветки(и не только) пленки фоторезиста. Забегая вперед, скажу, данное устройство многофункционально, и может быть использовано не только для указанных целей. Оно будет многофункциональным, так как может коммутировать нагрузку с током до 2.5А.

 

Техническое задание на разработку таймера на ATtiny2313

Требуется реализовать систему временного управления нагрузкой, удовлетворяющая следующим требованиям:

  • Рабочее напряжение, В: 12
  • Ток потребления в рабочем состоянии, не более, мА: 50
  • Максимальный коммутируемый ток нагрузки, А: 3
  • Режим коммутации нагрузки: NO/NC
  • Возможность выдачи на внешнее устройство питания: 12В/400мА
  • Максимальное время отсчета, ч: 48(47:59:59)
  • Управление устройством: 1 инкрементальный энкодер с кнопкой
  • Отображение информации: Дисплей совместимый HD44780 2×8
  • Сохранение/загрузка значения отсчета в энергонезависимой памяти
  • Возможность приостановки отсчета(отключения нагрузки, пауза)
  • Визуальная и звуковая индикация окончания отсчета

 

Разработка таймера на ATtiny2313

Для выполнения поставленной задачи, было принято решение использовать микроконтроллера производства Atmel – ATtiny2313A. Он, на мой взгляд, наиболее подходит для реализации устройства, достаточен в части периферии и легок в написании кода прошивки.

Схема устройства получилась следующей:

Схема таймера на ATtiny2313A

Ключевым элементом устройства, его “мозгами”, является микроконтроллер DD1 – ATtiny2313A. Тактование его осуществляется от внешнего кварца на 8МГц. К контроллеру через порты ввода вывода подключена основная периферия:

  • Инкрементальный энкодер
  • Зуммер
  • Дисплей
  • Управление реле
  • Световая индикация

Питание логической части осуществляется через интегральный стабилизатор напряжения – LM78M05, с выходом на 5В/500мА. В устройстве предусмотрена защита “от дурака” в виде диода Шоттки VD1. Его назначение – предотвратить повреждение компонентов схемы при неправильном подключении источника питания.

Схема работает следующим образом. После подключения устройства к источнику питания, на выходе интегрального стабилизатора DA1 появляется напряжение 5В, которое запитывает сам микроконтроллер DD1 и дисплей. Для нормального функционирования экрана, ему требуется время на внутреннюю инициализацию – ~20мс. После чего он готов получать команды управления и выводить информацию. Контроллер занимается инициализацией своей периферии, после чего ожидает готовности дисплея и инициализирует его. По окончании инициализации, микроконтроллер запускает внутреннюю RTOS,  и ожидает команд пользователя.

Готовое к работе устройства выглядит так:

Начальный экран устройства

Длинным нажатием на кнопку энкодера, переходим в режим установки значений отсчета, характеризующийся мигающим курсором в позиции секунд:

Экран установки времени отсчета

Если в этом режиме нажать и удерживать кнопку энкодера(более 1.5 секунд), то будет произведено извлечение ранее сохраненного(если не сохранялось, то нули) в энергонезависимую память значения времени отсчета. Кратковренные же нажатия на кнопку, приводят к переходу между позициями установки времени в такой последовательности: Секунды -> Минуты -> Часы -> Экран отсчета.

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

Далее, кратковременно нажав кнопку энкодера, мы переходим на экран отсчета.

Еще одно кратковременное нажатие кнопки запускает отсчет таймера, которое отображается на дисплее и дополнительно с помощью сдвоенного светодиода HL2. Зеленое его свечение показывает, что в данный момент включена нагрузка(произошла коммутация реле), а также каждую секунду происходит моргание красного диода – идет отсчет времени.

По окончании времени отсчета, устройство отключает нагрузку(размыкает реле) и издает 3 звуковых сигнала через зуммер. Далее можно повторить цикл ввода времени отсчета и начать новый отсчет. Также существует возможность приостановить отсчет кратковременно нажав на кнопку и также продолжить с места остановки.

 

Конструкция устройства

Конструктивно устройство представляет из себя пластиковый, напечатанный на 3D принтере бокс размерами 95x50x33(ШxВxГ).

Элементы управления находятся на левой, правой и фронтальных частях бокса:

Подключение нагрузки осуществляется к винтовым клеммным колодкам, расположенным с правой стороны(3 пиновая колодка), в соответствии с рисунком.

Питание на внешнее устройство 12В/400мА, может быть подано со второй винтовой клеммной колодки(2 пиновая).

В моем случае подключение выглядит вот так:

Модель сборки устройства:

 

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

Печатная плата была реализована вместе с проектированием корпуса устройства. Опытный образец был произведен в домашних условиях(ревизия платы 2.0), но также финальная версия платы(ревизия 2.1) была подготовлена и изготовлена на производстве (PCBway.com). Конструктивно печатная плата имеет двухсторонний монтаж, не содержит перемычек(ревизия 2.1):

Полностью собранная плата выглядит вот так:

Сборка нижней стороны

Сборка верхней стороны

И целиком собранное устройство:

Готовое изделие

 

Эпилог

На выходе мы получили устройство, полностью соответствующее нашим техническим требованиям, с потреблением около 25мА без внешней нагрузки. Погрешность хода составляет примерно 1-2 секунды на 10 часов, все зависит от кварца.

 

Файлы проекта

Все необходимые файлы проекта, включая 3D модель корпуса можно найти в репозитории GitHub.

 

Некоторые комплектующие с али

About: fly8r


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

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