» » Светодиодная гирлянда на микроконтроллере. Светодиодная гирлянда на МК Attiny13 Как сделать гирлянду из светодиодов на микроконтроллере

Светодиодная гирлянда на микроконтроллере. Светодиодная гирлянда на МК Attiny13 Как сделать гирлянду из светодиодов на микроконтроллере

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

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

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

В основе контроллера лежит плата небольшого размера, где предусмотрено место . Здесь же располагается и микроконтроллер с четырьмя выходами. Он представляет собой небольшой кусочек генитакса, где с помощью эпоксидной смолы крепится микрочип. Через выходы микроконтроллера, с помощью токоограничительных резисторов, осуществляется управление четырьмя тиристорами. Данное устройство рассчитано на анодное напряжение до 600 вольт и ток в пределах 0,6-0,8 ампер. В отдельных конструкциях дешевых гирлянд, вместо входного диодного мостика остается один диод. В то же время, подключение электродов, управляющих тиристорами, осуществляется напрямую к выходам микроконтроллера, без , ограничивающих ток.

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

Другие пути решения проблем

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

Для того, чтобы китайская гирлянда нормально работала, ее нужно синхронизировать с сетью с помощью сигнала. С этой целью, на вход микроконтроллера подается фаза, номиналом 220 вольт через установленный резистор. Нейтральный провод сети, соединяется с общим проводом всего устройства.

Замена блока управления Китайской гирлянды

Как говорится в народе - готовь сани летом…
Наверняка на новый год украшаете ёлку всевозможными гирляндами, и скорей всего они уже давным давно приелись однообразием своего мигания. Хотелось бы сделать что-то такое чтобы ух, прям как на столичных елках мигало, только в меньшем масштабе. Или на крайний случай - повесить на окно, чтобы эта прям красота освещала город с 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; символ "-" Ответ - команда не определена или ошибочна

Больше подробностей можно выудить из исходников расположенных на гитхабе, там же лежат последние версии готовых прошивок.

В канун Нового Года решил я собрать какую то особенную гирлянду которая бы отличалась от остальных и радовала глаз своим свечением. Решено было делать максимально просто и быстро. На просторах интернета я нашел “умные”светодиоды типа WS2812. Эти светодиоды имеют 4 вывода: Din, Dout, Vcc, Vdd, соответственно – вход данных, выход данных, минус и плюс. Их достоинство в том что в зависимости от поступаемого кода, он может менять цвет свечения и яркость. Код подается на вход, при заполнении WS2812 начинает просто пропускать данные через себя. Таким образом к выходу Dout подключается вход Din следующего светодиода образуя цепочки. На Aliexpres я нашел светодиодные ленты на базе WS2812.



Взял парочку метровых лент по 30 светодиодов в ленте(метровые, потому что они оказались наиболее дешевы). Пока ждал распаял на макетке ATMega8, и зашил ее (схема, прошивка в конце статьи).



По приходу лент соединил их, и обрезал 12 диодов (прошивка рассчитана на 48 диодов).

При подключении к МК все сразу заработало. Повесил ее на стену, теперь висит и радует глаз. Питать такую гирлянду можно любым блоком питания или зарядкой, с напряжением 5 вольт и током не менее 2А.





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

Состав изделия

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

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

Анализ повреждений

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

  • Крайне тонкие провода. Они многожильные, каждая жила без преувеличения толщиной в волос, следовательно, соединять их очень трудно и неудобно. Равно как и припаивать.
  • Часто выходящие из строя тиристоры. Они отвечают за смену режимов мигания, что, собственно, и создает праздничное настроение.
  • Лампочки. Независимо от их вида - обычные они или светодиодные, лампы могут перегореть. Если гирлянда перестала мигать, например, зеленым светом, в то время как остальные в порядке, то, скорее всего, пришла в негодность зеленая лампочка. Но может быть и отсоединение провода от ножек светодиода определенного цвета.

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

Устранение неисправностей

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

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

Соединение проводов

Разрыв провода найти довольно просто. Необходимо тщательно просмотреть гирлянду по всей ее длине , соблюдая аккуратность, чтобы не добавить новых повреждений. Если провод оторвался от лампочки с одной стороны, можно не мучиться с пайкой и отсоединить его и с другого контакта, а потом просто скрутить два конца вместе. При общем количестве в 100−500 лампочек отсутствие одной останется незамеченным. И хотя напряжение на остальные элементы возрастет, так как в последовательной цепи оно делится поровну, разница все же будет незначительной и на ускорение износа деталей гирлянды не повлияет.

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

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

Замена лампочки

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

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

Ремонт микросхемы

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

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

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

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

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

Это устройство объединяет в себе цветомузыку (ЦМУ) и светодинамическое устройство (СДУ) на 8 каналов, с множеством световых эффектов. Выходы устройство рассчитаны на подключение достаточно мощной нагрузки.

Разделение частот по каналам ЦМУ чисто программное и очень простое, используется PIC микроконтроллер PIC16F628A. Подсчитывается количество импульсов таймера/счетчика за строго определенный промежуток времени и в зависимости от значения этого счетчика включается тот или иной светодиод.

А вот схема устройства:

Копки позволяют:

  • Выбрать режим - ЦМУ/СДУ. В режиме СДУ даже если есть сигнал на входе работает только основная программа светодинамического устройства. В режиме ЦМУ если нет сигнала то воспроизводиться выбранный эффект СДУ, как фоновый режим.
  • Выбрать эффект СДУ. Кнопка циклически переключает все возможные эффекты светодинамического устройства.
  • Увеличить и уменьшить скорость. Эти кнопки управляют скоростью эффектов СДУ, на ЦМУ никакого действия не оказывают.

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

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

2, схема

Данный проект светодиодной гирлянды на микроконтроллере хорошо подходит для начинающих. Схема отличается своей простотой и содержит минимум элементов.

Данное устройство управляет 13 светодиодами, подключенными к портам микроконтроллера. В качестве микроконтроллера используется МК фирмы ATMEL: ATtiny231320PI . Благодаря использованию внутреннего генератора, выводы 4 и 5 задействованы как дополнительные порты микроконтроллера PA0,PA1. Схема обеспечивает выполнение 12 про- грамм эффектов, 11 из которых - индивидуальные комбинации, а 12-тая про- грамма – последовательный однократный повтор предыдущих эффектов. Переключение на другую программу осуществляется нажатием на кнопку SB1. Программы эффектов включают в себя и бегущий одинарный огонь, и нарастание огня, и бегущую тень и многое другое.

Устройство имеет возможность регулировки скорости смены комбинаций при выполнении программы, которая осуществляется нажатием на кнопки: SB2 – увеличение скорости и SB3 – уменьшение скорости при условии, что переключатель SA1 находиться в положении "Скорость программы”. Также имеется возможность регулировать частоту горения светодиода (от стабилизированного свечения до легкого мерцания), которая осуществляется нажатием на кнопки: SB2 – уменьшение (до мерцания) и SB3- увеличение при условии, что переключатель SA1 находиться в положении "Частота мерцания”. У переключателя SA2 замкнутое положение соответствует режиму регулировки скорости выполнения программ, а разомкнутое - режиму регулировки частоты горения светодиодов.

Порядок нумерации светодиодов в схеме соответствует их порядку зажигания при выполнении программы. При необходимости вывод RESET может быть использован для сброса, а в качестве порта PA2 он не задействован. В устройстве выбрано при программировании тактовая частота 8 МГц от внутреннего генератора (фузы CKSEL3..0 - 0100).Хотя возможно использование частоты в 4 МГц(фузы CKSEL3..0 - 0010) с соответствующими изменениями временных интервалов работы схемы.

Тип светодиодов, указанный на схеме использовался в опытном образце, для схемы подойдут любые светодиоды с напряжением питания 2-3 вольта, резисторами R1-R17 можно регулировать яркость свечения светодиодов.

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

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

Обозначение Тип Номинал

Магазин
DD1 МК AVR 8-бит

ATtiny2313

1
Поиск в магазине
С1 Электролитический конденсатор 100 мкФ 10 В 1
Поиск в магазине
R1-R17 Резистор

1 кОм

17
Поиск в магазине
LED1-LED13 Светодиод LD571 13
Поиск в магазине
SB1-SB3 Кнопка
3
Поиск в магазине
SA1 Выключатель
1
Поиск в магазине


3, схема

Переключатель елочных гирлянд на основе PIC16C84.


Наиболее подходящей платформой для такого устройства мне представляе-
тся микроконтроллер 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.,