Электрификация

Справочник домашнего мастера

Гирлянда на светодиодах

ЦМУ/СДУ на микроконтроллере (8 каналов)

Наиболее подходящей платформой для такого устройства мне представляе-
тся микроконтроллер AT89C2051 фирмы Atmel, AT90S2313 (так же Atmel), ли-
бо PIC16F84 от Microchip. Я выбрал PIC16C84 — исключительно из соображе-
ний применить куда-нибудь устаревший кристалл (к сожалению, для данной
задачи он не очень удобен из-за особенности построения таблиц в програм-
мной памяти).
2. Возможности устройства.
Поддерживает четыре канала управления (используется фазовое управле-
ние тиристорами с дублирование на контрольные светодиоды).
Обеспечивает выбор одной из шестнадцати управляющих программ (однако
сейчас написано всего пять), или последовательное выполнение всех прог-
рамм и ручной выбор скорости (медленно, нормально, быстро) переключения.
3. Управление устройством.
Все управление производится с помощью четырех кнопок:
«<<» — выбор программы, переключиться на предыдущую;
«>>» — выбор программы, переключиться на следующую;
При выборе программы ее номер (в двоичном коде) отображается на инди-
каторных светодиодах в двоичном коде, до тех пор, пока нажата кнопка вы-
бора.
«Speed» — переключение скорости выполнения программы, циклически
«normal»>»fast»>»slow»>»normal».
«Demo» — автоматический перебор программ, после выполнения программы
начинается выполнение следующей. Этот режим отменяется при нажатии кноп-
ки «<<» или «>>».
Кроме того, при включении устройства можно выбрать дополнительные ре-
жимы, для чего надо нажать и удерживать кнопку «Demo», и, одновременно
с ней комбинацию из остальных кнопок, каждая из которых определяет сле-
дующие режимы:
«<<» — режим «резкого» включения/выключения, без плавной регулировки
яркости в канале;
«>>» — эта кнопка пока зарезервирована для будущего использования;
«Speed» — режим управления тремя каналами, четвертый канал в некото-
рых режимах не использовать (типа «бегущих огней»).
4. Конструкция и детали.
В качестве микроконтроллера U1 можно использовать PIC16C84 или
PIC16F84, с любой тактовой частотой. В качестве времязадающего элемента
— кварцевый или пьезорезонатор с частотой 4 MHz, особых требований к
стабильности не предъявляется. Тиристоры (симисторы) — практически лю-
бые, с достаточным запасом по коммутируемому напряжению. Диоды в «сило-
вом» выпрямителе — выбирать с достаточным запасом по току и по обратному
напряжению не менее 400 вольт. Токоограничивающие резисторы в цепи упра-
вляющих электродов тиристоров — рекомендуется выбирать с рассеваемой мо-
щностью не меньше 1 ватта.
Конструкция имеет гальванический контакт с сетью, поэтому металличес-
кие элементы наружного оформления не должны иметь контакта со схемой.
Особенно это относится к кнопкам управления. При налаживании устройства
необходимо соблюдать традиционные меры безопасности.
«Продвинутые» пользователи могут попробовать усовершенствовать управ-
ляющую программу или добавить новые световые эффекты (присылайте, пожа-
луйста, описание или «исходники» новых эффектов автору), программа на-
писана с использованием мнемокодов ассемблера spasm от Parallax inc.,
ftp.parallaxinc.com

В конце статьи добавлено обновление 2013 года!

Обновление 2015

Обновление 2016

Близятся новогодние праздники и по этому поводу хочется сделать что-то светлое праздничное! Решил, вот, сделать новогоднюю гирлянду. Что может быть светлее и праздничней чем новогодняя гирлянда? :). Гирлянду решил сделать не простую, а наворочанную! 12 каналов плюс управление от IR-пульта. Чтобы не делать гирлянду с нуля, решено было в качестве доноров внутренних органов запчастей использовать уже готовые китайские гирлянды. Это имеет смысл по следующим соображениям:
— стоимость гирлянд, будем честно говорить, стоимость — копеечная. Попробуйте за те же деньги накупить провода, светодиодов, запчастей… А если не брать за цель светодиодную гирлянду, то лампочковые гирлянды сейчас продают почти даром;
— немаловажный фактор – уже готовые спаянные до кучи линии светодиодов. Паять самому, садить в термоусадки, ошибаться-переделывать 12 линий работа довольно муторная;
— еще, не знаю как у Вас, а у меня валяется определенное количество нерабочих гирлянд (их часто мне таскают подремонтировать – так и оседают) можно вообще не тратиться на новые, а собрать из того что есть.

Для затравки смотрим видео:

ВНИМАНИЕ!
Схема гирлянды гальванически не развязана от сети опасного напряжения 220В!
Прикосновение к любой токопроводящей части включенной в сеть гирлянды
ОПАСНО ДЛЯ ЖИЗНИ!
ПОЭТОМУ:
— если Вы плохо разбираетесь в электричестве — не повторяйте эту конструкцию;
— любые действия (пайка, замеры и т.п.) со схемой нужно производить только отключив от сети;
— программирование микроконтроллера нужно производить или отдельно от платы (например, в специально собранной для этого макетке), или запитав плату гирлянды от внешнего источника напряжения 5 вольт (например, от батареек);
— готовая конструкция должна быть хорошо изолирована и недоступна для маленьких детей и животных;
— будьте внимательны при сборке конструкции!

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

1 Гирлянды пациенты.

В качестве жертв были куплены 3 новые светодиодные гирлянды – вот они красавицы 🙂

Стоимость по 3$ за штуку (100 светодиодов). Но китайцы если не сэкономят, то сами себе изменят! В гирляндах, по факту, оказалось по 3 канала. То есть сам контроллер четырех канальный, но тиристоров три и линий светодиодов тоже три. Дабы замаскировать такое безобразие китайцы в одной линии мешают светодиоды двух цветов. Короче, пришлось докупить еще одну :(. Но это еще не предел экономии, часто и густо каналов вообще два! Будьте внимательны – открывайте коробочку и смотрите, сколько стоит тиристоров.

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

2 Схема.

Вот схема оригинальной гирлянды:

Из схемы видно, что диммирование каналов светодиодов осуществляется тиристорами PCR406

PCR406.pdf (11265 Загрузок)

Не вижу смысла их менять на что-то другое. Для формирования напряжения питания оригинального контроллера используется гасящий резистор (гасящий резистор совместно с внутренним сопротивлением контроллера образуют делитель напряжения). Решение противоречивое, но в данном случае оправдывается дешевизной (ток контроллера незначительный и мощность, выделяемая на резисторе, очень мала). Взвесив за и против такого решения, решил и в своей схеме проделать нечто подобное. Правда ток ATtiny2313 (в пределах 8мА) значительно больше оригинального контроллера, но все же позволяет использовать гасящие резисторы.

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


093-Effector-dimmer-scheme2.zip (7804 Загрузки)

3 Печатная плата.

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

Устройство состоит из двух печатных плат. Первая – источник питания. Вторая, собственно, сам контроллер эффектов и IR-приемник. В виду большого количество каналов, уместить все на одной плате просто физически было не возможно. Кроме того источник питания, хоть и не значительно, но греется, поэтому «отселение» более чем оправдано. Размеры печатных плат сделаны под корпуса оригинальных гирлянд.

Источник питания реализован в двух вариантах: один, по подобию оригинальной гирлянды – резисторный делитель; второй (удалил — смотрите на форуме в обсуждениях) – классический вариант, для таких схем, резисторно-конденсаторный балласт со стабилитроном. Выбирайте какой вариант для Вас более приемлем, но, должен предупредить, что второй вариант мною не собирался и на работоспособность не испытывался (и разведен он, честно говоря, не удачно).

093-Effector-dimmer-PCB-.zip (Одна Загрузка)

Если, все-таки, с выводными элементами есть трудности, то вот рисунок печатной платы для SMD-компонентов. Не собирал, не испытывал. Заработает – отпишитесь.

093-Effector-dimmer-SMD-PCB.zip (5636 Загрузок)

4 Сборка платы контроллера.

Начнем со сборки платы контроллера. В нее, с оригинальных гирлянд, перекочуют тиристоры (уж очень замысловато их пришлось устанавливать на плате — внимательно паяйте, не ошибитесь), пара резисторов по 2 Мом, электролит, кнопка. Остальное придется докупить. Микроконтроллер я бы рекомендовал установить в панельку – мало-ли что… После того, как все в плату запаяно, внимательно просмотрите / прозвоните дорожки на предмет замыканий, так как это может стать причиной выгорания всего и вся — все-таки 220В. После запайки укладываем плату в корпус гирлянды.

5 Прошивка контроллера.

На плате контроллера выведены штырьки для программатора. Для прошивки микроконтроллера, запитайте его от ВНЕШНЕГО источника 5 вольт (например, от батареек). Не прошивайте микроконтроллер при включенной в сеть гирлянде – попалите все на свете!

093-Effector-dimmer1.zip (7776 Загрузок)
093-sshot-1.png (9144 Загрузки)

Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Как программировать микроконтроллеры читаем в FAQ.

6 Сборка платы источника питания.

Перед сборкой платы источника питания нужно проделать определенные замеры для расчета величины гасящих резисторов. Для этого подключаем спаянную плату контроллера с прошитым микроконтроллером к ВНЕШНЕМУ источнику 5 вольт (площадки +5v и -5v) и замеряем потребляемый ток. Подключать линии светодиодов не обязательно, они практически не оказывают влияние на потребляемый ток. Для обычного микроконтроллера ATtiny2313 без буквенных индексов потребляемый ток должен составлять около 7 — 9 мА. Для микроконтроллера ATtiny2313 с индексами (может быть A, P …) ток будет другой.

По полученному потребляемому току (Iпотр) рассчитываем сопротивление гасящих резисторов в батарее (принимаем большее из стандартного ряда):

R = 430 / Iпотр

Например, у меня потребляемый ток составил 9 мА, значит R = 430 / 0,009 = 47777 Ом (принимаем 47 кОм).

Нагромождение гасящих резисторов выполнено с целью распределения рассеиваемой мощности и уменьшения нагрева. Резисторы должны быть мощностью не менее 0.5 Вт (а лучше по 1 Вт).

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

Соединяем платы источника питания и контроллера (провода и вилку берем из оригинальной гирлянды). Не забываем, закрепить припаянные к платам провода горячим клеем, так как провода используемые китайцами, мягко говоря, говно и могут отвалиться в любой момент.

7 Формирование линий светодиодов.

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

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

Долго объяснять на словах – посмотрите на рисунки или подумайте сами как вам скрутить жгуты:

Жгуты скручены – теперь их припаиваем к контроллеру таким образом чтобы светодиоды каналов шли друг за другом последовательно.

8 Описание работы гирлянды.

При включении гирлянды в сеть, она начинает сразу работать со случайного эффекта. В процессе работы эффекты будут случайно менять друг друга. Если нажимать кнопку, то эффекты последовательно будут сменять друг дружку по очереди:
1 Волна
2 Падающая звезда
3 Искры
4 Медленные переливы
5 Бегущие огни
6 Мерцающие огоньки
7 Все горит-тухнет
8 Все горит
0 Все выключено

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

Работа от пульта аналогична работе кнопке на контроллере (нажимаем кнопку на пульте – последовательно меняются эффекты). Для изучения кнопки любого IR-пульта, нужно зажать кнопку на контроллере до момента пока не погаснет гирлянда (порядка 3 секунд), дальше нужно нажать выбранную кнопку на пульте. Код кнопки запишется в энергонезависимую память и гирлянда вернется к эффектам. Так как код хранится в энергонезависимой памяти, гирлянда будет «помнить» пульт даже после отключения от сети.

Напоследок считаю не лишним напомнить:

ВНИМАНИЕ!
Схема гирлянды гальванически не развязана от сети опасного напряжения 220В!
Прикосновение к любой токопроводящей части включенной в сеть гирлянды
ОПАСНО ДЛЯ ЖИЗНИ!
ПОЭТОМУ:
— если Вы плохо разбираетесь в электричестве — не повторяйте эту конструкцию;
— любые действия (пайка, замеры и т.п.) со схемой нужно производить только отключив от сети;
— программирование микроконтроллера нужно производить или отдельно от платы (например, в специально собранной для этого макетке), или запитав плату гирлянды от внешнего источника напряжения 5 вольт (например, от батареек);
— готовая конструкция должна быть хорошо изолирована и недоступна для маленьких детей и животных;
— будьте внимательны при сборке конструкции!

А вот и примеры, так сказать, вживую:

Присылайте свои — добавлю сюда.

Елка от AndreevKV. Большая получилась! 🙂

Елка от BOYka59. Все знакомые и особенно дети в восторге от нее)

Файлы:

093-Effector-Dimmer-triac.zip (4276 Загрузок)

Тема на форуме где разрабатывалась гирлянда.
Тема на форуме обсуждения готовой гирлянды.

Раздел модификаций на форуме, где можно найти варианты прошивок гирлянды.

И еще!

С наступающим Новым Годом!

Всем хорошего настроения и веселых праздников!

Update 1 (2013)

Особо не планировал что-то делать с этой гирляндой, так как времени на это в этом году уже нет, но по просьбам читателей все таки решился на небольшой апдейт!

Изменено немного.
Добавлено 6 новых эффектов:
— бегущая в разные стороны волна из 2х светодиодов
— последовательное заполнение и убывание
— последовательное заполнение и убывание с переменной бегущей волной
— случайное заполнение и удаление
— случайное заполнение и удаление с переменной бегущей волной
— агресивное мерцание
Время работы эффекта при принудительном переключении (пульт или кнопка) увеличено почти вдвое.
Вот собственно и все. Схема и фьюзы остались прежними. Необходимо перезалить новую прошивку.
Effector-dimmer-upd1.zip (3464 Загрузки)
093-Effector-Dimmer-triac-upd1.zip (3020 Загрузок)

С наступающим, теперь уже, 2014 годом !!! 😉

Варианты супергирлянды от читателей блога

Сергей Черний (Bleck_S)
Гирлянда реализована на одной плате с применением SMD компонентов

Effector-dimmer-SMD-from-Bleck_S.zip (2837 Загрузок)

Евгений

Измененная схема гирлянды с ключевым блоком питания.
(Блок питания опробован уже в 2-х конструкциях гирлянд и «запросто «вытянет» любой Atmel»)

Effector-dimmer_switch.zip (2597 Загрузок)

На печатной плате 4 перемычки — обозначены красными линиями.
Синими линиями обозначено «усиление» проводников — поверх проводника напаян провод.
Транзисторы 2N6517 и 2N6517С имеют разную цоколёвку (разводка на плате при необходимости легко меняется).
У IRF730 и 7805 аккуратно спилена верхняя часть (крепление под винт) (для экономии места, при необходимости).
На плате отсутствует ИК датчик (по сравнению с оригинальной конструкцией) … при необходимости может быть добавлен — прошивка МК его поддерживает.

Валентин Горбунов
Были замечены скачки напряжения питания МК до 7 вольт в момент подключения гирлянды к сети (дальше напряжение возвращалось в норму). Во время этого скачка МК подвисал — ни на что не реагировал. Для того чтобы убрать скачек напряжения (и стабилизировать напряжение вообще) в схему был добавлен стабилизатор напряжения 78L05. Будьте внимательны, установка 78L05 увеличивает общий ток потребляемый схемой, а значит балластные резисторы будут больше греться. По этой причине балластные резисторы должны быть не менее 1W! До окончательно установки платы в корпус убедитесь, что балластные резисторы не перегреваются при длительной эксплуатации!

Новогодняя светодиодная гирлянда на микроконтроллере

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

Основа автомата световых эффектов (см. рисунок) — микроконтроллер, что позволило сделать устройство максимально простым. Органы управления — переменный резистор R2 и кнопка SB1.

Схема

С помощью кнопки выбирают эффект (из десяти возможных), а переменным резистором регулируют скорость его воспроизведения (быстрее, медленнее).

Управляющие сигналы с выходов микроконтроллера DD1 через токоограничивающие резисторы R5, R6, R8, R9 поступают на базы транзисторов VT1—VT4, которые подают питающее напряжение на группы светодиодов HL1—HL3, HL4—HL6, HL7—HL9, HL10 -HL12. Резисторы R4, R7, R10, R11 ограничивают ток через светодиоды.

Рис. 1. Принципиальная схема автомата световых эффектов на светодиодах и микроконтроллере.

Блок питания данной светодиодной гирлянды собран на понижающем трансформаторе Т1, напряжение вторичной обмотки которого выпрямляется диодным мостом VD1, конденсатор С1 — сглаживающий. Не-стабилизированное напряжение с выхода выпрямителя используется для питания светодиодов, а напряжение питания микроконтроллера стабилизировано интегральным стабилизатором DA1.

Программа и прошивка для МК

Программы для микроконтроллера написаны на языке ассемблера. Всего было разработано два варианта. Первый вариант программы — файлы girla.asm и girla.hex (табл. 1) — обеспечивает следующие эффекты: постоянное свечение всех светодиодов; синхронное мигание светодиодов; «бегущие огни»; реверс «бегущих огней»; поочередное включение; поочередное выключение; реверс поочередного включения; реверс поочередного выключения; плавное нарастание яркости; автоматический перебор эффектов.

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

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

Значение некоторых констант, заложенных в программе, можно изменить от 1 до 255. Например, kons2 — число опросов кнопки для устранения влияния дребезга контактов кнопки (это значение изменять не рекомендуется). Число повторов каждого эффекта в режиме автоматического перебора (kons3) в программе равно трем, замедление изменения эффектов — kons4.

Интервал изменения скорости девятого эффекта — kons5, kons6, чем больше значения, тем выше скорость, причем сумма этих констант не должна превышать 255. Константы программного ежа ~ия интервала регулирования скорости смены эффектов со второго по восьмой — konu, mnkon. Сумма их значений также не должна превышать 255. После изменения значений констант программу необходимо заново откомпилировать и получить новый НЕХ-файл для программирования микроконтроллера.

Второй вариант программы — файлы girlat.asm и girlat.hex табл. 2 Взамен девятого эффекта (плавное нарастание яркости) здесь введен эффект «волна» — сначала плавное нарастание яркости свечения светодиодов и затем ее плавное снижение, скорость этого эффекта не регулируется, а последний эффект исключен.

Для включения автоматического перебора эффектов необходимо нажать и удерживать кнопку SB1 около двух секунд. Число повторов каждого эффекта — пять. Для выхода из этого режима на эту кнопку нажимают кратковременно. Во втором варианте программы не предусмотрено программного сжатия интервала регулирования скорости смены эффектов.

Большинство деталей, кроме светодиодов, выключателя питания, держателя плавкой вставки и понижающего трансформатора, смонтированы с применением проводного монтажа на макетной печатной плате, которая помещена в пластмассовый корпус подходящего размера. Внутри корпуса закреплен трансформатор, а на стенках — выключатель и держатель плавкой вставки.

Программы для микроконтроллера — (7КБ).

Детали

Применены постоянные резисторы МЛТ, С2-23, переменный R2 — СПО, СП4-1, его сопротивление может быть в интервале 1…50 кОм, но должно соблюдаться условие R1 = R2. Оксидные конденсаторы — импортные, СЗ — К10-17, светодиоды можно применить любые с допустимым током до 20 мА и напряжением до 3 В.

Транзисторы КТ315Б заменимы на транзисторы серий КТ315, КТ3102 с любыми буквенными индексами. Стабилизатор напряжения можно применить любой с выходным напряжением 5 В, диодный мост — также любой с допустимым током не менее 0,15 А и допустимым обратным напряжением не менее 20 В.

Понижающий трансформатор — с напряжением на вторичной обмотке 9… 10 В при токе до 0,15 А. Кнопка малогабаритная с самовозвратом — ПКн159, DTST-6, выключатель питания — МТ1, МТД-1, П1Т1-1. Четыре группы светодиодов свивают в одну гирлянду, в которой светодиоды должны расположиться в следующей последовательности: HL7, HL1, HL4, HL10, HL8, HL2, HL5, HL11 и т. д.

Налаживание

Налаживания устройство не требует. В случае необходимости яркость свечения светодиодов можно изменить подборкой резисторов R4, R7, R10, R11. При программировании устанавливают следующую конфигурацию микроконтроллера: CKSEL0=1, CKSEL1=0, RSTDISBL=0, SPIEN=0, BODEN=1, BOD-LEVELS.

В авторском варианте переменный резистор оказался невысокого качества (ненадежное прилегание подвижного контакта к резистивному слою), что иногда приводило к «зависанию» программы микроконтроллера. Этот недостаток был устранен установкой постоянного резистора 1 МОм между выводом 1 микроконтроллера и минусовой линией питания.

Оригинальная гирлянда на адресных светодиодах

Приветствую, Самоделкины!
Из этой статьи вы узнаете, как сделать крутейшую гирлянду на окно. Она настолько крутая, что вы такую точно нигде не купите, даже у китайцев. Но делать мы ее будем из китайских компонентов. Вот ирония, правда? Автором данной самоделки является AlexGyver.

Основной компонент гирлянды адресная светодиодная модульная лента. Маленькие модули со светодиодами спаяны проводами в длинные ленты по 50 штук. Расстояние между модулями 12 см.


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

Управляет лентой будет микроконтроллер, в нашем случае платформа arduino nano, то есть ее китайская версия.

И это собственно все, что нам понадобится для создания крутейшей матрицы-гирлянды. Ну и еще нужен резистор для защиты вывода микроконтроллера и мощный блок питания на 5В. Хотя, если не использовать полноэкранный режим, то будет достаточно usb зарядника для смартфона с током 1, а лучше 2А.


Также есть дополнительная возможность управлять матрицей со смартфона. Для этого нужно купить вот такой bluetooth модуль.

Автор купил много светодиодных модулей и как оказалось они соединяются вот таким образом:
Вот так выглядит одна связка на 50 диодов:
Давайте начнем приделывать ее на окно, но для начала немного теории. Монтировать ленту будем по схеме зигзаг. Сразу определите где у связки на краю пин DI, это будет начало ленты, к которому подключается микроконтроллер. Одной связки хватило только на одно окно, соответственно берем следующую и соединяем. Они снабжены разъемами.
Автор монтирует ленту светодиодами вовнутрь помещения, чтобы максимально крупным планом показать матрицу в кадре, так как он живет на высоком этаже и при нормальном монтаже светодиодами на улицу снять демонстрацию не получится.
Ну а вот кадры с монтажом ленты диодами на улицу:
Инструкция такая: моем окна изнутри, желательно даже обезжирить стёкла, размечаем по вертикали сетку с шагом 12 см, ну и само собой крепим ленту. Закрепить можно просто скотчем, кусочками или полосками в ширину окна. Самый главный пункт: окна снаружи должны быть грязными. Чем грязнее — тем лучше, тем больше будет пятно от одного светодиода и тем лучше смотреться эффект.
Далее заходим на страницу проекта и качаем архив с прошивками и библиотеками. Если это ваш первый раз, прочитайте подробную инструкцию по установке и настройке программы там все очень просто (инструкция есть на странице проекта).
Затем подключаем arduino к компьютеру, открываем файл прошивки GyverMatrixOS_v1.0.ino и глядим на стройки.
В главной вкладке нужно первым делом настроить размер своей матрицы и указать точку и направление подключения.
Рекомендуется также установить лимит по току, если используется слабый блок питания. Система сама ограничит яркость чтобы не насиловать блок питания, вот такая умная штука.
Далее есть настройки скоростей разных режимов. Тут есть режим ожидания, в котором крутится настроенный список эффектов. Также здесь можно настроить время между сменой эффектов из списка и время, спустя которое включается эта смена эффектов. Система поддерживает внешние кнопки для управления в играх, а также для экономии памяти, можно отключать целые куски прошивки, но это вам вряд ли пригодится.
Далее нас интересует вкладка «custom», здесь содержится настраиваемый список эффектов, которые будут сами переключаться. Вот они, все перечислены.
В оригинальной скаченной прошивке выводятся все доступные эффекты, их 15 штук, это: бегущий текст 3-ех типов, 3 игры и просто различные анимации. Также система умеет выводить изображения и гифки (.gif), но об этом как-нибудь в другой раз. В общем данный список можно редактировать по аналогии с тем, как он сейчас сделан, удалять режимы и менять их местами, а также добавлять новые бегущие строки с текстом. Главное не забыть указать суммарное количество режимов — вот здесь:
Некоторые эффекты можно настроить во вкладке «эффекты» (effects), там по ковыряйтесь, есть что-то интересное.
В общем жмем кнопку «загрузка» и прошивка загружается в arduino. После этого можно подключить все по схеме и наслаждаться эффектом.
Первый эффект — радужный вывод текста. Цвет букв сменяется в зависимости от их положения на матрице.
Далее самый новогодний эффект – «снег». Если вам мало снега зимой, сделайте себе такую гирлянду и наслаждайтесь снегопадом.
Следующий режим не менее новогодний, его можно трактовать как «конфетти» или «салют».
Далее классический эффект матрицы, как в фильме с Киану Ривзом.
Звездопад:
Бегающий квадратик:
Бегающие шарики или кометы:
Синусоиды. В этом примере параметры сгенерировались не очень удачно, каждый раз все будет по-разному.
Следующий эффект – «плывущая радуга», самый жрущий ток эффект из всех.
Далее «огонь», вот такой вот камин размером с окно. Главное, чтобы кто-нибудь пожарных не вызвал.
Игра «змейка». В режиме переключения эффектов змейка играет сама в себя, но можно перехватить управление с кнопок и продолжить играть.
Тетрис. Аналогично играет сам в себя и можно перехватить кнопок.
Лабиринт. Тоже сам себя проходит, правда без возможности проиграть.
Больше эффектов, а также подробно об изготовлении такой гирлянды в этом видеоролике:

А также можно подключиться к гирлянде-матрице при помощи приложения GyverMatrixBT, которое доступно для бесплатного скачивания в Play Маркете и перехватить управление лентой. Просто делаем любое действие и управление переходит телефону. Если в течение определённого времени с телефона не поступает никаких команд, то снова включается циклический список режимов.
С помощью приложения можно рисовать в режиме рисования, а можно загружать картинки прямо с телефона, и они будут отображаться на матрице.
Благодарю за внимание. До новых встреч! Доставка новых самоделок на почту

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

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

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

BOYka59 ›
Блог ›
12-ти канальная супер гирлянда

Скоро новый год и его нужно встретить красиво. Год назад наткнулся на статью, где была представлена гирлянда на ATtiny2313 от IR-пульта.

Что бы было интересней читать дальше вот не много видео моей гирлянды:

Тут же было принято решение сделать такую же)). Но дело в том, что я ни когда не паял такие вещи и даже не представлял как делать печатные платы и тем более ни когда не программировал МК. Через несколько дней все было готово и даже был собран программатор.

И так, нам понадобится три китайские гирлянды на 100 светодиодов.

Гирлянды обязательно должны быть на 4 канала. Это можно проверить открыв крышку коробочки, там должно быть 4 тиристора.
Но когда я покупал гирлянды продавцы мне не дали открывать коробочки и по этому мне попались на 3 канала как у автора. Пришлось идти и покупать еще одну гирлянду что бы получилось 12 каналов.
Но так получилось, что моя гирлянда была испорчена. В этом году я решил ее восстановить. Теперь при выборе гирлянд я смотрел, что б зажигались отдельно желтые, синие, красные и зеленые светики так как понимал, что мне опять ни кто не даст вскрывать коробочки.

Далее понадобится докупить чуть больше десятка резисторов, пару конденсаторов, микроконтроллер ATtiny2313 и еще по мелочи.

Вот схема этой супер гирлянды:

Потом делаем печатные платы, паяем и прошиваем МК.

Блок питания

Не буду копировать весь текст процесса сборки автора, кому захочется повторить сие чудо — милости просим.

Самое муторное это плести гирлянду. Я распутал все три гирлянды и потом их сплел вместе, но кому не охота заниматься макраме, тот может просто со смещением сложить вместе все гирлянды и обмотать леской.

При плетении гирлянды то и дело отрывались светики. Реанимация простая, разрезаем старую термоусадку припаиваем проводки обратно и садим новую термоусадку диаметром 5мм.

Качество сборки конечно не на высоте, но повторюсь, что это была моя первая поделка сделанная год назад.
Всем удачи, буду рад если кому то была полезна эта информация и понравилась гирлянда.

СДУ с микроконтроллером ATtiny2313 на 16 гирлянд

Эта СДУ разработана в двух вариантах. Первый управляет только расположенными на его плате светодиодами и предназначен для разработки и отладки программ световых эффектов. Микроконтроллер с отлаженной программой может быть перенесён на плату второго варианта СДУ, к которому можно подключить 16 осветительных приборов, питающихся от сети 220 В
Из 20 выводов микроконтроллера ATtiny2313 в рассматриваемых СДУ использованы 19: два — для подачи напряжения питания; один — для подключения кнопки, управляющей скоростью воспроизведения световых эффектов; 16 — для формирования сигналов управления гирляндами или другими световыми приборами.
Предусмотрено восемь значений скорости воспроизведения эффектов, их переключают по кругу нажатиями на кнопку. При минимальной скорости состояние гирлянд изменяется каждые 8 с, а при максимальной период смены уменьшается до 0,5…1 с. Следует иметь в виду, что из-за особенностей программы необходимая для переключения скорости длительность нажатия на кнопку довольно велика. К тому же она зависит от скорости, установленной в данный момент. Информацию о скорости микроконтроллер хранит в своём EEPROM, поэтому при включении СДУ она становится такой же, какой была в предыдущем сеансе работы.
Рис. 1. Схема СДУ с микроконтроллером ATtiny2313 на 16 гирлянд
Схема отладочного варианта СДУ, управляющего только светодиодами HL1—HL16, изображена на рис. 1.
Микроконтроллер DD1 работает от внутреннего RC-генератора частотой 4 МГц. Разъём ХР1 предназначен для соединения с программатором установленного в панель СДУ микроконтроллера. На время программирования цепь питания светодиодов должна быть разорвана выключателем SA1, что исключает их влияние на процесс программирования. Резистор R1 поддерживает высокий логический уровень напряжения на входе PD2 микроконтроллера, когда кнопка SB1 отпущена. При нажатой кнопке этот уровень становится низким.
Устройство собрано на печатной плате размерами 95×70 мм из фольгированного стеклотекстолита. Её чертёж показан на рис, 2. Для микроконтроллера на плате предусмотрена панель. Это позволяет запрограммировать его и проверить в работе, а затем перенести в другую СДУ, которая будет описана ниже.
Плата рассчитана на установку оксидных конденсаторов (С1 и С2) SR или аналогичных. Диэлектрик конденсаторов СЗ и С4 — керамика. Резисторы — CF-0,125 или другие подобные. Трансформатор Т1 — ТПГ-2 с вторичным переменным напряжением 6 В, конструктивно предназначенный для установки на печатную плату. Можно применить его аналог BVEI 306 2061 мощностью 2,6 В-А. Стабилизатор DA1 в рассматриваемом случае теплоотвода не требует. Кнопки SB1 и выключатель SA1 могут быть любыми, подходящими по размерам для установки на плату.
Второй вариант СДУ управляет не светодиодами, а лампами накаливания или другими световыми приборами на 220 В. Для этого каждая из пар резистор—светодиод предыдущего варианта заменена симисторным коммутатором, схема которого изображена на рис. 3. Для управления мощным симистором VS1 здесь использован оптрон 1)1, фотодинистор которого устроен так, что моменты его открывания всегда совпадают с переходами приложенного к нему напряжения через ноль. Это уменьшает создаваемые СДУ электромагнитные помехи.

Поскольку для управления оптроном МОС3043 достаточно тока через его излучающий диод всего 5 мА, суммарная нагрузка на микроконтроллер не превышает 80 мА. Общий ток потребления от узла питания в новом варианте приблизительно в два раза меньше. Это позволило отказаться от трансформатора и применить бестрансформаторный узел с гасящими конденсаторами. На его схеме (рис. 4) нумерация элементов продолжает начатую на рис. 1.
Печатная плата второго варианта имеет размеры 195×85 мм. Её чертёж показан на рис. 5. Элементы шестнадцати одинаковых коммутаторов имеют на нём позиционные номера с цифровыми префиксами, означающими порядковый номер коммутатора. Например, 8R1—8R3, 8U1, 8VS1 — элементы восьмого коммутатора, заменившего резистор R9 и светодиод HL8 и управляющего лампой накаливания (или собранной из них гирляндой) 8EL1.
Все 16симисторов 1VS1 — 16VS1 закреплены на общем теплоотводе из алюминиевой пластины размерами 160x25x2 мм, расположенной перпендикулярно поверхности платы. Крепёжные отверстия для симисторов просверлены в ней на высоте 19 мм от платы.
Симисторы ВТ138Х-600 в полностью изолированном корпусе TO-220F могут быть заменены приборами серий ВТ137—ВТ139 на 600 или 800 В, в том числе в обычном корпусе ТО-220 с металлическим крепёжным и тепло-отводящим фланцем. Поскольку этот фланец соединён внутри симистора с его выводом 2, а все эти выводы соединены на плате, изоляция симисторов от теплоотвода не требуется.
Рекомендуется сначала закрепить на теплоотводе симисторы, а затем смонтировать всю их сборку на плату. Непосредственно к выводам симисторов припаивают резисторы 1R3—16R3. Выводы 1 симисторов зажимают в обращенных к ним отверстиях винтовых зажимов ЗВИ-10-2,5-6 мм2, колодка с которыми (рис. 6) установлена вдоль длинной стороны платы рядом с сими-сторами. Всего в колодке 17 пар зажимов, 16 из которых служат для подключения ламп 1EL1—16EL1, а ещё одна — для их общего провода.
Конденсаторы С5 и С6 — К73-17В или импортные, способные работать при переменном напряжении не менее 250 В. Резисторы 1R1 —16R1 — MF-1.
Для микроконтроллера должна быть предусмотрена панель, в которую его следует устанавливать уже запрограммированным.
К статье прилагаются три версии программы микроконтроллера, пригодных для использования в обоих вариантах СДУ:
PG16H_S_REGULhex — 16 гирлянд работают независимо;
PG8_MK_S_REG.hex — две группы по восемь гирлянд работают синхронно;
PG4_MK_S_REGUL.hex — четыре группы по четыре гирлянды работают синхронно.
Конфигурацию микроконтроллера во всех случаях оставляют установленной на заводе-изготовителе.
Если используется меньшее число гирлянд (светодиодов), то элементы, относящиеся к неиспользуемым гирляндам, на платы описанных СДУ можно не устанавливать. При работе с СДУ второго варианта, все компоненты которого имеют гальваническую связь с сетью, необходимо соблюдать правила электробезопасности.

Простая 4-х цветная многоканальная гирлянда на основе микроконтроллера ATTINY13A

Как говорится в народе — готовь сани летом…
Наверняка на новый год украшаете ёлку всевозможными гирляндами, и скорей всего они уже давным давно приелись однообразием своего мигания. Хотелось бы сделать что-то такое чтобы ух, прям как на столичных елках мигало, только в меньшем масштабе. Или на крайний случай — повесить на окно, чтобы эта прям красота освещала город с 5-го этажа.
Но увы, в продаже таких гирлянд нет.
Собственно, именно эту проблему и пришлось решать два года назад. Причем, из-за лени от задумки до реализации прошло как обычно 2 года, и делалось все в последний месяц. Собственно, у вас времени будет больше(или я ничерта не смыслю в человеческой психологии, и все точно так же будет делаться в последние 2 недели перед новым годом?).
Получилась достаточно несложная конструкция из отдельных модулей со светодиодами, и одним общим который передает команды с компьютера в сеть этих модулей.
Первый вариант модуля задумывался так чтобы подключать их в сеть по двум проводам, чтобы меньше путаницы и все такое — но не срослось, в итоге потребовался довольно мощный и быстродействующий ключ чтобы коммутировать питание даже малого количества модулей — явный перебор для простоты конструкции, поэтому предпочтение отдал третьему проводу — не так удобно, зато гораздо проще организовать канал передачи данных.
Как все устроено.
Разработанная сеть способна адресовать до 254 подчиненных модулей, которые далее будут называться SLAVE — они соединены всего 3-мя проводами, как вы уже догадались — два провода это питание +12В, общий и третий — сигнальный.
они имеют несложную схему:
Как можно увидеть, она поддерживает 4 канала — Красный, Зеленый, Синий и Фиолетовый.
Правда, по результатам практического тестирования, фиолетовый хорошо видно только вблизи но зато как! Так же, из-за того что цвета расположены слишком далеко друг от друга смешение цветов можно увидеть только метров с 10, если использовать RGB-светодиоды ситуация будет несколько получше.
В целях упрощения конструкции так же пришлось отказаться и от кварцевой стабилизации — во-первых, лишний вывод забирает и во-вторых стоимость кварцевого резонатора довольно ощутима и в-третьих — в нем нет острой необходимости.
На транзисторе собран защитный каскад, чтобы не выбило порт контроллера от статики — линия все же довольно длинной может быть, в крайнем случае пострадает только транзистор. Каскад рассчитан в MicroCap и имеет примерный порог срабатывания около 7 вольт и слабую зависимость порога от температуры.
Естественно, в лучших традициях на адрес под номером 255 реагируют все модули — так можно их все одновременно выключить одной командой.
Так же в сеть подключен модуль называемый MASTER — он является посредником между ПК и сетью из подчиненных SLAVE-модулей. Помимо прочего он является источником образцового времени, для синхронизации подчиненных модулей в условиях отсутствия в них кварцевой стабилизации.
Схема:
В схеме есть не обязательные потенциометры — их можно использовать в программе на ПК для удобной и оперативной настройки желаемых параметров, на данный момент это реализовано только в тестовой программе в виде возможности назначить любому из 4-х каналов любой из потенциометров. Схема подключается к ПК через преобразователь интерфейса USB-UART на микросхеме FT232.
Пример выдаваемого пакета в сеть:
Его начало:
Электрические характеристики сигнала: лог.0 соответствует +9…12В, а лог.1 соответствует 0…5В.
Как можно увидеть, данные передаются последовательно, с фиксированной скоростью по 4 бита. Это обусловлено необходимым запасом на ошибку по скорости приема данных — SLAVE-модули не имеют кварцевой стабилизации, а такой подход гарантирует прием данных при отклонении скорости передачи до +-5% сверх тех что компенсируются программным методом на основе измерения калиброванного интервала в начале передачи данных который дает стойкость к уходу опорной частоты еще на +-10%.
Собственно, алгоритм работы MASTER-модуля не так интересен(он достаточно прост — получаем данные по UART и переправляем их в сеть подчиненных устройств), все самые интересные решения реализованы именно в SLAVE-модулях, которые собственно и позволяют подстраиваться под скорость передачи.
Основным и самым главным алгоритмом является реализация 4-х канального 8-битного программного ШИМ который позволяет управлять 4-мя светодиодами при 256 градациях яркости каждого их них. Реализация этого алгоритма в железе так же определяет скорость передачи данных в сети — для программного удобства передается по одному биту на каждый шаг работы ШИМ. Предварительная реализация алгоритма показала что он выполняется за 44 такта, поэтому было принято решение использовать таймер настроенный на прерывание каждые 100 тактов — таким образом прерывание успевает гарантированно выполнится до наступления следующего и выполнить часть кода основной программы.
На выбранной тактовой частоте внутреннего генератора в 4.8Мгц прерывания возникают с частотой 48кГц — именно такую битовую скорость имеет сеть подчиненных устройств и с такой же скоростью наполняется ШИМ — в итоге частота ШИМ-сигнала составляет 187.5Гц, чего вполне достаточно чтобы не замечать мерцания светодиодов. Так же, в обработчике прерывания после выполнения алгоритма ответственного за формирование ШИМ фиксируется состояние шины данных — получается примерно по середине интервала переполнения таймера, это упрощает прием данных. В начале приема очередного пакета в 4 бита происходит обнуление таймера, это необходимо для более точной синхронизации приема и стойкости к отклонению скорости приема.
В итоге получается такая картина:
Интересна реализация алгоритма подстройки под скорость передачи. В начале передачи MASTER выдает импульс длительностью в 4 бита лог.0, по которым все подчиненные модули определяют необходимую скорость приема при помощи несложного алгоритма:

LDI tmp2, st_syn_delay DEC tmp2 ;<+ BREQ bad_sync ; | SBIC PINB, cmd_port; | RJMP PC-0x0003 ;-+
st_syn_delay = 60 — константа, определяющая максимальную длительность стартового импульса, которая принята примерно в 2 раза больше номинала (для надежности)
Экспериментальным методом было установлена такая зависимость получаемого числа в tmp2 при отклонении тактовой частоты от номинала:
4.3Mhz (-10%) 51 единиц (0x33) соответствует 90 тактам таймера для возврата скорости приема к номиналу
4.8Mhz (+00%) 43 единиц (0x2B) — соответствует 100 тактам таймера(номинал)
5.3Mhz (+10%) 35 единиц (0x23) — соответствует 110 тактам таймера для возврата скорости приема к номиналу
По этим данным были рассчитаны коэффициенты коррекции периода прерываний таймера(именно таким образом скорость приема подстраивается под имеющуюся тактовую частоту контроллера):
Y(x) = 110-x*20/16
x = tmp2 — 35 = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
Y(x) = (110, 108.75, 107.5, 106.25, 105, 103.75, 102.5, 101.25, 100, 98.75, 97.5, 96.25, 95, 93.75, 92.5, 91.25, 90)
Числа округлены до целых и занесены в EEPROM.
Если при подаче напряжения на модуль удерживать линию в логическом состоянии «1» включится подпрограмма калибровки, которая позволит измерить частотомером или осциллографом период ШИМ-сигнала без коррекции и на основании измерений судить об отклонении тактовой частоты контроллера модуля от номинальной, при сильном отклонении больше 15% может потребоваться коррекция калибровочной константы встроенного RC-генератора. Хотя производитель обещает калибровку на заводе и отклонение от номинала не более 10%.
На данный момент, разработана программа на Delphi позволяющая воспроизводить ранее составленный паттерн для 8-ми модулей с заданной скоростью. А так же утилита для работы с отдельным модулем(в том числе переназначение адреса модуля).
Прошивка.
для SLAVE-модуля необходимо прошить только фьюзы CKSEL1 = 0, и SUT0 = 0. Остальные оставить непрошитыми. Содержимое EEPROM прошить из файла RGBU-slave.eep, при необходимости тут же можно задать желаемый адрес модуля в сети — 0-й байт EEPROM, по умолчанию прошит как $FE = 254, по адресу 0x13 содержится калибровочная константа встроенного RC-генератора контроллера, на частоте 4.8Мгц она не загружается автоматически поэтому необходимо программатором считать заводское значение калибровки и записать в эту ячейку — это значение индивидуально для каждого контроллера, при больших отклонениях частоты от номинала можно изменять калибровку именно через эту ячейку не затрагивая заводского значения.
для MASTER-модуля необходимо прошить только фьюзы SUT0 = 0, BOOTSZ0 = 0, BOOTSZ1 = 0, CKOPT = 0. Остальные оставить непрошитыми.
Напоследок небольшая демонстрация гирлянды расположенной на балконе:

На самом деле, функциональность гирлянды определяется программой на ПК — можно сделать цветомузыку, стильное переливающееся освещение комнаты(если добавить драйверы светодиодов и использовать мощные светодиоды) — и т.д. Чем планирую заняться в будущем. В планах сетка из 12 модулей с 3-ваттными RGB-светодиодами, и комнатное освещение на основе кусочков 12-вольтной RGB-ленты(нужны только полевые транзисторы для коммутации ленты на каждый модуль по 3 штуки или 4 если добавить кусочек фиолетовой ленты других отличий от оригинала не будет).
Для управления сетью можно написать свою программу, хоть на бейсике — главное что должен делать выбранный язык программирования — уметь подключаться к бессмертным COM-портам и настраивать их параметры. Вместо интерфейса USB можно использовать переходник с RS232 — это дает потенциальную возможность управления световыми эффектами с широкого круга устройств которые вообще можно запрограммировать.
Протокол обмена с MASTER-устройством достаточно прост — посылаем команду и ожидаем ответ об её успешности или провале, если ответа нет больше нескольких милисекунд — имеются проблемы с соединением или работой MASTER-устройства, в таком случае необходимо провести процедуру переподключения.
На данный момент доступны следующие команды:
0x54; символ «T» — команда «test» — проверка соединения, ответ должен быть 0x2B.
0x40; символ «@» — команда «загрузить и передать». После подачи команды нужно дождаться ответа «?» далее следует 6 байт данных:
+0: Адрес подчиненного устройства 0..255
+1: Команда устройству
0x21 — байты 2…5 содержат яркость по каналам которую необходимо применить немедленно.
0x14 — установить тайм-аут, по истечении которого яркость по всем каналам будет
сброшена на 0 если за это время не поступит ни одной команды. Значение таймаута находится в ячейке красного канала, т.е. в байте со смещением +2. значение 0-255 соответствует таймауту в 0-25.5 сек по умолчанию, таймаут = 5 секунд(записан в EEPROM при прошивке, там же его можно и изменить в байте со смещением +1).
0x5A — изменить адрес устройства.
Процедура смены адреса для надежности должна быть выполнена троекратно — только тогда новый адрес будет применен и прописан в EEPROM. При этом надо быть осторожным -если прописать двум устройствам один адрес они будут реагировать синхронно а «разделить» их можно будет только физически отключив от сети лишние модули и сменив адрес у оставшегося, либо программатором. Значение нового адреса передается в ячейке красного канала — т.е. в байте со смещением +2.
+2: Яркость красного 0…255
+3: Яркость зеленого 0…255
+4: Яркость синего 0…255
+5: Яркость фиолетового 0…255
0x3D; символ «=» — команда «АЦП». После подачи команды нужно дождаться ответа «?» далее следует передать 1 байт — номер канала АЦП 0..7 в двоичном виде(ASCII цифры 0..9 тоже подходят в этом качестве, поскольку старшие 4 бита игнорируются).
В ответ команда возвращает 2 байта результата измерения в диапазоне 0…1023
Возможные ответы на команды:
0x3F; символ «?» — готовность к вводу данных, означает что устройство готово к приему аргументов команды
0x2B; символ «+» Ответ — команда выполнена
0x2D; символ «-» Ответ — команда не определена или ошибочна
Больше подробностей можно выудить из исходников расположенных на гитхабе, там же лежат последние версии готовых прошивок: github.com/Alexeyslav/RGBU_light

admin

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

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

Наверх