Кухонный таймер на микроконтроллере ATtiny13
05.05.2010 г.
Иногда требуется просто задать временной интервал, без особой микроскопической точности. Например, для приготовления пищи, где погрешность в несколько секунд за полчаса, час не играет важной роли. Исходя из этих соображений в качестве тактового генератора выбран внутренний RC-генератор. Стабильность которого зависит от температуры и изменения напряжения питания, поскольку  микроконтроллер сохраняет свою работоспособность при напряжении 1,8-5,5 В. В качестве источника питания применил 3-х вольтовую батарейку (или 2 элемента по 1,5 В).
 
Ставилась задача максимально упростить конструкцию при минимуме внешних  деталей и элементов управления и индикации (как можно проще). Программа написана на ассемблере в AVR Studio.

Для управления режимами таймера имеется пара кнопок. Первая "SET" для установки временного интервала, вторая "RESET" для сброса в любой момент если потребуется «переиграть» ситуацию и выставить другой временной интервал. А так же звуковой зуммер, в качестве звуковой индикации о состоянии таймера в разный период работы.

Таймер сделан с минимальным 5 минутным дискретным интервалом, таких интервалов можно набрать сколько угодно (до 255) если удерживать кнопку в нажатом состоянии.
 

Принципиальная схема кухонного таймера:

Схема кухонного таймера
 
После отпускания кнопки  начинается  запуск таймера и  обратный отсчёт, особенность таймера - звуковая индикация (глаза и руки не участвуют в контроле, а только слух), при установке «пикает» столько раз сколько нужно раз набрать 5-ти минутных интервалов. Например: нужен интервал 30 минут, значит надо нажать кнопку  "SET" и удерживая её в нажатом состоянии, набрать «пиликаний» на 6 раз и отпустить кнопку. С момента отпускания кнопки "SET", зажигается светодиодный индикатор, свидетельствующий о том, что таймер запущен, и гаснет только по окончании всего цикла, также с момента запуска начинается обратный отсчёт, зуммер «пикает» по прошествии очередного дискретного 5-тиминутного интервала столько раз сколько их ещё осталось до завершения полного цикла таймера. А когда весь цикл пройден, в конце цикла звучит длительный «пиликающий» сигнал на протяжении около 10 секунд оповещающий о финале.

После этого, таймер переходит в режим ожидания перейдя по команде sleep в энергосберегающий режим Power down где потребляемый ток составит меньше микроампера в программе задействован, внутренний RC-генератор тактовая частота которого выбрана 128 / 8 кГц.
 

Работа схемы проэмулирована в PROTEUS:

Эмуляция в Proteus
 

Программа для микроконтроллера в AVR Studio:

AVR Studio
 

FUSE-биты микроконтроллера выставлены так:

Fuse-биты микроконтроллера
 
 
Автор: Владимир, Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script

Просмотров: 2602

Комментарии (20)
RSS комментарии
 
И так, как я понял существуют насущные проблемы: 
1- отключать 
вентилятор через 20 минут. 
2- включать поливочный насос раз в сутки на 5-60 сек. 
не вижу особых проблем, 
Открывайте тему на форуме по каждому конкретному случаю на форуме,и уточним условия техзадания . 
подгоним работу таймера под ваши задачи.
 
Владимир, 11:09 11 августа 2010 г.
 
rostt, проще датчик влажности поставить
 
aahz, 20:08 10 августа 2010 г.
 
да и полив цветов, на время когда в отпуске. раз в сутки нужно включать насос 20Ватт на 5-60 сек.
 
rostt, 17:40 10 августа 2010 г.
 
Есть надобность сделать таймер для отключения вентилятора,чтоб когда ложиться спать,можно было включить таймер (например на час),и после истечения заданного время вентилятор выключился.Звук зумера не нужен,а вот светодиодный сегментный индикатор был бы к с тате,но можно и без него.
 
FORCE, 18:28 03 августа 2010 г.
 
Кстати,если есть у кого пожелания, идеи для чего ещё можно применить таймер, поливка цветов, тренировка каких либо упражнений, таймер для аквариума,или для автомобильных,каких либо дел, 
пишите, вместе обдумаем.
 
Владимир, 17:33 18 июля 2010 г.
 
\"МК семейства AVR предусмотрены два режима загрузки информации во внутреннюю память (программирования): параллельный и последовательный. Для первого характерны расширенные возможности и повышенная скорость загрузки. Во втором выполняются лишь самые необходимые операции, скорость загрузки меньше, но обычно называемое программатором устройство, соединяющее МК с портом компьютера, отличается предельной простотой. В большинстве случаев МК семейства AVR программируют именно через последовательный интерфейс, но бывает, что без параллельного программатора не обойтись...\" 
как раз в моей конструкции похоже тот самый случай. 
Хочу дополнить по поводу программатора ELM, 
есть свои тонкости,неудобства если можно так сказать,единственный его недостаток — это довольно неудобный запуск: только из командной строки MS DOS или в окне MS DOS системы Windows. 
более подробно почитать можно здесь: 
http://forum.radiospec.ru/index.php?showtopic=5685
 
Владимир, 15:05 18 июля 2010 г.
 
valexus, я в этой конструкции микроконтроллер перепрошиваю в STK 500 в режиме высоковольтного программирования. 
думаю, что вам стоит сделать то же самое, 
чтобы восстановить микроконтроллер в прежнее рабочее состояние.(иначе уже увы,никак) 
У меня так же для этой конструкции эти микроконтроллеры в режиме ISP не программируется, или сперва программируются а потом перестают. 
(Фьюз SPMEN отвечает не за защиту , а за разрешиние программировать микроконтроллер в ISP режиме.) 
Я этот \"косяк \" уже проходил тоже, чем объяснить, что не программируется в ISP режиме не знаю, 
но склоняюсь к мысли ,возможно слишком низкой выбранной частотой внутреннего RC генератора для данной конструкции (16 кгц),потому как в других конструкциях, где частота была выбрана 4,8 или 9,6 мгц, программировалось легко в любых режимах,не смотря на выставленную такую же \"галочку\" напротив SPMEN=0.Выход у Вас один,перепрограммировать в режиме высоковольтного программирования на соответствующем программаторе,а если нет STK500,или другого программатора промышленного изготовления с режимом высоковольтного программирования для данного типа микросхем, то порекомендую изготовить самому неплохой программатор  
http://elm-chan.org/works/avrx/report_e.html#AVRXP 
там есть возможность для такого режима программирования ATtiny13.(схема проверена)http://elm-chan.org/works/avrx/avrxp8.png 
 
Касаемо вашей идеи для фумигатора, (данная конструкция совсем для иных целей разрабатывалась) давайте обсудим,и сделаем более конкретную схему для Вашего применения, 
только опишите задачу,как Вы хотели бы,чтобы он работал?
 
Владимир, 14:20 18 июля 2010 г.
 
собрал это устройство для управления фумигатором от комаров , все фьюзы выставил как на фото , но потом надо было перешить и не смог . Думаю что фьюз SPMEN отвечает за защиту , зачем его надо было вообще устанавливать. Ктото пробовал вобще перешивать данное устройство?
 
valexus, 11:28 18 июля 2010 г.
 
макрос)
 
Владимир, 01:24 10 июня 2010 г.
 
а что именно надо изменить в программе?)
 
Андрей, 23:17 08 июня 2010 г.
 
Программа писалась,как раз наоборот, чтобы было напоминание ,сколько интервалов ещё осталось по прошествии очередных 5-ти минут,поэтому программу переделывать мне "в лом" если честно,поскольку там написан макрос именно под эту задачу. 
Но если уж Вам так хочется убрать звуковые напоминания в середине цикла таймера,то  
Это можно сделать не изменяя прошивку, 
попробуйте это сделать немного изменив схему, 
добавив ещё один npn транзистор типа КТ315, изменения в схеме следует сделать такие: 
присоедините базу этого транзистора к точке где R2 соединяется с анодом светодиода D1, 
эмиттер соедините с общим проводом,а коллектор присоедините к базе транзистора Q1, 
думаю ,должно получиться,что Вы хотели. 
при наборе интервалов пищать будет, в середине не будет никаких звуковых сигналов,а в конце как и задумано,длительный звуковой пиликающий сигнал интервалом около 10 сек.
 
Владимир, 22:11 23 мая 2010 г.
 
а можно сделать так чтобы пьезоизлучатель не пищал каждые 5 минут?
 
kirill, 13:32 23 мая 2010 г.
 
Спасибо Владимир
 
Епт, 20:24 22 мая 2010 г.
 
Микроконтроллер из серии Тини 13 ЛЮБОЙ должен работать,поскольку порог нижний по питанию удовлетворяет всем моделям, 
даже если у вас другой микроконтроллер,например,ATtiny 2313 тоже должен работать, 
задайте тактовую частоту внутреннего генератора 128/8=16 кгц, 
 
кстати в протеусе можете"поиграть" с другими типами микроконтроллеров, исходники есть,всё есть ,единственное,в протеусе режим Sleep не эмулируется,но этот режим происходит в конце цикла,поэтому это сильно не мешает,чтобы просмотреть работу программы на эмуляторе.
 
Владимир, 19:49 20 мая 2010 г.
 
а какой должна быть тинька? attiny13-20pu?
 
епт, 19:51 18 мая 2010 г.
 
Серый,  
просба к Вам и авторам других комментариев,пишите строго по теме данной конструкции.
 
Vladimir, 20:09 08 мая 2010 г.
 
aahz,  
да действительно, ход мыслей в чём то у нас схож был при создании таймера,(я ваш проект прежде не видел и вашего исходника там тоже не увидел) , 
мой таймер меня попросила сделать племянница для работы в лаборатории,они для этих целей купили китайский таймер с механической подзаводкой,который ещё и глючил,срабатывал через раз,
 
Vladimir, 10:13 06 мая 2010 г.
 
вот моя конструкция http://easyelectronics.ru/forum/mydevice/topic-1166
 
aahz, 07:41 06 мая 2010 г.
 
Исходники и прошивка есть в архиве.
 
Серж, 01:29 06 мая 2010 г.
 
вы просто супер, выложили фотографию кода, и то не всего!!! огромное спасибо!
 
бэтэн, 22:16 05 мая 2010 г.

Добавить комментарий
Имя:
Комментарий:



Код:* Code

 

ARV Reserch: Электроника — просто, полезно, увлекательно. Электронные устройства и программные средства для радиолюбителей и профессионалов, только авторские разработки, плагиата нет! Разработки на заказ.