Это мой третий проект на AVR: кухонный таймер. Аппаратная часть основана на микроконтроллере Atmel ATtiny2313, питание от батареи 3.6V, для настройки используется вращающийся регулятор(энкодер) с кнопкой, три семисегментных светодиодных индикатора и пьезозуммер для сигнализации. Программное обеспечение использует некоторые более сложные функции контроллера AVR: прерывание таймера и глубокий режим пониженного энергопотребления. Корпус выполнен из дерева.
Схема очень проста. Светодиодные индикаторы в таймере имеют общий анод и с десятичной точкой расположенной слева. Сегменты подключаются через резисторы 200 Ом к выводам контроллера, а общие аноды через транзисторы. Значения резисторов R9-R11, возможно, потребуется корректировать для нормальной яркости дисплея, основанной на реально имеющихся образцах индикаторов и напряжения питания. Для точности отсчета времени в устройстве можно использовать внешний кварц на частоту 1МГц, который подключается к выводам XTAL1-2, но перед этим выставить соответствующую конфигурацию фьюз-битов.
ATtiny2313 припаян непосредственно на печатную плату поэтому я включил 6-контактный разъем для программирования. Зуммер я использовал "CPM 121", со встроенным генератором, который работает от 3-15V. Пъезоизлучатель потребляет примерно 3,5 мА ,что лежит в пределах нагрузочной способности порта микроконтроллера.
Извлеките батарею перед подачей питания для программирование контроллера!
После включения питания начинается тест индикаторов и зуммера. Нажатие кнопки энкодера переводит прибор в спящий режим. При повторном нажатии кнопки таймер пробуждается и переходит в режим установки времени. Поворот налево увеличивает время, поворот направо уменьшает время. Максимальное время около 99 минут + 59 секунд. Минимальное время составляет 5 секунд. Установка времени меньше 0 секунд выключает таймер. Нажатие на кнопку запускает таймер. Первые и последние 5 секунд отсчета таймер мигая индикаторами показывает оставшееся время. По окончании отсчета включается зуммер определенное количество раз (чем больше установленное время, тем чаще) и засыпает. Нажатие кнопки во время работы таймера, показывает оставшееся время в течение 5 секунд.
Для сокращения размеров таймера я использовал одну литиевую батарею напряжением 3.6V размера АА. Корпус состоит из передней панели сделанной из 4 мм фанеры, стенки вырезаны из одной части деревянного бруска. Чтобы сделать точные вырезы для ручки энкодера, индикаторов и зуммера был сделан трафарет на бумаге.
Описание прошивок:
econom_timer_at tiny2313 - стандартная прошивка для трехразрядного индикатора с ОА и точками слева от цифр;
econom_timer_at tiny2313_FYT-3631BG-11 - для трехразрядного индикатора с ОА и точками справа от цифр;
economic_timer_ attiny2313_up10to1min - для трехразрядного индикатора с ОА и точками справа от цифр, при настройке времени свыше 10 минут, разрядность шага энкодера 1 минута;
econom_timer_attiny2313_E30561_OK+OUT - прошивка под индикатор E30561_OK, на выходе(PA0) на время отсчета лог. единица.
Архив для статьи "Экономичный кухонный таймер на Attiny2313" | |
Описание: Файл прошивки микроконтроллера, макет печатной платы Eagle 5 | |
Размер файла: 44.24 KB Количество загрузок: 3 277 | Скачать |
Комментарии
Прошивку добавил в архив, проверяйте
Создайте тему в форуме, там и выложите
заранее благодарен
К выводу PA0 цепляешь реле через транзистор, ну и прошить соответствующей прошивкой
И ещё для тех, кто будет собирать по этой прошивке,транзи сторы:Т1,Т2,Т3 нужно исключить из схемы,т.е.подкл ючить выв. МК на прямую к анодам индикатора.