Схемы на attiny 13: 403 — Доступ запрещён – Схемы на ATtiny

Суточный таймер на микроконтроллере Attiny13


В современном мире автоматизация проникла буквально во все области жизни человека. Всем нам порой хочется, чтобы бездушная автоматика сделала за нас какую-нибудь скучную рутинную работу – полила цветы, проветрила помещение, покормила кошку, напоила собаку… Не с проста говорят, что лень – двигатель прогресса, ведь ленивый человек готов потрудиться и создать такое электронное устройство, которое сделает за него всё, что потребуется. А уж если ленивый человек дружит с паяльником, то дело остаётся за малым, лишь создать эту самую автоматику.

В этой статье рассмотрим процесс создания электронного таймера, который в заданное время включит и выключит нагрузку. Такому таймеру можно найти множество применений – например, раз в сутки с его помощью поливать цветы, или грядки в огороде. Автоматически включать свет ночью и выключать днём, когда светло, или же раз в сутки наливать воду в поилку домашнему питомцу. В общем, устройство получается абсолютно универсальным, область применения ничем не ограничивается.

Схема:

На схеме имеются две управляющие кнопки, пронумерованные цифрами «1» и «2». Кнопка «1» устанавливается время включения нагрузки, а кнопка «2», соответственно, время выключения. Для лучшего понимания принципа работы рассмотрим такой пример: имеется ёлочная гирлянда, которую нужно каждый день включать в 13:00 и выключать в 15:00. Значит, для установки временных интервалов работы таймера нужно в 13:00 нажать кнопку «1», при этом реле включится примерно на минуту, затем дождаться 15:00 и нажать кнопку «2», реле опять-таки включится примерно на минуту, сигнализируя об успешной установке времени. В дальнейшем реле будет автоматически включать гирлянду в 13:00 и выключать в 15:00 каждый день. Мигающий светодиод свидетельствует о работоспособности устройства.

Схема содержит в себе две микросхемы – микроконтроллер Attiny13 и часовую микросхему DS1307. Напряжение питания всей схемы – 12 вольт. Благодаря линейному стабилизатору 78l05 на плате микросхемы получают нужное им питание 5 вольт, а обмотка реле питается от 12-ти вольт. Параллельно обмотке реле следует поставить маломощный диод, например, 1N4148. Транзистор SS8050, управляющий реле можно заменить на любой другой маломощный NPN транзистор. Кнопки в обвязке микроконтроллера следует взять без фиксации.

Особенность часовой микросхемы DS1307 состоит в том, что она может работать от резервного питания, если вдруг пропадёт основное. Для этого к её выводам 3 и 4 нужно подключить источник питания на 3 вольта, например, батарейку CR2032. В этом случае при пропадании питания отсчёт времени будет продолжаться, как только основное питание появиться вновь, устройство продолжит работать в прежнем режиме, включая и выключая реле в заданные часы. Не следует забыть ставить параллельно питанию как основному, так и резервному конденсаторы электролитические и керамические, для подавления помех любого рода. Резистор светодиода, идущий от 7-й ноги часовой микросхемы, можно уменьшить до 0,5 – 1 кОм, тогда его яркость заметно увеличится.

Перед установкой на плату микроконтроллера его необходимо прошить, файлы прошивки к статье прилагаются. Удобнее всего это делать с помощью USBASP программатора. При использовании нового, ранее не используемого микроконтроллера фьюзы менять не нужно. С завода микроконтроллеры Attiny13 тактируются от внутреннего генератора с частотой 9,6 МГц, делитель на 8 включен.

Суточный таймер на микроконтроллере Attiny13

Печатную плату можно сделать по лазерно-утюжной технологии, так называемый «ЛУТ». Фото моей платы:

Суточный таймер на микроконтроллере Attiny13

После залуживания плата приобретает такой вид:

Суточный таймер на микроконтроллере Attiny13

Список необходимых деталей:

Резисторы 0,125 Вт:
• 6,8 кОм (682) – 1 шт.
• 10 кОм (103) – 1 шт.
• 4,7 кОм (472) – 2 шт.
• 3 кОм (302) – 1 шт.

Конденсаторы:
• 100 мкФ (электролитич.) – 2 шт.
• 100 нФ (керамич.) – 2 шт.

Остальное:
• Микроконтроллер Attiny13 (+ панелька) – 1 шт.
• Микросхема DS3107 (+ панелька) – 1 шт.
• Транзистор SS8050 – 1 шт.
• Диод 1N4148 – 1 шт.
• Кнопка без фиксации – 2 шт.
• Стабилизатор 78l05 – 1 шт.
• Светодиод на 3 вольта – 1 шт.
• Кварц 32768 Гц – 1 шт.
• Реле на 12 вольт – 1 шт.

Фото собранного мной устройства:

Схема, печатная плата и файлы для прошивки находятся в архиве:

pechatnaya-plata-i-fayly-proshivki.zip [36.13 Kb] (скачиваний: 483)

Суточный таймер на микроконтроллере Attiny13 Доставка новых самоделок на почту

Получайте на почту подборку новых самоделок. Никакого спама, только полезные идеи!

*Заполняя форму вы соглашаетесь на обработку персональных данных

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Простой счетчик витков на Attiny13a

РадиоКот >Схемы >Цифровые устройства >Автоматика >

Простой счетчик витков на Attiny13a

Пришлось недавно мотать трансформаторы с большим количеством витков — работа даже чем-то приятная, но вот со счёта я всё время сбиваюсь. Обычные решения вроде калькулятора с герконом на знаке «равно» не устраивали — за отсутствием того самого калькулятора, да и не эстетично это как-то. Как и не эстетично использовать для этих целей Атмеги, Ардуины и более высокие контроллеры. Готовых схем в интернете не нашлось, а если и были, то сопровождались десятками деталей и бородой из проводов. Пришлось придумывать самому, ибо не может столь простое устройство требовать столь сложной схемы.

Из подходящих деталей нашeл контроллеры Attiny13a, светодиодный семисегментный дисплей на «драйвере» из шифт-регистров, аккумулятор от сотового телефона, а также пары светодиод-фототранзистор, которые раньше служили датчиками уровня краски струйного принтера.

 

 

 

 

 

 

 

Дисплеи такого типа продаются с уже распаянной платой на два восьмибитных шифт-регистра 74HC595, и стоят ненамного дороже чем просто семисегментные дисплеи. Основной их плюс в том, что можно обойтись всего тремя портами ввода данных: DIO, CKL и RCK. А портов как известно на Attiny13a совсем немного — всего три на дисплей и два на датчики. Также отпадает надобность в четырёх транзисторах, что ставятся при использовании обычной динамической индикации, требующей целых 7+4 портов микроконтроллера.

 

 

 

 

 

 

 

Датчиками служат две пары светодиод-фототранзистор (например ITR9608), расположенные рядом друг с другом. В данном случае они используются как эмиттерные повторители, притягивая каждый свой порт на высокий уровень, когда фототранзистор принимает свет. В принципе, можно обойтись и одним датчиком (естественно, изменив прошивку), но тогда счетчик не будет «видеть» в какую сторону вы вращаете вал. А это неудобно, если приходится отматывать и переукладывать витки.

Вращая вал намоточного станка мы вращаем также диск с прорезью, находящийся между светодиодами и фототранзисторами, таким образом периодически прерывая световые лучи. Прорезь должна быть достаточно широкой чтобы одновременно пропускать свет на оба фототранзистора. Подробности работы программы можно понять из исходников, которые я постарался получше комментировать. Прошивку делал используя USBASP-программатор под линуксом, при компиляции исходников надо указать стандарт c99. Исходники прилагаются, так как я исповедую «Open Source».

Схема всего счетчика представлена ниже. Изначально в схеме предполагалось использовать кнопку сброса, но затем я понял что она по сути не нужна — можно просто щелкнуть туда-сюда выключателем.

Печатную плату рисуем в вашей любимой программе, или берём готовую в случае если нашли такие же детали как у меня. Я не стал заморачиваться с ЛУТ — в основном по причине отсутствия рабочего утюга. Просто накернил места отверстий, нарисовал дорожки специальным маркером и вытравил плату, использовав тот самый состав из перекиси водорода + соли + лимонной кислоты. Облудив и распаяв детали, можно проверить работу схемы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее кончается электроника и начинается механика — тут уже дело вкуса и пристрастий. Кто-то может прикрутить электропривод, мне же нравится крутить вручную. Это удобнее когда провод очень тонкий и легко рвётся — рука лучше чувствует натяжение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Устройство готово, инспектора довольны 🙂

Файлы:
Прошивка микроконтроллера
Печатная плата
Исходники программы на «СИ»

Все вопросы в Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

ATTiny13 — GetChip.net

Устройство этой статьи собрано на ATtiny13 и предназначено для управления тремя нагрузками 220 вольт при помощи бытового ИК-пульта. Сделано устройство на базе уже знакомой Вам универсальной платы ИК-драйвера. Устройство является ревизией ранее сделанного устройства управления нагрузками. На первый взгляд, функционал устройства остался прежним, но изменения есть — ниже я о них напишу.   Предыстория создания… Читать далее »

Раздел: ИК-управление Метки: 1WIR, ATTiny13, IR, Модули

Продолжая тему «Подстраиваемого светодиода» и преследуя цель опробовать в деле умную светодиодную ленту на базе WS2812B (NeoPixels) родилось новое устройство — Adjusty strip — продвинутый индикатор уровня! Ленту на пробу мне предоставил магазин DiyLab.com.ua Если Вам понравится устройство и Вы захотите его повторить, то ленту в Украине можно приобрести в этом-же магазине — ссылка на… Читать далее »

Раздел: Светильники Метки: ATTiny13, WS2812B

Что такое Adjusty LED? Допустим, в Вашей светомузыке стоят цветные светильники (красный – низы, зеленый – центр, синий – верха) и Вам надоело именно такое распределение цветов по частотам. Что делать? Конечно, менять светильники местами или менять светодиоды на другие в самих светильниках! Но можно сделать гораздо удобней – установить в светильник подстраиваемый RGB-светодиод, цвет… Читать далее »

Раздел: Светильники Метки: ATTiny13, LED

Представляю новое (ну почти новое) устройство — интерактивный обучающий стенд «Времена года» для маленьких детей. Дети нажимают кнопки на стенде и слушают информацию по выбранному месяцу или времени года. Автором идеи и ее исполнителем является Валентин Горбунов. Мною только делались прошивки для модулей стенда. Несколько следующих статей будет посвящено этому стенду. Как видите, Валентин постарался… Читать далее »

Раздел: Стенд ВГ Метки: ATTiny13

  Контроллер доступа с ключами TouchMemory (DS1990A) предназначен для управления электромагнитным замком. Устройство выполнено на базе микроконтроллера ATtiny45 (или ATtiny13). Устройство предельно простое и дешевое в изготовлении.   1 Схема устройства: Контроллер может быть выполнен на одном из двух микроконтроллеров ATtiny45 или ATtiny13. Различия будут заключаться в количестве запоминаемых ключей и некотором функционале (схема и… Читать далее »

Раздел: Полезные устройства Метки: ATTiny13, ATtiny45

  Сегодняшним устройством будет датчик приближения на инфракрасных лучах. Датчик собран на недорогом микроконтроллере Attiny13, прост в изготовлении и не нуждается в какой либо наладке.   Видео работы датчика: Чем отличается такой датчик от, скажем, датчиков движения заводского исполнения (которые, кстати, стали очень доступными и недорогими)? Главное отличие – это область применения. Готовые датчики все-таки… Читать далее »

Раздел: ИК-управление Метки: ATTiny13

1 Сомнения. Я долго сомневался в необходимости написания программы для управления компьютером от IR-пульта. С одной стороны, существует много аналогичных устройств/программ (как платных, так и бесплатных) с хорошей функциональностью и ничего нового в эту область я добавить не смогу. С другой стороны, раз уж аппаратная часть нами собрана (преобразователь IR-to-UART) почему бы не использовать ее… Читать далее »

Раздел: ИК-управление Полезные программы Метки: ATTiny13, IR, Программы

1 Отмазки. Смотрю я на дату последней статьи и вижу — давненько я ничего не писал для блога :(. И причина даже не в том, что писать было не о чем, скорее наоборот, сразу взялся за столько проектов, что трудно было довести до ума хоть один из них. Кроме того, на работе в последнее время… Читать далее »

Раздел: ИК-управление Метки: 1WIR, ATTiny13, UART

Имея устройство IR-to-UART, которое выдает по UART код нажатой на IR-пульте клавиши , совсем не сложно сделать прошивку для прямого дрыганья ногами микроконтроллера. Единственная проблема в том, что заранее неизвестно какой пульт мы будем использовать или какую клавишу задействуем. Придется приделать к программе кусок, позволяющий изучать нужные кнопки. Этим мы сейчас и займемся! Согласитесь, очень… Читать далее »

Раздел: ИК-управление Метки: 1WIR, ATTiny13

Пришло время обкатать новую универсальную плату для IR устройств.  Для начала соберем что-то несложное. Решил сделать преобразователь IR сигналов от бытовых пультов в UART команды — давно обещал. Это устройство показательно для блога – это именно готовое решение для Вашего проекта, поэтому постараюсь сделать его максимально полезным. Как должно работать это устройство? Да очень просто!… Читать далее »

Раздел: ИК-управление Метки: 1WIR, ATTiny13, SMD, UART

ФОНАРИК НА МК ATTINY-13

Выбросили вот такой фонарик. Cтоял в нём свинцовый аккумулятор и галогенка на 55 Вт.

Забрал, решил ему переделать питание на литий и лампу на светодиоды. Спаял с черырех кусков тестолита, что-то типа лампочки на 10 светодиодов 5730.

Сразу скажу, что лучше делать шестигранную основу, потому как пучок света имеет форму квадрата, что не совсем приятно для глаз. Чтобы не грелись, ток выставил 30 мА на каждый. Общий ток 300 мА. Спаял регулируемый драйвер на Атини 13.

Схема драйвера

ФОНАРИК НА МК ATTINY-13 - Схема

Работа такая: при включении будет максимальная яркость. Если передернуть питание (выключить и включить) то яркость упадет до 50%, еще раз передернуть — упадет до 25%, еще раз — до 5%. Слабый режим мало пригоден, но если надо скрытно что-то осветить, то например замок открыть он позволит. Если на каком нибудь из режимов фонарь проработает более 1 секунды, то этот режим запоминается и при следующем включении фонарь будет работать на нем. Для смены опять передергиваем питание.

ФОНАРИК НА МК ATTINY-13 - Схема

Есть защита от разряда. При падении напряжения до 3.3 вольт, яркость автоматически будет уменьшаться, для продления время работы. При снижении напряжения до 3.1 вольта, фонарь несколько раз мигнет и выключиться, чтобы не угробить АКБ. Такое напряжение отключения выбрано мной делителем на резисторах, можно подстроить под себя. Схема и прошивка, а также плата —  в архиве. На плате дополнительно установлены несколько радиоэлементов не нарисованных в схеме, для повышения стабильности работы.

ФОНАРИК НА МК ATTINY-13 - Схема

Драйвер — просто ШИМ. Изначально был рассчитан на работу с полевым транзистром Р-типа. Я его немного доработал под более распространенный транзистор. Данный транзистор без нагрева тянет 50 Вт нагрузку. Автор: Сергей-78.

   Форум по LED фонарям

   Обсудить статью ФОНАРИК НА МК ATTINY-13


Дайджест о микроконтроллере Attiny13 — Информация, описание, справочник и проекты на микроконтроллере Attiny13

Потребовалось восстановить работоспособность детской игрушки. Функционал очень простой — по нажатию кнопки начинают играть светодиоды. Проходит несколько секунд и игрушка выключается. И так до следующего нажатия на кнопку. Выключателя нет — часовые батарейки-«таблетки» в количестве трех штук питают устройство непрерывно, а родной неизвестный китайский контроллер, залитый каплей компаунда, больше не работает. Как видите, очень просто… Читать далее »

Метки: led, powerdown, прерывания, проект, сон

Годы назад усилители звука были довольно громоздкими и требовали к себе определенного внимания. Надо было следить за перегрузками, уровнем стереобаланса и так далее. В помощь пользователям применялись различные индикаторы, чаще всего — стрелочные. Автор следующего проекта решил вспомнить детский восторг от прослушивания музыки с усилителем, на котором был установлен сдвоенный стрелочный индикатор. Конструктор пробовал применять… Читать далее »

Метки: аналог, звук, индикатор

Наверняка вы хотя бы раз попадали под струю автоматического ароматизатора в туалете. Это не самое приятное ощущение, учитывая концентрацию ароматического вещества. Автор следующей статьи задумался, как бы сделать так, чтобы ароматизатор срабатывал только без присутствия человека. При этом чтобы не менять корпус фабричного устройства и не использовать дополнительные источники питания. В качестве датчика присутствия применён… Читать далее »

Метки: проект, таймер

Блуждая по иностранным площадкам, нашел новогодний сувенир. Не зря самое простое, с чего начинают изучение микроконтроллеров — это пример blink. «Подёргать ногами» микроконтроллера — одна из важнейших возможностей. В проекте новогодней снежинки автор подошел к делу комплексно, и даже заказал печатные платы на стороне. Суть его устройства в том, что под управлением Attiny13 с прошивкой,… Читать далее »

Метки: led, игрушка, проект

Давно подмечено, что экспериментируя с умным домом, люди в первую очередь стремятся автоматизировать включение освещения. Иногда для этих целей подходит датчик движения (объемный или PIR или инфракрасный), но я на своем опыте убедился, что у него есть ряд недостатков. Datasheet датчика пишет, что он точно определяет человека в поле зрения 5 метров. Однако в моём… Читать далее »

Метки: 2313, датчик, проект, сонар, ультразвук

Копошась на интересных сайтах и форумах, я нашел универсальный проект инфракрасного локатора. Его можно применять, как самостоятельное решение, а также для периферии какого-то более крупного проекта. Суть проекта в наличии ИК-светодиода и ИК-приёмника. Луч светодиода светит либо прямо на приёмник, либо на какую-то поверхность, удалённую до одного метра, и в зависимости от обнаружения отражений микроконтроллер… Читать далее »

Метки: IR, локатор, проект, сигнализация

Следующая схема показалась мне простой и полезной, потому что микроконтроллер Attiny 2313 решает там сразу несколько задач. Кто из автолюбителей не знает, как бывает грустно, если забудешь выключить фары, потом придешь, а машина уже не заводится? Так вот, параллельно с оповещением водителя звуковым сигналом, описываемое устройство позволяет, реализовать «вежливое освещение салона» — плавное затухание и… Читать далее »

Метки: авто, освещение, проект, сигнализация

Как оказалось, влезать в тему создания устройств с использованием микроконтроллеров надо с нескольких направлений. Я сначала не хотел ввязываться в Ардуино, а потом попробовал, и мне даже понравилось. В каких-то ситуацих можно быстро и просто программировать в среде Arduino IDE, загружая прошивки в Attiny. Безусловно, памяти это съедает много. Библиотеки и методы компиляции для одного… Читать далее »

Метки: ардуино, книги, полезное, ссылки, форум

Охрана имущества — одна из основных задач, делегированных электронным приборам. Сигнализацию, конечно, можно купить готовую. Сейчас их продается много и стоят они не дорого, однако если вы на этом сайте, и тем более, читаете эту статью, значит, решили сделать себе охранную систему самостоятельно. Бороздя просторы сайтов с проектами, я нашел интересный проект простой универсальной сигнализации… Читать далее »

Метки: GSM, датчик движения, проект, сигнализация, фонарь

Одно из первых и самых очевидных применений микроконтроллеров — анализ каких-либо данных и вывод результата на некий индикатор (экран). После того, как вы уже научились мигать светодиодами (или «дрыгать ножками» микроконтроллера), можно попробовать сваять и вот такую схему. Вашему вниманию представлен термометр и гигрометр в одном. Автор на сайте habrahabr предлагает довольно простой и недорогой… Читать далее »

Метки: гигрометр, индикатор, проект, термометр

attiny13a / Поиск по тегам / Сообщество EasyElectronics.ru

Возникла давеча простенькая задачка. Нужен был регулируемый вручную ШИМ для теста одной идейки. Под рукой тинька 13 — т.е. цепляем переменник на АЦП и выводим что нам нужно. Казалось бы — проще только светодиодом помигать. Однако. Смеркалось.
Всё быстро воткнуто в макетку, с помощью мастера в CodeVision несколькими щелчками собран проект. Для теста на выход — светодиод. Включаю: горит на полную, кручу резистор — реакции нет. Шустро проверяю все соединения, питание, схему, прошивку — эффект остается. После трехкратного повторения тех же действий возникло недоумение. Беру другую тиньку, прошиваю, включаю — болт. Похоже проблема не в чипе. Некоторое время созерцаю код сгенерированный CodeVision — придраться не к чему. Открываю datasheet, вникаю. Изучил ADC, проверил — всё по канонам. Перешёл к ШИМ.
Краткое описание устройства аппаратного ШИМ на Attiny13 для начинающих:
ШИМ сделан на базе таймера. Т.е. у таймера есть несколько режимов работы, два из них относятся к ШИМу (FastPWM и Phase Correct PWM). Таймер настраивается с помощью двух регистров: TCCR0A,TCCR0B. В них задается режим, частота (делитель), какие каналы используются (есть два — 0A и 0B), режим работы выхода(прямой, инвертированный). Значение ШИМа задаются в регистрах OCR0A и OCR0B — соответственно для каждого канала. Есть ещё у ШИМа такая настройка — чем определяется максимальное значение таймера(TOP), при достижении которого он сбрасывается и бежит с начала — это может быть либо 0xFF, либо значение в регистре OCR0A. У меня был установлен второй режим и значение ШИМа я задавал в регистре же OCR0A.
Немало времени ушло у меня пока я нашёл свою ошибку и ещё больше пока догнал её смысл. Хотя сейчас всё кажется очевидным. Для тех кто, как и я, в танке — TOP должен быть 0xFF. Надо заметить, что настройка режимов через регистры не радует интуитивно понятным интерфейсом. Так вышеозначенный режим определяется битами WGM02:0, два из которых находятся в регистре TCCR0A(00,01), а третий(02) в TCCR0B. Правда мастер CodeVision при начальной настройке здесь наше всё, но когда нужно что-то подправить уже в процессе вот тут-то и приходится поднапрячься.
Короче, следующие грабли. Яркость регулируется, но вот беда: когда довожу ручку до минимума всё равно подсвечивает. Т.е. на АЦП у нас 0, а на выходе не 0. Обидно, понимаешь. Причина такого поведения в том, что в тот момент, когда таймер сбрасывается в 0, на выходе чип выставляет 1, и хотя значение ШИМа у нас задано 0, и уже в следующем такте он это видит и обнуляет выход, но вот этого несчастного скачка достаточно что бы светодиодик светил. Дискомфорт — ты ждешь на выходе чистый 0, а тут тебе гребеночка такая. Вообще говоря проблема известная. Решение приходит в голову практически сразу: когда меняем значение ШИМа, добавляем проверочку на 0 — при оном отключаем ШИМ совсем. Воникает вопрос: как отключать? Можно останавливать таймер. Не лучший вариант: а вдруг на этот таймер что-нибудь ещё посажено? Второй ШИМ, например, или прерывания, или отсчет времени до взрыва? Можно отключать выход таймера — это уже получше, и просто и понятно, получается примерно так:
if(OCR0A==0)TCCR0A&=0x3F;
else TCCR0A=0x83;

Как вариант можно менять режима работы самого пина выход/вход.
P.S.
Из комментариев к статье были получены ещё такие решения:
1. Если не принципиально получать 100% заполнения ШИМ, то можно использовать инверсный режим работы выхода;
2. При работе ШИМ в режиме Phase Correct PWM проблема отсутствует.

Author:

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

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