Я реализую DMX на Arduino. DMX использует для связи стандарт RS485.
В спецификациях RS485 отмечается наличие положительной линии, отрицательной линии и линии заземления. Если положительная линия имеет более высокий потенциал, чем отрицательная линия, дается 1. И наоборот для 0. Очевидно, протокол не измеряет разницу между каждой линией и землей, а измеряет только разницу потенциалов между положительной и отрицательной линией (которая должна быть не менее 200 мВ).
Это заставляет меня предположить, что можно было бы легко управлять DMX напрямую с Arduino, установив одну линию на высокий уровень (5 В) и одну на низкий уровень. Однако, глядя на веб-сайт Arduino с некоторой информацией о реализации DMX, вся информация, которую я могу найти, касается использования некоторого щита над Arduino.
Обязательно ли использовать щит или прямое подключение тоже подойдет? В настоящее время у меня еще нет компонентов DMX, поэтому я не могу проверить это прямо сейчас.
Чипы драйверов и терминация шины DMX
При поиске в Интернете вы можете увидеть несколько микросхем, используемых для управления связью DMX. Все они предназначены для преобразования сигналов логического уровня (LOW и HIGH) в уровни дифференциальных сигналов EIA-485 на витой паре.
Очень распространены микросхемы от MAXIM, которые я тоже использую для своей реализации. Я предпочитаю MAX485 или MAX481, которые идентичны, за исключением режима отключения с низким энергопотреблением в MAX481, который нам не нужен в сценарии DMX. MAX481 и MAX485 от MAXIM
Другими часто используемыми микросхемами являются приемопередатчики дифференциальной шины 75176b от Texas Instruments.
Типичная схема с использованием MAX481 для контроллера DMX:
Изоляция
Для простой настройки можно подключить микросхему драйвера напрямую к контактам Arduino, но если вам нужна надежная система, особенно на сцене, вам придется добавить еще немного электроники, чтобы избежать электрического повреждения из-за неисправного оборудования или случайных обстоятельств.
Электрический потенциал стороны реализации DMX должен быть изолирован от процессора. Есть 2 типа чипов, которые реализуют все, что вам нужно:
Преобразователь постоянного тока 5 вольт в 5 вольт с гальванической развязкой. Доступны комплексные решения в одном компоненте, такие как NME0505SC или AM1S-0505SZ, которые можно использовать для создания источника питания 5 В с гальванической развязкой до 1000 В. Таким образом, даже если к шине DMX подключено высокое напряжение, существует вероятность отсутствия или незначительного повреждения. Высокоскоростные оптопары, совместимые с TTL В этих микросхемах используется светодиод и светочувствительный транзистор для изоляции шины DMX от выводов данных Arduino. Существуют стандартные TTL-совместимые оптопары, такие как 6N137 от MOTOROLA.
Есть 3 сигнала данных от Arduino, которые должны быть переданы со стороны Arduino на сторону DMX: передача, прием и направление данных:
Таким образом, вам нужен хотя бы один чип драйвера, и на всякий случай лучше сделать изоляцию с помощью оптронов. Минимальное решение, состоящее только из:
1 серийный номер 75176
1x 100 Ом 1%
а изоляции нет!
Ложка
Эрик84750
Дэн Шеппард