Кухонный таймер на ATMega8
Данное устройство будет полезно любому человеку, которому приходится постоянно готовить, и надежно защитит вашу кухню от чрезмерного количества дыма. Этот прибор, как следует из названия — кухонный таймер. Он предназначен для отсчитывания интервалов при приготовлении различных блюд. Таймер имеет несколько клавиш, при помощи которых можно легко установить время от 1 минуты до 99 часов. Обратный отсчет начинается автоматически, через 3 секунды после установки времени. Благодаря громкой пищалке вы точно услышите когда блюдо готово. Устройство собрано на основе микроконтроллера ATMega8.
Описание конструкции
Сердцем устройства является микроконтроллер U1 (ATMega8) с кварцевым резонатором X1 (16 МГц) и обвязкой из двух конденсаторов C1 (22 пФ) и C2 (22 пФ). Стабилизатор U2 (7805) с обвязкой из конденсаторов C3 (100 мкФ) и C4 (47 мкФ) стабилизирует напряжение питания 5В, необходимое для корректной работы микроконтроллера и связанных компонентов. На разъем Zas подается напряжение 7-12В. Если у Вас имеется блок питания с напряжением 5-6В, можно исключить из схемы стабилизатор напряжения. Зуммер B1 и аноды дисплея W1 управляются транзисторами T1 — T5 (BC556), с обвязкой из резисторов R1 — R8 (3.3 кОм), R17 (3.3 кОм) и R18 (3.3 кОм). Резисторы R9 — R16 (330 Ом) ограничивают ток через сегменты дисплея. Разъем Prog и один вывод R используются для подключения программатора. Клавиатура таймера подключена к разъему Sw.
Изготовление
Рисунок печатной платы для устройства есть в архиве в конце статьи. Установка деталей начинается с пайки двух перемычек. Затем устанавливаются все резисторы и прочие элементы в порядке от меньшего к большему. Кварц X1 должен быть «низкий» — он устанавливается под дисплей — в противном случае он просто не поместится туда. Зуммер B1 можно припаять на плату, как это показано на фотографиях, но позже выяснилось, что после закрытия корпуса звук слишком тихий (несмотря на отверстия, просверленные в корпусе). Лучше приклеить зуммер на одну из сторон корпуса (так, как это показано на последнем фото), и соединить проводами с платой. Клавиатура состоит из 5 кнопок без фиксации 12х12мм непосредственно на лицевой части корпуса, так что их толкатели находятся чуть выше поверхности корпуса. Для этого устройства в качестве блока питания хорошо использовать зарядное устройство для телефона, из-за его небольшого веса и размеров.
Источник
Кухонный таймер своими руками схема
Автор: Остроушко Евгений
Опубликовано 14.09.2010
Участник Конкурса «Поздравь Кота по-человечески 2010!»
Полку кухонных таймеров прибыло. да! да! еще один. В интернете, да и на нашем сайте представлено немало подобных устройств — таймеров! «Коты бывают разные: полосатые, черные, грязные. » Так и тут каждая схема имеет свои индивидуальные особенности в плане организации управления, индикации, дополнительные функции, достоинства и недостатки. Хотя недостатки это скорее чисто техническая проблема, которая оказалась не по зубам «железу » или ваятелю, но все же не мешает выполнять свои функции устройству по назначению. А то, что кухонный таймер имеет 8 разрядов индикации, 20 кнопок управления, четыре термометра, часы с будильником и секундомер (ну кто быстрее слопает ту же порцию пельмешек) так извините «Коты бывают разные. » при чем слово «грязные » это временно!
Вступление есть и теперь ближе к делу.
Так как устройство для кухни то профессионально использовать его будет хозяйка кухни, реже хозяин. Поэтому устройство должно иметь несложное, но в тоже время функциональное управление и простую индикацию. Велосипед я не придумал, кроме того очень похожие схемы есть да и логически поразмыслив к такому же результату придешь. Так что свелось чисто к железному телу и программной душе.
Сердцем данного устройства является микроконтроллер PIC16F873А. Относительно недорогой и двадцативосьминогий. Причем ноги использовали почти по полной, а то что им пустовать то ?
Индикация динамическая управляемая непосредственно микроконтроллером без регистра, можно было поставить 74HC595 например или 74HC164 но ног контроллера нам хватает . В качестве индикатора применён Knight Bright оранжевого цвета, так получилось, хотя зеленый или ярко красный смотрелся бы получше (что привезли то привезли — я не имею возможности закупаться за 100 км и приходится просить других людей). Причем не мультиплексированный — плату под него не стал разводить, а соединил проводом МГТФ, так думаю проще. Токоограничительные резисторы от 430 Ом, я лично себе поставил 820 Ом — пусть контроллеру живется легче да и в яркости я не сильно потерял — видно индикатор хорошо и днем и ночью .
Так. сразу предупреждаю схема устройства немного устарела (лень было в Splan переводить) — отсутствуют некоторые добавки в виде использования вывода 26 МК для нужд остановки УМС и нет самой УМС но на печатке все есть (там деталей немного и понятно ).
Так. первая фишка -программа позволяет работать с индикатором у которого общий анод — для этого конечно меняем включения транзисторов на схеме и на плате и до включения устройства устанавливаем перемычку .
Данное устройство проверялось только с индикатором с общим катодом(на плате разведено под общий катод и JP3 не ставил).
Вторая фишка — звуковая сигнализация так же два варианта, хотя нет даже три. Первый это просто управление бузером (без встроенного генератора) через вывод микроконтроллера.
При установке перемычки мы можем управлять вторым вариантом — музыкальным синтезатором из серии УМС. Скажу сразу хлопот и проблем доставила кучу — львиная доля времени, затраченная при отладке таймера, ушла на нее. Ну просто хотелось чего ни будь нашенского производства поставить. Причем выбора мелодии нет но можно поколдовать выводом 6 отвечающим за перебор мелодий повесив на него конденсатор и емкости и завести это все на 13 вывод запуска УМС. Просто мне хватило первой мелодии с УМС 8-07 (Шаланды) и от перебора я отказался. По третьему варианту можно выдрать с открытки платку с пьезоизлучателем и вместо батарейки завести туда сигнал запуска с УМС (уровень «1» будет держать, пока не отключите таймер). Управление осуществляется валкодером с кнопкой PEC16 . Вся схема упрятана в корпус в качестве, которого была выбрана обыкновенная распределительная коробка, которая намного дешевле тех корпусов, что продаются для радиоаппаратуры, хотя за это пришлось заплатить таким дизайном платы со сквозными ра: отверстиями. Монтаж выполнен проводом МГТФ . На фото все видно, конечно корпус не фонтан, за что дико извиняюсь но лепить пришлось в то что было.
И с разъемом питания напортачил но на плате уже исправил, и вообще это дубль 2, как платы так и корпуса, первая плата так вообще была 3D макетом (ну нету у меня макетной), хотя считаю что вещь нужная и может когда-нибудь.
Ах да про светодиоды забыл — их два. один просто индикатор питания, второй секунды отсчета — не стал использовать точку в индикаторе, так как менее наглядно ИМХО.
Ну и теперь самое главное :как все это работает !
Подаем питание — вольт 9-12 (использовал импульсник от ADSL модема сгоревшего) инициализация на экране виде трех горизонтальных элементов и три такта бузера или УМС. Как покажет «01» на индикаторе можно до посинения вертеть валкодером от 1 до 99 минут туда и обратно. Выставляем нужное время, запускаем — начинает мигать светодиод и идет поминутно обратный отсчет, по окончании которого звучит мелодия/сигнал и на индикаторе моргают цифры «00». Повторным нажатием на кнопку валкодера мы даем понять, что мы среагировали и можно: что-то я кушать захотел.
Принудительный останов как не странно тоже организован на кнопке валкодера, нажатие на которую возвращает индикацию в «01». Из недостатков, на которые я пошел сознательно считаю отсутствие резервного питания при отключениях энергии — можно конечно было бы еще прикрутить «Крону » пару диодов и задействовать вывод контроллера за слежением по питанию и отключением индикатора для экономии батарейки но куда же без них недостатков то Идеального ничего в мире нету и все не предусмотреть. Да и у нас свет не так часто отключают и обычно предупреждают.
Статья моя первая и бросать в меня рекомендуется не помидорами, а лучше колбасой (докторской, по госту):не так будет обидно.
Источник
Подарок от Гика — делаем кухонный таймер
Выбираем подарок
У бабушки моего сына скоро будет день рождения. Так как я его увлёк микроконтроллерами, то пришла идея подарить какой-то прибор, естественно, на микроконтроллере и сделанный своими руками. Как и все бабушки, наша бабушка не является продвинутым пользователем всяких устройств, и в принципе у нее ничего особенного из электроники нет. Так что, можно сделать любой, не очень сложный прибор.
Когда мы приезжаем к ней в гости, нас всегда встречает богатый стол, с большим количеством блюд. Поэтому, мы сразу решили делать прибор, полезный на кухне. Вместе мы часто играем в различные настольные игры — лото, различные игры с кубиком. Значит, наш прибор должен и тут помогать.
Подумав немного, сын решил делать продвинутый кухонный таймер. Я ему немного помог со схемой. Основные функции нашего подарка:
- Режим таймера до 3 часов
- Режим секундомера
- Громкий сигнал
- Компактный размер
- «Вечные» батарейки — аккумуляторы, зарядка как у телефона, по micro usb
- Ну и конечно игры — кубик (случайное число от 1 до 6), лото, бомба (очень веселая игра)
Подбираем компоненты
В качестве индикатора, мы выбрали светодиодный трех-разрядный индикатор с общим анодом — у него всего 11 выводов, очень удобно. Купить не сложно, и в принципе, довольно экономично в энергопотреблении (но конечно не LCD).
Микроконтроллер — STM8S003F3P6 — с ним мы уже работали, так что все знакомо. ST-link уже есть.
Микросхема заряда и вся обвязка у МК, как у велокомпьютера.
В качестве пищалки, очень компактная и громкая пищалка HC0903A
Аккумулятор — LIR2032. Всего 45 mAh, но этого хватит на 40 часов непрерывной работы таймера. От кварцевого резонатора решили отказаться (нужны выводы), особенная точность нам не нужна, ну и у STM8 довольно точный внутренний генератор. Микросхема заряда — TP4056.
Управление — 2 тактовые кнопки. Прибор все время находится в спящем режиме, потребление меньше 5 мкА, спать может долго. Плату защиты для аккумулятора делать не стали, особенно не нужна. У МК нижний предел 3В, так что сильно не просядет. При включении идет музыка, включается индикатор (бросок тока), и если аккумулятор севший, то МК перегрузится и перейдем в спящий режим, что является сигналом к зарядке. Заряжается он током 100 мА около 40 минут, что в принципе очень быстро. Схему и программу можно скачать на github, ссылка в конце.
Корпус сын решил делать сам из монтажного короба 40 х 16 мм. Раскрасил акрилововыми красками, в качестве стекла вырезали кусок из DVD диска. Получилось очень симпатично.
Трассировку платы сын делал сам в Kicad. Расположение компонент придумал он же. Кнопки по бокам от индикатора, пищалка внизу, аккумулятор на ней. Все вошло плотно, ничего ни куда не болтается. Плата двухсторонняя. Делали из одностороннего стеклотекстолита толщиной 0.8мм с помощью метода холодного переноса тонера. Две половинки платы соединили и зафиксировали перемычками. Из разъемов — micro usb, питание и программирование.
Программа
Данный индикатор имеет общий анод, соответственно выводить в один момент времени можно только один разряд. Для вывода одновременно трёх разрядов необходима динамическая индикация.
Программно это делается очень просто. Задействуется таймер, и через равные интервалы времени, с большой частотой, например каждые 300 мкс, будем выводить по одному разряду по кругу — 1-2-3-1-2-3. Нам будет казать что цифры светятся одновременно, как в кино. Если дополнительно добавить еще пустые разряды, то можно управлять яркостью. То есть, будет такая схема вывода информации — 1-2-3-пусто-пусто-пусто-пусто-1-2-3-пусто-пусто… Управление яркостью нужна для того, чтобы снизить энергопотребление. Таким образом, например без применения яркости, один разряд потребляет 24 мА, а с применением можно сократить до 1-2 мА. При этом цифры все еще четко и далеко видно. Сын поигрался с частотой, яркостью, когда все перестало мерцать, ему понравилось. Оказалось, программировать такой типа индикатора довольно легко и удобно.
Второй сложный момент — это придумать простой, как говорится, интуитивно понятный интерфейс, когда у нас 3 разряда индикатора и 2 кнопки. Но я считаю, ему это удалось.
Придумали с кнопками так:
- Правая кнопка — долгое нажатие, смена режимов, их три — Таймер, Секундомер, Игры
- Правая кнопка — одиночное нажатие, смена подрежима. У таймера — это выбор предустановленных времен, у секундомера — выбор обычного секундомера и с подтверждением, у игры — соотв. Различные игры
- Левая кнопка — одиночное нажатие — старт/стоп или ход в игре, долгое нажатие — режим настройки, программирования
С индикатором так:
- Когда выбран таймер — то сразу выводится некое число из предустановленных настроек (Например 5,15,30 минут), их можно перепрограммировать, хранятся в ПЗУ
- Когда выбран секундомер — то 000
- Когда игры — L — лото, 6 — бомба, С — кубик.
- На индикатор цифры выводятся хитро, так как разряда только три, то выводим максимальное число значащих элементов. Например, таймер — 200 минут 30сек — то выводим 200., если таймер 10мин 15с, то выводим 10.1, если 1 минута 25с, то 1.25. При этом чтобы понимать, что таймер или секундомер запущен, точка мигает в такт секундам.
- Когда секундомер остановлен, например на 10 мин 25с то показываем попеременно 10. и .25, раз в секунду, чтобы видеть и секунды тоже.
Программа оказалась не такой простой, сын писал ее почти 3 недели в школьное время, с небольшой моей помощью. Очень много условий, разные флажки — старт, стоп, работа с памятью и т. д. Но результатом он был очень доволен.
Испытания
Первые испытания прошли в школе. Вместо кубика, гадание на оценках. Гадал весь класс. Потом бомба — супер игра. Прибор загадывает случайное время от 5 до 20секунд и начинает тикать каждую секунду. Вы его передаёте по кругу. Когда таймер дойдёт до нуля — сигнал взрыва. Тот, у кого в руках прибор, проиграл.
Первые испытания секундомера и таймера прошли на ура. Засекали разное время, сверяли с точными часами, ошибка 1-2 секунды на час. Отрабатывали звук сигнала.
Вручение подарка
Наступил день рождения. Бабушка быстро прошла обучение и была очень рада. Все вместе испытали Лото, полностью автоматизированное. Каждые 5 секунд прибор пищит и выдает новое число, из оставшихся в мешке. Играют все, водит прибор! Кто не успел тот опоздал.
Итоги
Итак, прибор получился просто отличный. Практика программирования очень интересная. Если вам тоже интересны микроконтроллеры, то можете сделать себе (или в подарок) такой же и попрограммировать. Вы обязательно научитесь:
- делать платы
- паять smd компоненты
- программировать STM8
- работать с аккумуляторами
- обрабатывать кнопки
- издавать различные звуки
- работать с таймерами и обрабатывать временные события
- бороться с энергопотреблением
На github выложена схема и плата в формате Kicad. Выложен начальный проект для STM8, там самое сложное — динамическая индикация, инициализация микроконтроллера, сложная обработка кнопок — короткое, двойное, долгое нажатие. Остальную программу предлагаю написать самостоятельно, это ведь так интересно!
Источник