Dmx управление своими руками

DMX512 Контроллер на 40 каналов

Решил опубликовать интересное устройство, которое заинтересует довольно обширный круг людей. Речь пойдет о DMX-контроллере своими руками.

Данное устройство реализовано на микроконтроллере ATmega64A. Тактируется мк от кварцевого резонатора на 16 MHz , тактовая частота выбрана максимальной по документации , так как многоканальный программный ШИМ очень сильно загружает процессор , и реализовать высокочастотный ШИМ представляет трудность на низких тактовых частотах. В данной прошивке ШИМ работает на частоте 79Гц , потому как при более высокой частоте уже перестает работать usart интерфейс, и данные по dmx уже не принимаются .

Принцип работы программы очень прост :

Тут я не буду детально рассказывать о протоколе dmx512 и о физической шине rs485. Эту информацию можно найти в интернете.

В прерывании usart определяется ошибка приема данных , это сигнализирует мастер о начале пакета (команда BREAK 44us=>) . Следующий этап : в прерывании usart ловится MAB длительностью 4us и затем start bit с нулевым значением и только после этого программа принимает сами данные диммеров , и складывает в массив последовательно начиная с 0 ячейки. Затем в прерывании таймера этот массив сравнивается с программным таймером каждого канала и выполняется либо включение цифрового выхода , либо выключение. Также в этом прерывании выполняется адресация диммеров .

Работает это следующим образом: Если например задан адрес 10 для диммера , то буфер сравнивается с таймерами начиная с 10 адреса . Таймер 1 с буфером 10 , таймер 2 с буфером 11 и т.д. Можно конечно было чуток оптимизировать расход озу микроконтроллера, но это не имеет смысла , ресурсов в МК предостаточно.

Программируется контроллер не переключателями как в стандартных приборах , а прямо через тот же кабель и dmx передатчик. Для этого в основном цикле программы проверяется флаг занятости шины dmx. Определяется программно . Если команды BREAK не было (флаг = 0) то значит dmx не занят пока что, и АТ команды можно принимать .
Сделано так по нескольким причинам : 1 устройство будет закрыто в щитке и доступа к нему не будет, а адрес возможно нужно будет периодически менять, без вскрытия щитка. Вторая причина , это наличие уже готовых заводских плат идеально подходящих для данного проекта .

Тестировалось данное устройство в программе Freestyler и на приемопередатчике USB <>rs485 с чипом FT232 . Для программирования данного устройства нужно использовать как раз такой преобразователь (с двухсторонней передачей данных) у обычных dmx «свистков» выпилено физически прием данных. Хотя , можно и стандартным dmx шнурком запрограммировать плату . Только пользователь не узнает ответ от платы с подтверждением.

Самая нижняя схема (на МК ATmega8A) представляет собой «конфигуратор» , который может задавать предустановленные значения уровней яркости . Всего их 10шт.
В следующей версии будет создана прошивка для конфигуратора.
Плату можно с легкостью прошить программатором со стандартным ISP 6pin коннектором , или 10 пиновым коннектором , но подключенным через переходник к плате.
Фьюзы следующие :

Аппаратная часть поддерживает установку приемопередатчика на 433МГц HC-12 или WiFi ESP-01 (ESP8266), программно не реализовано в текущей версии. При необходимости индивидуально можно этот функционал добавить. К примеру управление контроллером через WiFi с веб интерфейсом , или по MQTT протоколу.

Демонстрационная прошивка работы устройства имеет полноценный функционал и на ее основе можно собирать и развертывать последовательно огромное количество каналов «диммеров» , к примеру , можно свободно собрать 10шт. таких плат и получится 320 каналов диммеров и 80 1 битных каналов , для строба или вкл./выкл. нагрузки.
Есть также прошивка на 40 чистых каналов диммеров (тут не публикую) у нее чуть ниже частота ШИМ (около 59Гц ) и она тоже прекрасно работает.

Фото собранного устройства:

Для перепрограммирования DMX контроллера , необходимо закрыть программу управления (Freestyler к примеру если ее используете) а запустить предварительно установленную программу Терминал (например бесплатную Terminal 1.9b)

открыть ком порт который использует DMX переходник , например СОМ2 и настроить скорость обмена 250000 бод.

АТ команды для перепрограммирования адреса и прочих опций DMX контроллера следующие:

AT+REV? — версия программного обеспечения.
ответ платы такой:
REV 1.0
DEC 2018
autor: Artem Ugrimov

AT+TEST> — тестовая команда , включение всех выходов на 1 секунду. Для проверки исправности силовой части контроллера и т.д.
ответ платы такой: TEST_OK! если команда успешно принята и выполнена.

AT+PWM_SET> — тестовая команда , проверка регулятора ШИМ . После стрелки нужно дописать число от 0 до 255. Например: AT+PWM_SET>25 . Отправив эту команду на всех каналах установится значение ШИМ 25. На 8 1 битных каналах установится максимальное свечение так как лог.0 считается если значение регистра меньше 10 , а лог.1 если больше 10.
ответ такой: PWM_OK=25, или PWM_ERR если ошибка.

AT+CONFIG> — Команда для смены адреса контроллера. По умолчанию адрес = 0. Для смены адреса нужно отправить значение (от 1 до 511) адреса в таком формате: AT+CONFIG>48 .
ответ такой: AT+CONFIG>OK! — если успешно , и ADDR_SET_OK=Х если ошибка . Х возвращенное значение , которое было принято.

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

Читайте также:  Как правильно обустроить клумбу своими руками

Источник

Теория и практика создания шоу. Глава 2. Интерфейс DMX512. Особенности применения. Основные виды систем управления.

Как уже я писал в первой главе, стандартом де-факто на данном временном отрезке является DMX512(и вот тут сразу идите по ссылке [3] и читайте материал параллельно со статьей). Как обычно, технические тонкости и особенности оставляю на самостоятельное изучение (можете задавать вопросы), а разберем мы непосредственно то, с чем предстоит работать. Жду от вас дополнительных вопросов.

Итак, суть интерфейса. Он является преимущественно однонаправленным по принципу master — slave, т.е. никакой обратной связи между управляемым и управляющим нет (очень редко, очень-очень, она бывает, мне рассказывали, но сам я таких приборов не видел). Запомните этот факт и никогда не грешите на то, что пульт не хочет понимать ваше оборудование.
Нам предоставляется 512 каналов управления (1-512), значение управляющего сигнала на каждом канале простирается в диапазоне 0-255.
Вот такое информационное поле. Таким образом каждый из этих каналов может управлять каким-либо параметром интеллектуального прибора: диммером, стробом, пан/тилт, цветом, гобо и т.п. В зависимости от количества таких параметров наш конкретный прибор займет на этом информационном поле определенное количество каналов, которые идут друг за другом. Поскольку существует большое количество способов расположить последовательность из m-элементов в множестве из n-элементов, одним из важных параметров описания является стартовый адрес, т.е. однозначно определенный номер элемента в множестве N соответствующий первому номеру в множестве M. Другими словами, если наш прибор занимает 10 каналов, а таких приборов у нас несколько штук, то, расположив их друг за другом в адресном поле DMX512, мы получим для них стартовые каналы 1, 11, 21 и т.д. Располагать приборы по полю можно с промежутками, но лучше плотно «упаковать», т.к. часто каналов может не хватить на простых пультах управления. Замечу, что речь о конечном (слово стоповом в принципе неуместно здесь) канале не идет, но чтобы не сбиться по началу со счета, можно учитывать и его.
Итак, каждый прибор занимает свое определенное место в адресном поле DMX. При этом следует помнить, что:
1. приборы не должны пересекаться, т.е. при том же 10-канальном приборе выставление адресов 1 и 10 будет неправильным, т.к. в конечном итоге прибор будет выполнять не то, что от него хотят.
2. два или более ОДИНАКОВЫХ прибора могут иметь один стартовый адрес — это очень удобно при нехватке каналов в пульте и условии, что группировка приборов в данном световом шоу возможна.
На практике все же иногда адреса у меня пересекались, но это было скорее военной хитростью при недостатке каналов. В будущем приведу примеры.

Установка адресов приборов производится по разным схемам. Самая приятная и удобная — светодиодное или ЖК-табло на корпусе + кнопки. Ими вы спокойно выставляете нужный стартовый канал и работаете. Чуть-чуть подумать придется при наличии DIP-переключателя на 10 движковых переключателей. Обычно последний, 10-й, выпаолняет какую-либо сервисную функцию, а остальными набирается вес (адрес) прибора в двоичной системе исчисления. Думаю, что все помнят способы перевода, но на всякий случай напишу соответствие:
1 — 1, 2 — 2, 3 — 4, 4 — 8, 5 — 16, 6 — 32, 7 — 64, 8 — 128, 9 — 256.
Имея этот набор можно легко выставить стартовый адрес от 1 до 511. Иногда встречается система, у которой стартовый адрес уже имеет 1 по умолчанию и все остальные тумблеры сдвинуты на один. Самая извращенная система мне попалась как-то раз, не помню марку, но на 4-канальных сканерах дипами выставлялся номер блока из 4 адресов. Китайцы чудят.
Для примера назначения каналов приведу картинку для ненавистного китайца Weinas.

О коммутации. Спасибо изобретателям разъема XLR ru.wikipedia.org/wiki/XLR за, на мой взгляд, самый надежный способ коммутации. Причем применять его начали в авиации, что говорит о надежности. В световой аппаратуре применяются 3 и 5-пиновые разновидности, схему распайки смотрите в [3], для 3-пиновой назначение контактов такое же, за исключением 4 и 5 пина.
Обычно применяют специальные DMX-кабели, они, однако, все 3-проводные и представляют собой одну витую пару в общем плетеном экране + дополнительный экран из фольги. Применять их крайне желательно при подключении на больших расстояниях, при мобильном использовании и т.п. А так его спокойно можно заменить микрофонным кабелем, который очень похож на DMX по конструкции, но имеет только плетеный или витой экран (витой все-таки нежелательно применять) и не имеет фольги.
Хотя XLR и используется в DMX, входные и выходные разъемы по типу папа/мама отличаются от использования в звуке. В аудио выходным служит папа, входным — мама, в свете — наоборот. На каждом приборе имеется вход и выход для сигнала, иногда 3, а иногда и 5-контактные. Но все равно, любой микрофонный провод, должным образом спаянный и проверенный, может применяться в DMX-линиях за исключением случая, когда стоят разъемы XLR-5, а не 3.
Если длина линии начинает превышать 100 метров (определено на практике), можно столкнуться с неприятным явлением цифрового эха. Выражаться оно будет в глюке записанных программ, поэтому при длинных линиях следует устанавливать терминатор — разъем XLR(папа), у которого между 2 и 3 контактом припаян резистор на 120 Ом.
Если линии получаются очень длинными, то не обойтись без сплиттера — обычно они имеют 1 вход и 4-6 входов, что весьма удобно когда, например, все приборы у вас висят на фермах, т.е. на каждую ферму кидается 1 линия с каждого выхода. В приведенном в предыдущей статье видео можно заметить 5 ферм с приборами, соответственно, стоит сплиттер с 5 выходами.
Иногда встречаются не каноничные XLR, а я бы сказал еретичные RJ-45, с, понятное дело, UTP кабелем. Так вот, не рекомендую его применять без крайней необходимости, т.к. эксплуатационные характеристики последнего крайне плохи для применения в профессиональном свете.
По возможности выбирайте дорогие и качественные кабели и разъемы. Дорогие — не в аудиофильском смысле этого слова: средняя цена разъема(Neutrik, Switchcraft, Proel, Bespeco) 100 -200 р., кабеля(Klotz, Canare, Cordial, Proel, Bespeco) — 50-150 руб/м. При пайке пользуйтесь либо спирто-канифольным флюсом, либо ЛТИ-120 и нормальным современным припоем. Несколько лет среди ярославских работников микшера и DMX’а бытовала прескверная привычка пользоваться кислотным флюсом без всякой нейтрализации, что приводило к разъеданию пайки за 3-6 месяцев. Подробнее о пайке читайте [5].

Читайте также:  Замовилить пороги своими руками

Это понятно, скажете вы, но

Зачем вообще это все?

И вот здесь начинаются художества. В основе всей теории построения шоу лежит понятие сцены. Однозначного и простого определения нужно еще поискать, но примерно под сценой можно понимать совокупность определенного набора параметров световых лучей(пучков), установленных для конкретного набора приборов в зависимости от художественных замыслов светорежиссера.
Объясняю проще. Пусть есть у нас театральная сцена, над ней висит 1 колорчейнджер, который создает круглое пятно на середине площадки. Включили красный светофильтр — это одна световая сцена, включили синий — это вторая, выключили луч вообще — это третья. Во время смены этих сцен актер в луче может танцевать, тогда сцены, например, будут переключаться согласно началу нового такта, что-то декламировать, тогда сцены будут меняться согласно нарастанию эмоционального напряжения в читаемом тексте и т.д.
Таким образом, из набора этих сцен получается программа — еще одно базовое понятие. Программу можно назвать Чейзом, секвенцией, шоу и т.п., но суть от этого не меняется, меняется только способ составления.
Но сцены между собой могут переключаться по-разному. Например, может вспыхнуть красный свет, плавно погаснуть, вспыхнуть синий и, мгновенно пропал, вмениться темнотой(запомните, кстати, единственно верное название темноты — BLACKOUT(блэкаут, или сокращенно БО на моем сленге. Обратный процесс я называю ЛИ(типа LIGHTIN), хотя такого термина конечно нет, но простые двухбуквенные команды очень удобно подавать в общем шуме)). А может плавно нарасти до максимума красный, постепенно затухнуть, при этом синий будет нарастать (что называется кроссфейдерной схемой), и так же плавно угаснет до темноты.
В связи с этим вводятся понятия Speed Time и Fade Time. ST — это время, которое пройдет между переключением с одной сцены на другую, а FT — это время трансформации одной сцены в другую Пусть звучит немного коряво, на практике станет более понятно. К примеру, программа:

1. Включился синий цвет.
2. Переключился на красный.
3. Выключился вообще.

При минимальных ST и FT эта программа будет выглядеть как вспышка 2 цветов. Если мы будем увеличивать ST, то промежуток между вспышками будет увеличиваться. Если же при этом мы увеличим FT, то, зная, что светофильтры в колорчейнджере вставлены в обечайку на диске, мы увидим вместо быстрой смены цветов плавный пробег набора светофильтров от синего к красному. Но это теория, на практике мы почти всегда видим пробег светофильтров, т.к. аппарат не может сработать мгновенно.
Меняя всего лишь два эти параметра у любой записанной программы, мы можем кардинально изменить саму суть происходящего.

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

1. Простые театральные они же Scene Setters.

Обычное количество каналов управления — от 24 до 96. Наиболее употребим для управления диммерами, на которых висят разного вида прожекторы. Отсюда — любовь и обожание к ним от светорежиссеров-ортодоксов из театров. В пульте можно записывать отдельные сцены и программы, запускать их постоянно или кратковременно, регулировать для них ST и FT. Также обычно встроены функции переключения сцен по музыкальному сигналу, управления запуска программ при помощи MIDI-сигналов. Значения на каждом канале выставляется ползунковым резистором (фейдером), для краткосрочного выставления максимального канального значения есть Flash Button — кнопка над фейдером.
Плюсы:
— постоянный доступ ко всем имеющимся каналам,
— удобная работа в ручном режиме,
— низкий уровень вхождения,
— низкая цена,
— удобная система выведения максимальных/минимальных значения для всех каналов, функция моргания с заданной частотой,
— для маленьких театральных сцен (камерных) — отличный выбор.
Минусы:
— малое количество каналов для работы интеллектуальными приборами,
— зачастую невозможность прямого доступа к прибору при включенной программе (они запускаются канальными фейдерами),
— неудобное разделение банков программ,
— невозможность группировки приборов,
— невозможность установки разных значений ST и FT для разных сцен

Читайте также:  Интерьер двора частного дома своими руками

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

2. DMX Operator — (какая-либо цифра, обычно 192).

Прибор схожего класса со Scene Setter, но обладает куда более удобным интерфейсом для работы не в театре, а, например, на дискотеке.
Как и первый тип, Операторы выпускаются гигантским количеством фирм — от Ляо-Сяо-Лайт до элитных, собственно, разница обычно в качестве и наличии дополнительных ништяков. Цифра в названии обычно показывает количество каналов, которое пульт может осилить.
Все каналы в таком приборе разбиты на 8-12-16 групп, каждая из которых зовется юнитом, девайсом, сканнером и т.п. Кнопки выбора нужной группы расположены обычно слева, одновременно можно выбрать сразу несколько групп (хоть все). Т.е. в пульте с индексом 192 мы можем одновременно использовать 12 приборов, каждый из которых занимает до 16 каналов. Фейдеров здесь, однако, не 192, а обычно половина от количества каналов, приходящихся на прибор, причем доступ к каждой половине осуществляется кнопкой переключения страницы. Конечно же присутствуют фейдеры для установки параметров ST и FT, правда, тоже без возможности выбора своих параметров для разных сцен.
Хорошо организована работа со сценами и программами. В пульте содержится 30 банков памяти по 8 сцен в каждом (для Оператора 192, в других — иначе), т.е. всего 240 разнообразных сцен. Также есть такая вещь как Chase(чейз). По сути — это убер-программа, способная вмещать до 240 сцен(как разных, так и повторяющихся), которые можно копировать из запрограммированных ранее банков. Т.е. всего можно получить 30 коротких и 6-8(обычно) длинных программ. Запускать программы можно в авто-режиме, музыкальном режиме и ручном(просто выбор сцены из какого-то банка).
Иногда в пульте имеется джойстик и/или колеса для управлением движением приборов Pan/Tilt, при этом на каждую ось джойстика назначается номер канала, который ответственен за нужный параметр. Также встречаются отдельны кнопки управлением дым-генераторами, какие-то лампы, иногда даже USB-хост для подключения флешек с целью сохранения программ и т.п.
Плюсы пульта:
— нормальная работа с интеллектуальными приборами,
— достаточное количество каналов для небольшого набора аппаратуры,
— грамотная организация программирования,
— низкая цена,
— низкий уровень вхождения,
— просто-таки идеальный пульт для маленьких заведений при отстутствии денег.
Минусы:
— недостаточное количество каналов для клуба чуть большего, чем ара-кафе на окраине или актовый зал школы,
— отсутствие встроенных макросов,
— отсутствие перекроссировки каналов,
— отсутствие совести у офигевшего нищеброда, который хочет все и сразу за копейки.

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

3. Pilot-like(Пилотоподобные).

Культовый Pilot-2000 www.sgmtechnologyforlighting.com/prodotti.asp?co_id=153 и его клоны. Это детище итальянской компании SGM надолго покорило, да и покоряет умы световиков. Действительно, когда есть полноценные 512 каналов для управления 40 приборами, свободная перекоммутация каналов, встроенные макросы, куча других фич — о чем можно мечтать? О других пунктах конечно. Но потом.
Для начала пара слов о перекоммуникации. Вспоминаем матан и определение функции, т.е. постановка в зависимость по какому-то закону элемента одного множества элементу другого. Так же и тут. У нас, к примеру, есть какой-то набор каналов, пусть будет:

1 — Pan
2 — Tilt
3 — Dimmer
4 — Strobe
5 — Color
6 — Gobo

У нас есть джойстик на пульте, разумно 1 и 2 канал повесить на него. На картинке вы видите всего 6 фейдеров. А вот к примеру, мы захотим, чтобы диммер и строб стали у нас 5 и 6, а цвет и гобо 3 и 4. Не вопрос — в пульте мы их назначили, хотя физически назначения каналов не поменялись абсолютно. При этом фейдеры у нас не безымянные — на экране выводится название, которым вы обозначили данный канал
Еще одна фишка пульта — свободная нумерация приборов. Т.е. фактически на кнопках выбора приборов 1,2,3. 40 могут висеть приборы со стартовыми адресами 36, 84, 124. 1. Полная свобода действий. Вообще, этот пуль достоин отдельной статьи, а точнее, видеоурока, поэтому подробно останавливаться пока не буду. Для желающих приведу пример изумительно краткой инструкции быстрого старта x-light.ru/Pilot%202000%20instr.html.

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

Источник

Оцените статью