РадиоКот :: 20-ти канальный светодиодный диммер DMX-512
Например TDA7294

РадиоКот >Схемы >Светотехника >Бегущие огни и световые эффекты >

Теги статьи: Добавить тег

20-ти канальный светодиодный диммер DMX-512

Автор: Aheir
Опубликовано 27.03.2012
Создано при помощи КотоРед.

Сегодня немножко коснемся одной из областей моих профессиональных интересов, а именно – световой шоу-техники. Я говорю о различных светильниках, использующихся для сценической, декоративной, интерьерной или архитектурной подсветки и т.п. Как правило, это многоцветные светильники с возможностью дистанционного управления (смена цвета, различные эффекты и т.д.) по протоколу DMX-512 (реально, этот протокол долгое время оставался практически единственным на рынке профессиональной световой техники, да и сейчас все еще очень и очень распространен: парк «железа» под него огромен). Кому интересно – найдет описание в интернете, здесь лишь скажу, что в рамках работы по данному протоколу от источника сигнала (пульта) исполнительным устройствам (светильникам) постоянно передается пакет информации, содержащий 8-ми битные значения (0..255) для 512 каналов. Как эти значения интерпретировать – это уже дело светильника. Для работы используются трансиверы RS-485, по сути, происходит простая потоковая передача данных с небольшими дополнениями в виде стартовых условий и т.п. Контроллеры светильников традиционно называют диммерами, ну а в современной действительности все чаще в самих светильниках используются светодиоды.
Вот такую штуку сегодня и сотворим – 20-ти канальный светодиодный диммер. Сразу оговорюсь, что делалось все для проверки работоспособности различных передатчиков DMX-сигнала (пультов и т.д.), которые периодически приходится изготавливать, делалось быстро и из имеющегося в наличии.
Схема на рисунке:

Схема совершенно традиционна для таких устройств. Микроконтроллер ATMega8515 (слегка разогнан, стоит кварц на 20МГц, но это не принципиально, в данном случае хватило бы и 10МГц за глаза, просто других резонаторов не оказалось под рукой), интерфейс на трансивере RS485 DS75176 (в данном случае работает строго на прием), 20 светодиодов для отображения состояния соответствующих каналов, пара светодиодов для индикации состояния устройства и ДИП-переключатель для задания адреса.

Собранное устройство выглядит следующим образом:


ДИП-переключатель служит для установки адреса и режима работы устройства. DMX-адрес устройства, это, по сути, номер байта в DMX-кадре, начиная с которого исполнительное устройство считает полученные данные предназначенными именно для него. Т.е. применительно для нашего случая, если, например, адрес будет равен 10, то начиная с 10 полученного байта контроллер запомнит 20 байт информации, поскольку он знает, что является 20-ти канальным. На шине могут присутствовать устройства с одинаковыми адресами или перекрывающимися диапазонами данных – как это все будет работать – на совести разработчика системы. Очевидно, что значения адреса должны быть из диапазона 1..512 (отсюда и название протокола), адрес выставляется с помощью переключателей 1..9 в двоичном коде от 0b000000000 (все опущены, адрес 1) до 0b111111111 (все подняты, адрес 512). Десятый ДИП остался вроде как ненужным, при его включении реализован переход устройства в автономный режим.

Логика работы следующая.

После включения и начальной инициализации загорается зеленый светодиод D3. Если устройство находится в режиме DMX и на шине присутствует корректный сигнал, загорается синий светодиод D2 и устройство устанавливает яркость выходных светодиодов D6..D27 в соответствии с полученными данными (пропорционально значению из диапазона 0..255). Управление яркостью светодиодов осуществляется с помощью программного 8-ми битного ШИМа с частотой около 200 Гц. Если сигнал в линии отсутствует – синий светодиод мигает. Если перевести устройство в автономный режим, выходные светодиоды будут работать в режиме бегущего огонька (вообще, конечно, можно любые эффекты написать: с плавной сменой яркости и т.д., и т.п.).

Программа для МК написана в CVAVR, фьюзы следующие:

Работа устройства проверялась с помощью самопального USB-DMX передатчика под управлением самописного же софта:

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

или же индивидуально настраивать любой канал:

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

Работу устройства можно посмотреть на видео :

Исходно установлены произвольные значения по всем каналам, потом производится групповое изменение яркости 0..100% кнопками в программе, затем демонстрация работы в отсутствие сигнала DMX и в автономном режиме.

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

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

 


 

Файлы:
Схема и плата P-CAD
Прошивка

 


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

21 10 13
3 0 0