Site Loader

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

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

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

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

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

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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


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

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

ФОНАРИК НА МК 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 — Меандр — занимательная электроника

Рассмотрим легкий и неразорительный способ записать программу в любой микроконтроллер (МК) серии AVR от Atmel. Нам понадобятся программатор USBASP и программное обеспечение для прошивания, также если на вашей плате установлен 6-пиновый разъём, вам потребуется переходник с 10 выводов на 6.… Продолжить чтение →

Описание и назначение устройства Публикация статьи рассчитана больше на начина­ющих — тех, кто только пытается заняться освоени­ем и пониманием работы устройств на AVR микро­контроллерах. Поэтому приведённый здесь проект в AVR Studio с текстом исходного кода написан с под­робными комментариями. Мне… Продолжить чтение →

В статье описано несложное устройство, позволяющее орга­низовать поиск приземлившихся моделей ракет и других объ­ектов, оснащённых радиомаяками. В нём использованы готовые радиомодули на частоту 433 МГц. Формирователь модулирую­щего сигнала радиомаяка выполнен на микроконтроллере ATtiny13A—PU. Приёмник имеет простую направленную антенну и телефонный… Продолжить чтение →

Автоматические включатели освещения на базе датчиков при­сутствия человека весьма полезны в плане экономии электро­энергии. В статье представлены результаты работы автора над собственными конструкциями таких приборов. Основная идея разработки заключа­лась в применении в автоматиче­ских включателях освещения единого модуля микроконтроллера с возмож­ностью… Продолжить чтение →

Сегодня я расскажу вам, как с помощью встроенного в микроконтроллер ATtiny13 ШИМ-модуля сделать цифровой 8-битный генератор опорного напряжения 0 — 5В. Идея девайса до гениальности проста. На одном из выходов контроллера с помощью встроенного модуля ШИМ генерируются прямоугольные импульсы, которые… Продолжить чтение →

Суточный таймер на микроконтроллере 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] (скачиваний: 512)

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

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

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

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

Дайджест о микроконтроллере 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 проблема отсутствует.

alexxlab

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

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