Что можно сделать на attiny13. Миниатюрный таймер-напоминатель на микроконтроллере ATtiny13A. Схема и описание. Сборка и ввод в эксплуатацию

Н. Салимов, г. Ревда Свердловской обл. Доступность литиевых элементов питания с длительным (до 10 лет) сроком службы позволяет радиолюбителям разрабатывать компактные устройства бытовой электроники: часы, таймеры, фонари, термометры. Один из вариантов термометра с питанием от литиевого элемента описан в предлагаемой статье.

В. Исаев, г. Астрахань. В доме автора нередко отключают электропитание, что очень некстати в тёмное время суток, когда детям нужно делать уроки, а у остальных членов семьи остаются незаконченными домашние дела. Это побудило его изготовить резервную систему питания.

Н. Салимов, г. Ревда Свердловской обл. Предлагаемый термометр способен работать с двумя датчиками температуры и может измерять её в двух местах (например, в жилом помещении и на улице) с дискретностью 0,1 °С в пределах от -55 °С до +99,9 °С. На страницах журнала за последние годы были опубликованы описания нескольких подобных устройств. В частности, статья Е. Лукьяненко и др. "Термометр повышенной точности с датчиком DS18S20" ("Радио", 2014, № 5, с. 48, 49). Но описанный в ней прибор, на мой взгляд, имеет существенные недостатки. В частности, применённый микроконтроллер ATmega8515-16PU избыточен для столь простого устройства, а трёх разрядов индикатора недостаточно для полноценного отображения информации. Эти недостатки устранены в термометре, схема которого изображена на рис. 1.

Ю. Мартынюк, п. Затобольск, Казахстан Выпускаемые сегодня промышленностью новогодние гирлянды укомплектованы, как правило, автоматическими переключателями, реализующими различные световые эффекты, но некоторые потребительские характеристики этих переключателей неудовлетворительны. Частота переключения гирлянд в большинстве случаев выше желаемой, нередки выходы из строя тиристоров или даже интегральной микросхемы, Поэтому самостоятельное конструирование автоматов световых эффектов всё ещё остаётся актуальным.

Система предназначена для независимого управления четырьмя объектами. На пульте есть четыре кнопки, а на приемнике есть четыре выхода. Каждая кнопка пульта отвечает за свой выход приемника, каждое нажатие кнопки меняет состояние соответствующего выхода приемника. На выходах приемника установлены ключи на полевых транзисторах. Состояния каждого выхода может быть только два - ключ открыт и ключ закрыт. Выходы можно нагрузить светодиодами оптореле или оптосимисторов, обмотками электромагнитных реле или постоянными резисторами, если нужно получение логического сигнала необходимого уровня. Дальность действия системы в основном зависит от яркости излучающего ИК-светодиода, используемого в пульте, и чувствительности интегрального фотоприемника, используемого в приемнике. Практически она не меньше 15 метров.

Как-то раз в руки к автору этих строк попало весьма интересное устройство, рожденное в СССР, в далеком 1976 году -его просто отдали за ненадобностью. Звали это устройство АДЗ-101У2, и оно представляло собой типичный образчик советского конструктивизма: тяжелый двадцатикилограммовый "чемодан", с ручкой для переноски в верхней части и мощным однофазным трансформатором внутри. Но самое интересное, что у этого "чемодана" напрочь отсутствовала задняя панель - и вовсе не потому, что прибор успел ее "посеять", нет. А дело здесь было в том, что обе его панели являлись... передними! С одной своей стороны "чемодан" представлял собой сварочный аппарат, а с другой - зарядное устройство для автомобильных аккумуляторов. И если как "сварочник" он особых эмоций не вызвал - еще бы, ведь всего-то 50 А переменного тока; то вот "зарядник" - вещь в хозяйстве, безусловно, нужная.

Шишкин С. В публикации представлено 9-каналыное реле времени, каналы которого выполнены на микроконтроллерах ATTINY2313. Это многоканальное реле времени (далее реле времени), которое управляет девятью нагрузками. Количество независимых каналов - 9. Нагрузки, подключенные к каналам, имеют свой временной интервал задержки, относительно момента нажатия кнопки (СТАРТ), и свой рабочий интервал. В общем случае все интервалы могут быть разными.

Итак идея проста. При подаче питания на ножке 3 МК (PB4) появляется высокий уровень и начинается отсчет назад. По истечении заданного срока высокий уровень пропадает. Все. Все то оно все, да вот еще же четыре ножки есть выбранного мной ATTINY13. А четыре ножки это четыре бита, а четыре бита это 16 комбинаций ноликов и единичек. Улавливаете? Еще нет? Тогда вот схема.

Конструкция представляет из себя устройство ИК-локатора реализованное на одном микроконтроллере AVR, микросхеме ATtiny13. Короткие пачки импульсов излучаются передатчиком (ИК-светодиодом) в инфракрасном диапазоне волн и принимаются, отразившись от поверхности своим фотоприёмником. Принятые отражённые сигналы обрабатываются и если восприняты, как полезный сигнал, отображаются светодиодной индикацией.

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

Данная простая мини-охранная сигнализация на микроконтроллере ATtiny 13 предназначена для охраны квартир, офисов, дач... При размыкании геркона сигнализация подаёт звуковой сигнал или при небольшой доработке можно сделать отправку SMS с мобильного телефона. Управление сигнализацией осуществляется ИК-брелками. Основные характеристики: динамическое питания фотоприёмника, пробуждение из режима "SLEEP" по прерыванию от сторожевого таймера в режиме "POWER-DOWN", и как следствие низкое энергопотребление - около 30мкА.

Принцип и алгоритм работы этого устройства очень похож на работу промышленных стандартных охранных систем, для охраны помещений. Предлагаемая простая охранная сигнализация срабатывает, от размыкания контактов датчика с нормально замкнутыми контактами в режиме охраны. В качестве, которого может быть:

Проволочный шлейф, рассчитанный на обрыв провода при нарушении периметра;

Герконовый датчик, реагирующий на перемещение куска магнита над его контактами, при открывании двери, например, или пассивный инфракрасный датчик заводского изготовления, реагирующий на изменение положения объекта с инфракрасным излучением, (коим является тело человека - нарушителя, в зоне охраняемого объекта).

Это небольшое самостоятельное устройство, препятствующее несанкционированному запуску двигателя автомобиля, мотоцикла, катера, яхты... которое работает независимо от других охранных систем. Для снятия блокировки двигателя необходимо нажать кнопку в определенном месте (выбранным на усмотрение владельца автомобиля) в салоне автомобиля. Это может быть как отдельно установленная скрытая кнопка, так и использование штатной кнопки автомобиля.

Для начинающих радиолюбителей, осваивающих микроконтроллеры, часто необходимо собрать и проверить прошивку или схему в действии на реальном микроконтроллере (например proteus зачастую просто отказывается адекватно симулировать схему с микроконтроллером). Для этих целей, и не только начинающие, используют отладочную плату и или макетную плату. Для микроконтроллеров Attiny13/15 и совместимыми с ними по распиновке выводов других микроконтроллеров, была изготовлена отладочная плата оснащенная минимальным необходимым функционалом. Такая плата имеет небольшой компактный размер и дешева в сборке.

На фото выше в микроконтроллер загружена программа и сама отладочная плата подключена к питанию 5 вольт через программатор от USB порта ноутбука.

Отладочная плата для микроконтроллеров Attiny13/15 построена по следующей схеме:

Для подключения микроконтроллера к отладочной плате используется разъем для микросхем в корпусе DIP-8 или по простому разъем "кроватка" для восьми-ногих микросхем. Данный разъем можно использовать как в обычном исполнении с прижимными контактами, так и в варианте с цанговыми контактами. Применение такого разъема обуславливается возможность быстрой замены микроконтроллера в отладочной плате при возможных неисправностях, связанных с самой микросхемой. Например, по неопытности можно залочить микроконтроллер. Быстрым решением будет заменить его в отладочной плате, а в будущем вылечить микроконтроллер с применением других средств - RC - цепочка или Fuse bit doctor"a. Также возможно будет быстро сменить марку микроконтроллера - например Attiny13 заменить на Attiny15 в рамках одной платы.

Ниже представлена готовая отладочная плата со стороны монтажа и со стороны пайки:

В качестве перемычек, помимо привычных проволочных, использовались резисторы типоразмера 1206 номиналом 0 Ом.

Итак, немного о том, что есть на отладочной плате. Начнем от питания - напряжение на микроконтроллер берется от программатора от USB порта (5 вольт), это напряжение к микроконтроллеру может подаваться напрямую или через три диода, понижающих напряжение до 3,2 - 3,3 вольт. Применение диодов обусловлено их минимальной стоимостью. При желании Вы всегда можете подредактировать печатную плату и применять стабилизаторы напряжения типа AMS1117 3,3 вольта. выбор питающего напряжения осуществляется перемычками Jmp1 и Jmp2 на отладочной плате. Удобно использовать джемпера с "ручками" как на фото, чтобы не изголяться при надобности перекинуть питание. Также питание от программатора на микроконтроллер поступает через ограничительный резистор R2. Его номинал можно брать от 0 Ом до примерно 10 Ом в зависимости от предпочтений. К выводу PB5 (reset) микроконтроллера резистором R1 подтягивается напряжение питания, это необходимо для предотвращения самопроизвольного перезапускания контроллера при наличии каких-либо помех. Также к этому выводу подключена тактовая кнопка для возможности вручную перезапустить микроконтроллер в процессе отладки какой-либо схемы или прошивки.

Так как приоритетом данной отладочной платы является изготовление не самых сложных проектов, то на плате предусмотрены разъемы с цанговыми контактами для подключения трех светодиодов. Ограничивающие ток резисторы подобраны таким образом, чтобы можно было использовать светодиоды трех цветов одновременно (красный, зеленый и синий) - 180 Ом для красного цвета и по 100 Ом для зеленого и синего цвета. Такой разброс номиналов обусловлен тем, что падение напряжения на красных светодиодах, как правило, меньше, чем на других цветах. Такое решение позволит применять RGB светодиоды.

Однако применять можно и обычные светодиоды для индикации чего-либо.

Специально для программирования на печатной плате предусмотрен стандартный 10 пиновый разъем для программаторов AVR, например USBasp или AVRdoper или других.

Для подключения к выводам микроконтроллера различных компонентов или устройств предусмотрено несколько разъемов (штыревых соединений). С одной стороны два типа разъемов (PLS-5 и PBS-5) - включают контакт напряжения питания и контакт нулевого потенциала (Gnd), а также PB0, PB1, PB2 микроконтроллера. С другой стороны также два типа разъемов (PLS-4 и PBS-4 ) - включают контакт нулевого потенциала (Gnd) и контакты выводов микроконтроллера PB3, PB4, PB5. Отдельно имеется разъем PLS-3, включающий три контакта подсоединенных к напряжению питания Vcc. Подробнее смотрите схему электрическую принципиальную.

На плате имеются несколько конденсаторов, фильтрующих питание, подводимое к микроконтроллеру, для улучшения качества работы.

Для того, чтобы сразу же протестировать отладочную плату после изготовления была разработана простая прошивка, управляющая тремя светодиодами - они по очереди загораются и тухнут. Все необходимое будет приложено ниже. Эта не сложная отладочная плата может послужить толчком для изучения микроконтроллеров для новичков в этом деле - ведь ничего сложного в этом нет, если иметь самые начальные знания в языках программирования Cи или Assembler.

Для того, чтобы запрограммировать микроконтроллер Attiny13 тестовой программой (прошивкой) необходимо знать конфигурацию фьюз битов:

К статье прилагается тестовая прошивка для микроконтроллера Attiny13, проект для этого же микроконтроллера с использованием тестовой прошивки, исходный код в программе , печатная плата, нарисованная в , а также видео работы тестовой прошивки на отладочной плате.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
IC1 МК AVR 8-бит

ATtiny13A

1 ATtiny15 В блокнот
VD1-VD3 Выпрямительный диод

1N4148

3 В блокнот
C1 Электролитический конденсатор 10 мкФ 1 В блокнот
C2, C3 Конденсатор 100 нФ 2 В блокнот
R1 Резистор

10 кОм

1 В блокнот
R2 Резистор

4.7 Ом

1 От 0 до 10 Ом В блокнот
R3, R5 Резистор

100 Ом

2 В блокнот
R4 Резистор

180 Ом

1 В блокнот
LED1 Светодиод Красный 1 В блокнот
LED2 Светодиод Зеленый 1 В блокнот
LED3 Светодиод Синий 1 В блокнот
S1 Тактовая кнопка TC-A109 1 В блокнот
X1 Разъем PLS-4 1 4 штырька В блокнот
X2 Разъем PBS-4 1 В блокнот
X3 Разъем PLS-5 1 5 штырьков В блокнот
X4 Разъем PBS-5 1

Принципиальная схема и описание самодельного цифрового амперметра, выполненного на микроконтроллере ATtiny13, программа и печатная плата.

Как-то раз в руки к автору этих строк попало весьма интересное устройство,рожденное в СССР, в далеком 1976 году -его просто отдали за ненадобностью. Звали это устройство АДЗ-101У2, и оно представляло собой типичный образчик советского конструктивизма: тяжелый двадцатикилограммовый "чемодан", с ручкой для переноски в верхней части и мощным однофазным трансформатором внутри.

Но самое интересное, что у этого "чемодана" напрочь отсутствовала задняя панель - и вовсе не потому, что прибор успел ее "посеять", нет. А дело здесь было в том, что обе его панели являлись... передними! С одной своей стороны "чемодан" представлял собой сварочный аппарат, а с другой - зарядное устройство для автомобильных аккумуляторов.

И если как "сварочник" он особых эмоций не вызвал - еще бы, ведь всего-то 50 А переменного тока; то вот "зарядник" - вещь в хозяйстве, безусловно, нужная. Испытания прибора подтвердили его полную боеспособность (даже сварка работала!), но без недостатков, разумеется, не обошлось.

Суть проблемы состояла в том, что штатный амперметр "зарядника" скрылся в неизвестном направлении, и предыдущий владелец аппарата подыскал ему вполне "равноценную" замену - автомобильный амперметр, скрученный с какого-то военного грузовика, и имеющий очень "информативную" шкалу в ±30 А!

Понятно, что следить за зарядом аккумулятора (а ток зарядки - всего лишь 3-6 А!) при помощи такого вот прибора, мягко говоря, проблематично - как будто и нет его вовсе...

Поэтому решено было заменить "грузовиковый показометр" на какой-либо более или менее адекватный прибор, с внятной шкалой на 0-10 А. Идеальным кандидатом на эту роль представлялся стрелочный щитовой амперметр со встроенным шунтом - один из тех, которые раньше использовались практически во всех "зарядниках" советского производства, да и много где еще.

Однако, первая же прогулка по электромагазинам и "развалам" принесла разочарование: оказывается, ничего, хотя бы отдаленно напоминающего искомый прибор, уже давным-давно в продаже нет...

А так-так в то время автор еще не был знаком с бескрайними просторами китайских чудосайтов, то руки вновь потянулись к паяльнику, в результате чего и было разработано устройство, схема которого приведена на рис.1, а характеристики - в табл.1:

Таблица 1. Характеристики устройства.

Принципиальная схема

Для вывода результатов измерения в данном амперметре решено было использовать пару 7-сегментых LED-индикаторов. Такие индикаторы, несмотря на некоторую свою архаичность по сравнению с новомодными LCD-модулями типа 16хх, обладают также и рядом неоспоримых преимуществ: они гораздо надежнее и прочнее; не портятся и не мутнеют от контакта с нефтепродуктами (а замасленные руки в гараже - дело обычное, цифры на LED-индикаторах ярче и гораздо "читабельнее" - особенно издали; и к тому же, никакой холод в гараже светодиодам не страшен - в отличие от ЖК, который на морозе попросту "слепнет".

Ну а последним доводом в пользу светодиодной матрицы - в контексте данной разработки - стал тот факт, что длинный 1602 просто-напросто не вписывался по размерам в штатное отверстие для амперметра (круглое и очень небольшое!) на корпусе ЗУ. Определившись с типом индикатора, встал другой вопрос - какой же микроконтроллер использовать в качестве основы для данного устройства.

В том, что эту схему нужно строить именно на МК, сомнений никаких не возникало -делая амперметр на "КМОП-россыпи", можно повредиться рассудком. На первый взгляд, самым очевидным решением является "рабочая лошадка" ATtiny2313 -этот МК имеет достаточно развитую архитектуру, и вполне подходящее для подключения LED-матрицы количество линий ввода-вывода.

Однако, здесь все оказалось не так уж и просто - ведь для измерения тока в состав МК обязательно должен входить аналогово-цифровой преобразователь, но инженеры фирмы Atmel почему-то не оснастили "2313-й" данной функцией... Другое дело семейство Меда: эти чипы обязательно имеют "на борту" модуль АЦП.

Но, с другой стороны, даже ATMega8в - как самый простой представитель "старшего" семейства - обладает гораздо большей функциональностью, чем того требует построение простого амперметра. А это уже не самое лучшее решение с точки зрения классического подхода к проектированию!

Под "классическим подходом к проектированию" здесь подразумевается так называемый "принцип необходимого минимума" (горячим приверженцем которого, в пику новомодным "Ардуинам", является и автор этих строк), согласно которому любую систему следует проектировать с использованием минимально возможного количества ресурсов; а окончательный результат должен содержать в себе как можно меньше незадействованных элементов. Поэтому, в соответствии с этим принципом - простому прибору -простой микроконтроллер, и никак иначе!

Правда, и не все простые МК подойдут для поставленной задачи. Взять, к примеру, ATtinyl3 - в нем есть АЦП, он прост и недорог; да вот только линий ввода-вывода - для подключения матрицы из двух "семисегментников" - у него явно маловато...

Хотя, если немного пофантазировать, то такая проблема вполне разрешима - при помощи копеечного счетчика К176ИЕ4 и несложного алгоритма, этим счетчиком управляющего.

Вдобавок, у такого подхода есть даже положительные стороны - во-первых, отпадает необходимость "навешивать" на каждый сегмент индикатора по токоограничительному резистору (генераторы тока уже имеются в выходных каскадах счетчика); а во-вторых, в данной схеме можно использовать индикатор как с общим катодом, так и с общим анодом - для перехода на "общий анод" нужно изменить подключение транзисторов VT1 и VT2, выв. 6 DD2 подключить к линии +9 В через резистор 1 кОм, а левый вывод R3 соединить с "землей".

Рис. 1. Принципиальная схема самодельного амперметра (до 10А) на микроконтроллере ATtiny13.

Для того, чтобы управлять счетчиком при помощи МК, нужно задействовать всего две линии: одну - для сигнала счета (С), а другую -для сигнала сброса (R).

Причем, в ходе испытания устройства выяснилось, что КМОП-микросхема К176ИЕ4, будучи подключенной напрямую к линиям МК, вполне надежно работает с его ТТЛ-уровнями - без какого-либо дополнительного согласования.

А еще две линии МК управляют ключами VТ1-VТ2, создавая динамическую индикацию. Фрагмент исходного кода, где реализована процедура управления счетчиком DD2, приведен в листинге:

Рис. 2. Процедура управления К176ИЕ4.

Процедура написана на низкоуровневом языке AVR-Assembler; однако, она легко может быть переведена и на любой язык высокого уровня. В регистре Temp процедура получает число, которое необходимо отправить в счетчик К176ИЕ4 для отображения на индикаторе; линия 1 порта В микроконтроллера подключена ко входу сброса счетчика (R), а линия 2 - к его счетному входу (С).

Чтобы избежать мерцания чисел в момент переключения счетчика, перед вызовом данной процедуры необходимо погасить оба разряда, закрыв транзисторы VT1 и VT2 подачей лог.О на линии 0 и 4 порта В МК; ну а после того, как процедура отработает, уже можно зажигать тот или иной разряд индикатора. Кстати, благодаря счетчику К176ИЕ4, к любому МК можно подключить индикаторную матрицу 7x4, задействовав для этого только 6 линий ввода-вывода (две - для управления счетчиком, и еще четыре - для динамического переключения разрядов).

А если в "напарники" к К176ИЕ4 добавить еще один счетчик -декадный К176ИЕ8 - чтобы использовать его для "сканирования" разрядов; то появится возможность подключить к МК индикаторную матрицу величиной до 10 знакомест, выделив для этого всего лишь 5 линий ввода-вывода (две - для управления К176ИЕ8; две - для К176ИЕ4; и еще одна - для гашения индикатора в момент счета К176ИЕ4)!

В подобном случае алгоритм динамической индикации будет сводиться к управлению счетчиком К176ИЕ8, что во многом аналогично алгоритму передачи цифры в счетчик К176ИЕ4, приведенному в листинге выше.

К недостаткам же такого подключения индикаторной матрицы - помимо использования "лишней" микросхемы - можно отнести необходимость введения в схему дополнительного питания +9 В, т.к. попытки запитать КМОП-счетчики от +5 В, увы, не увенчались успехом...

В качестве индикатора в данном устройстве применим практически любой сдвоенный "семисегментник" с общими катодами, предназначенный для работы в схемах с динамической индикацией. Допустимо использовать и четырехразрядную матрицу, задействовав у нее только два из четырех имеющихся разрядов.

Правда, в процессе работы над схемой амперметра всплыла небольшая проблема - с подключением десятичной запятой: ведь она должна светиться в старшем разряде, и не гореть - в младшем.

И если все делать "по уму", то неплохо было бы выделить - для динамического управления этой самой запятой - еще одну ножку МК (т.к. в К176ИЕ4 никаких средств для управления запятыми не предусмотрено) - чтобы на нее "повесить" вывод индикатора, отвечающий за запятые.

Но, поскольку все линии ввода-вывода МК уже были заняты, то бороться с этой проблемой пришлось отнюдь не самым изящным способом: обе запятые решено было оставить постоянно зажженными, запитав соответствующий вывод индикаторной "матрицы" от линии +9 В через токоограничительный резистор R3 (подбирая его сопротивление, можно выровнять яркость свечения запятой относительно остальных сегментов); а лишнюю запятую в младшем разряде (крайнюю правую) просто замазать каплей черной нитрокраски.

С технической точки зрения такое решение сложно назвать идеальным; но в глаза "загримированная" подобным образом запятая совершенно никак не бросается...

В качестве датчика тока используются два параллельно соединенных резистора R1 и R2, мощностью по 5 Вт каждый. Вместо пары R1 и R2 вполне можно установить и один резистор сопротивлением 0,05 Ом - в таком случае его мощность должна быть не менее 7 Вт.

Более того, в "прошивке" микроконтроллера предусмотрена возможность выбора сопротивления измерительного шунта - в данной схеме может быть применен как 0,05-омный, так и 0,1-омный датчик тока.

Для того, чтобы задать микроконтроллеру сопротивление шунта, использующегося в конкретном случае, необходимо записать определенное значение в ячейку памяти EEPROM, расположенную по адресу 0x00 - для сопротивления 0,1 Ом это может быть любое число меньше 128 (в таком случае МК, будет делить результат измерений на 2); а при использовании шунта сопротивлением 0,05 Ом в эту ячейку, соответственно, следует записать число больше 128.

И если планируется эксплуатировать устройство с приведенным на схеме 0,05-омным шунтом, то о записи указанной ячейки можно и вовсе не беспокоиться, т.к. у нового (или "стертого в ноль") МК во всех ячейках памяти итак будет число 255 (0xFF).

Питать прибор можно как от отдельного источника - напряжением не менее 12 В, так и от силового трансформатора самого зарядного устройства. Если питание будет производиться от трансформатора ЗУ, то желательно задействовать для этого отдельную обмотку, никак не связанную с зарядной цепью; однако, допускается питать амперметр и от одной из зарядных обмоток.

В этом случае напряжение питания нужно брать до выпрямительного моста "зарядника" (т.е., непосредственно с обмотки), а в разрыв обоих проводов питания амперметра включить по резистору 75 Ом/1 Вт. Резисторы необходимы для зашиты "отрицательных" диодов моста VD1-4 от прохождения через них части зарядного тока.

Дело в том, что если подключить прибор к зарядной обмотке, не установив этих резисторов то, учитывая общую "землю" у моста VD1-4 и диодного моста зарядного устройства, около половины зарядного тока аккумулятора будет возвращаться в обмотку не через мощные диоды выпрямителя ЗУ, а через "отрицательное" плечо моста VD1-4, вызывая сильный нагрев маломощных 1N4007.

Установка же этих резисторов ограничит ток питания прибора и оградит диодный мост VD1-4 от протекания зарядного тока, который теперь, практически полностью, будет течь по "правильной" цепи - через мощные диоды выпрямителя ЗУ.

Принципиальная схема

Печатная плата для данного амперметра разрабатывалась под конкретные посадочные места в корпусе конкретного ЗУ; ее чертеж приведен на рис.3.

Индикаторная матрица устанавливается отдельно - на небольшой платке (отрезке "макетки" 30x40), которая крепится к основной плате болтами М2,5 через дистанционные втулки, со стороны монтажа; и соединяется с ней 10-жильным шлейфом.

Еще одной частью получившегося "бутерброда" является декоративная передняя панель из оргстекла, покрашенная с обратной стороны нитрокраской из баллончика (незакрашенным должен остаться только небольшой прямоугольник - "окошко" для индикатора).

Передняя панель также крепится к основной плате со стороны монтажа (болтами М3 с дистанционными втулками - ими же прибор крепится и к корпусу ЗУ). Печатные дорожки сильноточной цепи, идущие к резисторам R1 и R2, следует выполнить как можно более широкими, и припаять к ним выводы резисторов на всю длину, заодно усилив монтаж толстым слоем припоя.

В качестве выводов для подключения прибора к ЗУ желательно использовать два болта М3, припаяв их головки к плате, и закрепив с другой стороны гайками.

Рис. 3. Печатная плата для схемы цифрового амперметра на микроконтроллере.

Программа

При записи "прошивки" в МК его необходимо настроить для работы на частоте 1,2 МГц, от внутреннего тактового генератора. Для этого частоту тактирования следует выбрать равной 9,6 МГц, и включить внутренний делитель такта на 8.

Для увеличения надежности работы также желательно активировать внутренний супервайзор питания (модуль BOD), настроив его на сброс МК при "просадке" питающего напряжения ниже 2,7 В.

Все настройки производятся при помощи записи соответствующих значений в конфигурационные Fuse-ячейки: SUT1=1, SUT0=0, CKDIV8=0, BODLEVEL1 =0, BODLEVELO=1, WDTON=1. Остальные "фъюзы" можно оставить по умолчанию.

Прошивка для микроконтроллера и печатная плата формата Sprint Layout - Скачать .

Рис. 3. Плата амперметра на Attiny13 в сборе.

Рис. 4. Плата амперметра на Attiny13 в сборе (вид с обратной стороны).

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

Купил я ATTiny13 довольно давно. Лежали они и ждали своего часа. И тут на работе я нашел настольную световодную елочку со сгоревшей начинкой. Вот тут то и вспомнил про этик контроллеры.
Но все по порядку

Начнем с характеристик ATTiny13

Это 8-битные контроллеры от c RISC-архитектурой и сверхнизким потреблением.
  • Память для программ (FLASH) - 1Кб
  • Энергонезависимая память данных (EEPROM) - 64 Байт
    ОЗУ - 64 Байт
    Число входов/выходов - 6
    Выходов ШИМ - 2
    Аналоговых входов (АЦП 10бит) - 4
    Таймер 8 бит - 1
    Напряжение питания 1.8 - 5.5В
    Рабочая частота - до 20МГц
    Потребление в активном режиме 1.8В/ 1МГц - 190мкА
    Потребление в режиме сна 1.8В/1МГц - 24мкА
  • Я приобрел тиньки в корпусе DIP8.


    По сравнению с они очень маленькие

    Программирование ATTiny

    Программировать я решил из Arduino IDE, Тем более я уже На сайте arduino.cc есть . Оттуда же . Распаковываю архив в папку c:\Program Files (x86)\Arduino\hardware\ и в Arduino IDE появляются дополнительные платы
    Теперь загрузка программ. Объем памяти микропроцессора всего 1Кб и никакой загрузчик туда не поместится. Поэтому загрузка скетчей производится программатором по ISP. USBAsp, которым я программировал Atmega328 работать с тинькой не захотел. Нужна специальная прошивка программатора, с которой я не стал возиться. . Для этого собираю такую схему:
    В Arduino IDE выбираю «Файл->Образцы->ArduinoISP» и загружаю в Ардуино скетч программатора. Затем выбираю «Инструменты->Программатор->Arduino as ISP». Теперь можно загружать простые скетчи в тиньку. Следует отметить, что ATTiny13 core for Arduino содержит ограниченный набор функций Ардуино.

    Список функций Апдуино, поддерживаемых ATTiny13 core

    • random()
    • randomSeed()

    • millis()
    • micros()
    • delay()
    • delayMicroseconds() *
    • analogRead()
    • analogWrite()
    • pinMode()
    • digitalRead()
    • digitalWrite()
    • pulseIn() (Untested)
    • shiftIn() (Untested)
    • shiftOut() (Untested)

    Применение ATTiny13

    Решил восстановить такую елочку со световодами
    Изначально там стояла галогенная лампочка на 12В и моторчик, который крутил цветной диск-светофильтр

    Все это благополучно померло. Собираю такую схему с кусочком светодиодной ленты:
    на макетной плате
    Пусть тинька плавно изменяет цвета ленты. Но для этого нужно 3-х канальный ШИМ, а у ATTiny13 аппаратно только два таких выхода. Значит ШИМ будет программный на 3 канала, управляемый встроенным таймером.

    Скетч трех-канального ШИМ для ATTiny13

    #include #include #include #include uint8_t counter=0; uint8_t lev_ch1, lev_ch2, lev_ch3; uint8_t buf_lev_ch1, buf_lev_ch2, buf_lev_ch3; ISR(TIM0_OVF_vect){ if (++counter==0) //счетчик перехода таймера через ноль { buf_lev_ch1=lev_ch1; //значения длительности ШИМ buf_lev_ch2=lev_ch2; buf_lev_ch3=lev_ch3; PORTB |=(1<

    После этого остается только закрепить плату и ленту в корпусе елочки. Белый скотч наклеиваю для улучшения светоотражения внутри черного корпуса


    Елочка готова. Светит не хуже чем с галогенной лампочкой


    Выводы:

    Микроконтроллеры ATTiny13 вполне годятся для несложных задач автоматизации.Их достоинства: низкое потребление и небольшая цена К недостаткам можно отнести очень маленькие ресурсы и довольно сложную (по сравнению с обычным Ардуино) настройку программирования.Но безусловно, эти микроконтроллеры достойно занимают свою нишу