Светодиодная гирлянда на МК Attiny13

Светодиодная гирлянда

Попросили меня как-то собрать несложную и недорогую гирлянду на микроконтроллере. Под руку попался самый дешёвый восьми битный AVR микроконтроллер Attiny13. В данной статье я хочу пошагово описать процесс сборки данного устройства.

Из деталей нам понадобится:
Микроконтроллер Attiny13 — 1шт.
Панелька DIP-8 — 1шт.
Резистор 4.7кОм — 1шт.
Резистор 100 Ом — 5шт.
Штырьки PLS — 2шт.
Светодиоды (любые) — 5шт.
Гнездо BLS-2 — 1шт.
Отсек для батареек — 1шт.

Необходимые компоненты

Сборку устройства я разделил на несколько этапов:
Этап 1. Изготовление платы
Этап 2. Запаивание радио деталей на плату
Этап 3. Изготовление программатор для прошивки микроконтроллера
Этап 4. Прошивка микроконтроллера

Этап 1. Изготовление платы

Внимание! Крайне не обязательно изготавливать плату, можно воспользоваться макетной платой. Но всё же лучше и красивее изготовить плату для устройства.

И так, для начала нам понадобится следующее:
Кусочек текстолита (размером 45 на 30мм)
Хлорное железо
Небольшая ёмкость
Вода
Перманентный маркер
Немного технического спирта или одеколона
Ластик

Поверхность текстолита покрыта медной фольгой, а фольга, как и любой другой металл имеет свойство окислятся на воздухе. Поэтому возьмём ластик и протрем медную часть текстолита.

Обработка платы

Далее берём перманентный маркер и рисуем дорожки на текстолите (как показано на рисунке ниже).

Рисуем дорожки

Нарисовали? Отлично. Теперь надо вытравить плату используя хлорное железо.
Во время травления, хлорное железо выедает (не закрашенную маркером) часть медного покрытия текстолита.

Хлорное железо

И так, поскольку хлорное железо это порошок нам его надо развести в воде.
Вот пропорция: 100гр. хлорного железа на 700мл воды. Но нам так много не надо, поэтому берём 10гр. на 100 мл. воды. Далее в этот раствор опускаем нашу плату.

Травление платы

И ждём примерно часа два (пока раствор хлорного железа не выест не закрашенную часть медного покрытия текстолита).

После того, как плата вытравилась, достаём её из емкости и промываем под проточной водой.

Промывка платы

Вот фотография вытравленной платы.

Плата

Теперь стираем с платы маркер (для этого отлично подходит технический спирт или одеколон).

Стираем с платы маркер

Далее нам необходимо сделать в плате отверстия под радио детали. Внизу показано где на плате делать отверстия.

Делаем отверстия

Поскольку у меня нет электродрели я использую свой школьный циркуль

Делаем отверстия

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

Обработка наждачкой

Теперь включаем паяльник и залудим плату. Внизу фотография залуженной платы

Лужение платы

Оставшийся на плате канифоль можно стереть техническим спиртом или жидкостью для снятия лака.

Готовая плата

Плата готова! Этап 1 завершен!

Этап 2. Запаивание радио деталей на плату

После того как сделали плату (а может кто-то не делал её, а решил использовать макетную плату) необходимо запаять на неё радио детали.

Схема светодиодной гирлянды на микроконтроллере Attiny13:

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

Запаиваем радио детали на плату (по схеме выше) и получаем следующее устройство:

Готовая плата

Далее вставляем провода отсека для батареек в гнёзда BLS и зажимаем их.

Всё устройство почти готово, дело остаётся за малым это прошить микроконтроллер.
Этап 2 завершён!

Этап 3. Изготовление программатор для прошивки микроконтроллера

Внимание! Если у вас уже есть программатор для AVR микроконтроллеров вы можете пропустить этот этап и прошить микроконтроллер самостоятельно! Скачать прошивку вы можете по ссылке внизу страницы.

Собирать программатор мы будем на LPT порт компьютера. Вот схема программатора:

Схема программатора

На рисунке в прямоугольнике (где LPT порт) номер контакта, куда подсоединять проводок. Провода старайтесь делать покороче (не более 20 см). Если провода будут длиннее 20 см то во время прошивки или чтения микроконтроллера будут ошибки, которые могут стоить микроконтроллеру жизни!
Будьте очень аккуратны, LPT порт очень легко спалить!

Для изготовления программатора нам понадобится:
25-контактный разъем для LPT порта (папа)
Резисторы 150 Ом 4 шт.
Резистор 10 кОм 1 шт.
Батарея на 3 вольта

Вот мой вариант программатора:

Программатор

Теперь можно приступить к прошивке микроконтроллера.

Этап 4. Прошивка микроконтроллера

Внимание! В этом этапе описывается прошивка микроконтроллера Attiny13 с помощью программы PonyProg2000 и программатора на LPT порт.

Всем известно, что без прошивки, микроконтроллер — это ничего не делающая микросхема, а чтобы она управляла нашей гирляндой нам её надо прошить.
Для прошивки мы будем использовать ранее изготовленный нами LPT программатор, компьютер и программу PonyProg2000.
Для начала скачайте прошивку для гирлянды (ссылка внизу страницы), потом из интернета скачайте программу PonyProg2000 и установите её.

Теперь всё почти готово для прошивки микроконтроллера. Остаётся лишь подключить микроконтроллер к программатору а программатор подключить к компьютеру. 
После того как всё подключили запускаем программу PonyProg2000.

Далее нам надо откалибровать программу PonyProg2000, для этого следуем по пути: Setup > Calibration

Выскачет такое окно:

Калибровка

В окне нажимаем кнопку «Yes».

После калибровки появится вот такое сообщение:

Калибровка

Все, программа откалибрована!

Теперь заходим в настройки (Setup > Interface Setup…). Появится вот такое окно:

Настройка

Далее выбираем «Parallel», «Avr ISP I/O», LPT1 и нажимаем кнопку «ОК»

После в главном окне программы выбираем «AVR micro», «Attiny13»

Настройка

Теперь осталось открыть прошивку, для этого в меню «File» выбираем «Open Device File…». В списке «Тип файлов:» выбираем «*.hex» и указываем путь к прошивке нашей светодиодной гирлянды, нажимаем кнопку «Открыть».

Открытие прошивки

В главном окне нажмите на кнопку «Write device»:

Открытие прошивки

После появление такого сообщения:

Окончание процесса прошивки

Микроконтроллер прошит и работоспособен! Но подождите нам ещё необходимо установить фьюз биты. Кстати, фьюз биты это раздел (4 байта) в AVR микроконтроллерах в котором хранится конфигурация работы микроконтроллера.

Для установки фьюз битов в меню «Command» выберите «Security and Configuration Bits…», в появившимся окне нажмите кнопку «Read» и установите галочки как на картинке ниже:

Установка фьюзов

После установки галочек (как на картинке выше) нажмите кнопку «Write». Всё готово!
Теперь выключите компьютер и извлеките микроконтроллер из программатора, вставьте микроконтроллер в панельку на плате гирлянды. Если всё сделано правильно, то при подаче питание (3 вольта) гирлянда должна заработать!

Готовое устройство

В заключении хотелось бы сказать, что программу я писал в среде BASCOM-AVR (исходник прилагается), программе 9 подпрограмм эффектов, так что ничего не мешает создавать вам свои эффекты.

По умолчанию устройство имеет 4 разных эффекта:
1. Бегущая точка
2. Бегущая линия
3. Переключение светодиодов
4. Моргание

Скачать прошивку, исходники, проект в Proteus вы можете ниже

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Гирлянда
U1 МК AVR 8-бит ATtiny13 1
R1-R5 Резистор 300 Ом 5
R6 Резистор 4.7 кОм 1
D1-D5 Светодиод 5
Панель 1 DIP-8
Программатор
Резистор 10 кОм 1
Резистор 150 Ом 4
Элемент питания 3 В 1
25-контактный разъем для LPT порта (папа) 1
Панель 1 DIP-8