Идея делать украшения из электронных компонентов не нова. Особенно приятно, если это не просто красивая кучка деталек, а работающая схема, которая светится, мигает и переливается… Расскажу о своем опыте конструирования подарка на 8 марта.
«Он живой и светится»
Безделушка представляет собой ожерелье, каждое звено которого снабжено светодиодами. Зажигая и гася их в определенном порядке, можно будет реализовать разные красивые световые эффекты. Проблема состоит в том, как управлять звеньями независимо и не превратить украшение в моток проводов. Как нельзя лучше здесь подойдет шина 1-Wire, так как она позволяет использовать всего 2 проводника и для передачи сигналов, и для питания.
Кратко о принципе работы 1-Wire
Как уже было сказано, шина состоит из двух проводов: сигнального и заземленного. На шине может быть одно ведущее устройство и множество ведомых. Каждое ведомое устройство имеет свой уникальный 64-битный адрес (в микросхемы 1-wire адрес зашивается при изготовлении, гарантируется отсутствие двух чипов с одинаковыми адресами). Сигнальный провод шины подтянут к «плюсу» питания через резистор, от него питаются ведомые устройства в режиме ожидания. Передача данных осуществляется кратковременным замыканием сигнального проводника на землю: на 15 мкс для передачи «1», на 60 мкс — для «0». Во время импульса низкого уровная ведомые устройства питаются от накопительных конденсаторов, которые обычно встроены прямо в микросхему.
Ведомые схемы
Каждая бусина будет состоять из микросхемы приемника 1-wire и двух светодиодов разных цветов. В качестве приемника берем DS2413 — двухканальный ключ с выходным током до 20 мА, что для наших целей более чем достаточно. Вот схема подключения, ничего лишнего:
Конструктивно все это умещается на плате размером меньше ногтя, светодиоды на лицевой стороне, микросхема — на обратной.
Ведущая схема
Дирижировать оркестром будет микроконтроллер ATTiny13V. Для управления шиной 1-wire использованы три ноги. А зачем три? Одна (PB2) для передачи данных путем замыкания шины на землю, подключена непосредственно. Вторая (PB1) для включения-выключения подтяжки, включена через резистор 1,5 кОм. В режиме ожидания этот вывод позволяет отключать шину от источника, экономя энергию. Третья нога (PB0) — для подачи напряжения на светодиоды через резистор 470 Ом, так как сопротивление подтяжки слишком велико для питания светодиодов. Смотрим схему:
Питается устройство от ионистора — конденсатора огромной емкости (1 фарад). По сравнению с батарейками и аккумуляторами у него куча преимуществ:
- Он почти вечный, сотни тысяч циклов заряд-разряд.
- Ему не нужны сложные зарядные устройства, достаточно ограничительного резистора.
- Он не боится короткого замыкания.
- Он не боится перепадов температуры.
Емкость ионистора, конечно, на порядок ниже, даже чем у часовой батарейки, но наша схема так мало потребляет (10 мА в импульсе, 7 мкА в режиме ожидания), что заряда должно хватать часов на пять.
Еще несколько комментариев по схеме. Конденсатор С2 можно не ставить, он был нужен в предыдущей версии проекта, на контроллере Tiny12, для генерации случайных чисел. Tiny13 позволяет делать это программно. Кнопка RESET, в принципе, тоже не нужна, но лучше её поставить, зачем — описано в разделе «Осторожно, грабли». Диод D1 защищает от переполюсовки при заряде ионистора, и просто красиво смотрится — цветная стеклянная трубочка :)
Плата ведущего модуля имеет форму сердечка (видно на фото в заголовке статьи), причем одно из полужополушарий его образует ионистор.
Руки — из ножен!
От слов к делу, для изготовления всей этой красоты понадобятся:
- Две серебряные цепочки. Лучше брать не обычные, из колец, а круглые в сечении, похожие на канатик (господа ювелиры, подскажите, как такое плетение называется?).
- Немного серебряной (или посеребренной) проволоки, диаметр 0,5 — 1,0 мм.
- Текстолит фольгированный двусторонний, 1,5 мм толщиной. Годятся даже обрезки.
- Лазерный принтер, утюг и хлорное железо. Если вам ближе технология с фоторезистом — вы знаете, что делать.
- Контроллер ATTiny13V, в корпусе SOIC. Именно с буквой V, обычные не работают при низком напряжении. Еще лучше Tiny13A, это более поздняя модель.
- DS2413, 10 штук. Можно взять больше или меньше, не принципиально.
- Светодиоды SMD, двух разных цветов. У меня использованы зеленые и оранжевые. Белые и синие брать не рекомендую, для их работы требуется более высокое напряжение (до 4 вольт), ионистор чуть сядет, и они уже перестанут светить. Лучше брать с запасом по количеству, светодиоды любят сгорать от статики в самый неподходящий момент.
- Ионистор 1Ф 5,5В.
- Резисторы, конденсаторы SMD в ассортименте. Можно не покупать, а взять любую старую плату (например, от CD-ROMа), и выпаять оттуда.
- Малогабаритный разъем. Годятся, например, разъемы, которыми в некоторых мобильниках к плате подключен динамик. Еще можно взять микроразъем для антенны от какого-нибудь WiFi/Bluetooth/GSM устройства.
Изготовление бусин
Все платы изготовлены лазерно-утюговым методом. Не буду подробно его расписывать, это обсуждалось здесь раньше. Плату печатаем на глянцевой бумаге, рисунок утюгом переводим на текстолит, затем травим хлорным железом, тонер смываем ацетоном, лудим плату, сверлим отверстия.
Бусины изготовляются сразу по 8 штук на одной плате. Затем режем плату на кусочки, отбраковываем неудачные, оставшимся надфилем придаем желаемую форму. Фото с заготовками на разных стадиях:
Перемычки между сторонами платы делаются из проволоки. После распайки компонентов бусина выглядит так:
Прежде чем нанизывать бусины на цепочку, нужно проверить их работоспособность и (ВНИМАНИЕ!) считать адреса, зашитые в каждой микросхеме, ибо после подключения всех модулей к одной шине сделать это будет сложнее. Если у вас есть адаптер 1-Wire — отлично. Если нет — нужно взять контроллер, запрограммировать на считывание адресов и подключить по очереди к каждой бусине. Подробнее о считывании будет сказано во второй части.
Изготовление ведущего модуля
Плата ведущего модуля делается аналогично, методом лазера и утюга. После отмывки тонера и перед лужением нужно перевести на плату контуры, по которым ее будем вырезать. Печатаем контур на глянцевой бумаге, прикладываем к плате, совмещая по меткам, проглаживаем утюгом, отмываем бумагу водой. Затем аккуратно насверливаем по контуру отверстия:
Лишнее обламываем кусачками:
Дорабатываем надфилями:
Готовая плата после распайки компонентов, сверху:
и снизу:
Обратите внимание, на плате не предусмотрено никаких подключений для программатора, поэтому контроллер нужно прошивать отдельно и устанавливать на плату в самый последний момент.
Сборка
Бусины крепятся к цепочкам следующим образом: делаем из серебряной проволоки скобки и припаиваем к цепочке в заранее отмеченных местах. Используем для этого относительно тугоплавкий припой, я брал бессвинцовый (Sn 95 Ag 5).
Аналогично готовится нижняя цепочка, только интервалы между скобками должны быть чуть больше, чтобы после сборки получился полукруг.
Бусины припаиваем уже к скобкам, причем используя более легкоплавкий припой (можно обычный ПОС-60) и паяльник с терморегулятором, чтобы вся конструкция не отпаялась от цепи. Контакт должен быть как с лицевой стороны платы, так и с изнаночной. Важно не перепутать верх и низ. Контакт, куда идут аноды светодиодов — это верх, припаивается к длинной цепочке.
Свободные концы нижней цепочки нужно прикрепить к верхней, но так, чтобы не было замыкания. Для этой цели выпиливаем два маленьких текстолитовых треугольника, разрезаем фольгу на каждом на две площадки (печатать и травить эти фитюльки было уже лень), после чего припаиваем к цепочкам уже знакомыми скобками.
Сердечко вешаем на верхнюю цепочку посередине, с помощью петли из проволоки. Концы нижней цепочки просто припаиваются к контактным площадкам.
Все собрали, проверили еще раз, промыли спиртом от остатков флюса. Картинки кликабельны:
Зарядное устройство
Ну, устройство — это громко сказано. Схема заряжается от USB порта через резистор 47 Ом, ограничивающий начальный импульс тока. До 3 вольт ионистор заряжается за пять минут, полностью — около получаса.
Осторожно, грабли!
В ходе сборки и отладки обнаружено два неприятных обстоятельства. Во-первых, цепочка, хоть и серебряная, ток проводит очень плохо, сказывается наличие десятков сочленений. До крайних бусин сигнал уже не доходит. Пришлось взять тонкую (0,15 мм) посеребренную проволочку, аккуратно обвить вокруг цепочки и припаять к каждому модулю. С расстояния в метр эта проволока уже незаметна.
Грабли вторые: при очень медленном повышении напряжения питания контроллер отказывается стартовать. Не знаю, это особенность всех AVR-ок или только моего экземпляра. Обнаружилось это в самый последний момент, когда все уже было собрано, прошито и распаяно. Пришлось с обратной стороны платы поставить микрокнопку, которая замыкает ионистор накоротко. При кратковременном нажатии разрядиться он не успевает из-за своего внутреннего сопротивления, зато появляется импульс в цепи питания, которого достаточно для запуска контроллера. Если кто будет собирать подобную конструкцию, не повторяйте моих ошибок, сразу ставьте кнопку RESET.
Чертежи плат в Eagle, а также готовые шаблоны для печати одним архивом:
nekaka.com/d/oDpQyHL9CY
Напоследок видео работы. Это тестовая прошивка, которая проверяет все светодиоды. Окончательный вариант будет немного с другими эффектами.
Вторая часть статьи будет посвящена написанию прошивки для контроллера. Продолжение следует.
Автор: Ocelot