Плата разработки PIC для приложений RS485 и DMX512

Разделы

  • Показать исходный текст
  • История страницы
  • Ссылки сюда
  • Переименовать страницу

4-х канальный DMX512 приемник на контроллере PIC

В этой статье будет описано как сделать приемник DMX 512 на микроконтроллере PIC а именно на PIC16F1823. Схема работы устройства практически ничем не отличается от других устройств на контроллерах приведенных на нашем сайте. Устройство работает на полевых транзисторах MOSFET 1) , открывает транзисторы ШИМ от контроллера, ничего сверхестественного как и в других схемах здесь нет. Устройство может работать на любом заданном адресе в диапазоне адресов 512, и использовать 4 канала управления. Транзисторы могут управлять нагрузкой светодиодных ламп или сервомоторов или чего пожелаете по шагу диммирования равному 255 или по цифровому включение/выключение канала.

Возможности

Выходы могут управлять LED модулями, LED лентами, лампами низкого напряжения до 35 Вт.

Схема

Схема наложения компонентов на плату

Готовая плата

Печатная плата для травления

Верхняя сторона

Нижняя сторона

Используемые компоненты

Элемент Свойства
R1,R2,R3,R4 120R 0.125 Ватт резистор
R5,R6,R7,R8,R10,R11 10K 0.125 Ватт резистор
R12 330R 0.125 Ватт резистор
R13 120R ( 0.25В или на 0.5 Ватт) резистор
R14 1K0 0.125 Ватт резистор
R9 не используется
0.125 (1/8) Ватт указанны для хорошего умещения на плате.
C1 330nF конденсатор (5mm шаг) (или на 470nF)
C2,C3,C5 100nF керамический конденсатор (2.5mm шаг)
C4 не используется
D1-D11 1N4148 диод
IC1 PIC16F1823-I/P (Контроллер программируемый DMX прошивкой)
IC2 78L05 регулятор напряжения
IC3 MAX481 (микросхема на основе RS485 протокола)
IC4 HCF4017B
Q1,Q2,Q3,Q4 STP20NF06L логический N-MOSFET (STP36NF06L альтернатива)
LED1 5mm LED светодиод зеленый
SW1 10-ти канальный DIP переключатель 6)
CN1 5-pin 0.1» header (not used)
ICSP 5-pin 0.1« header (not used)
CN2 2-pin 0.1» header (not used)
JP1 2-pin 0.1« header
TERM 2-pin 0.1» header
2,54mm jumper links for shorting JP1 / TERM header
DMXin 3-way, 5mm, screw-terminal
Power-in terminal block 4-way, 5mm, screw-terminal, 16 amp (2 x 2-way end stackable)
Channel output terminal block 8-way, 5mm, screw-terminal, 16 amp (4 x 2-way end stackable)
IC1 сокет 14 пиновый DIP сокет
IC3 socket 8 пиновый DIP сокет
IC4 socket

Альтернативная замена компонентов

Резистор R13 и все другие резисторы 0.125 (1/8) могут быть замещены своими, главное чтобы хватило места.

Выходные мосфеты Q1-Q4 STP36NF06L или STP20NF06L могут быть замещены на свои, но с последующим радактированием выходного логического уровня контроллера в прошивки под свои транзисторы.

Альтернатива RS-485 приемника, IC3.

Установка элементов на плату

1. При пайке полевых элементов(Q1,2,3,4) и других компонентов IC’s 1,3, 4 желательно использовать антистатик. Самый лучший вариант, это использовать паяльную станцию. Вы получите антистатическую защиту (полезно при пайке полевых элементов и других капризных бяк). Если же нет паяльной станции не растраивайтесь, можно самостоятельно доработать станцию / паяльник: заземление жала в большинстве случаев помогает. Это конечно не та антистатика, которая есть в навороченных станциях, но помогает не хуже.

2.Делаем перемычку, или спаиваем между собой два контакта RA4-RE как показано на картинке.

3. Припаиваем резисторы на нашу плату.

Резистор 0.125 довольно маленький, и цветные полосы на нем очень плохо читаемы.(Сопротивление резисторов, номинал можно проверить мультиметром.)

120R [коричневый – красный – коричневый – золотой] R1, R2, R3, R4

120R [коричневый – красный – коричневый – золотой] R13 (R13 является больше 0,25 Вт резистором)

330R [оранжевый – оранжевый – коричневый – золотой] R12

1K0 [коричневый – черный Красное – золото] R14

10K [коричневый – черный-оранжевый – золото] R5, R6, R7, R8, R10, R11

Резистор R9 не используется в этом проекте.

4. Припаяем наши диоды D1 по D11. Это все тот же тип диодов 1N4148

5. Установите три 100nF конденсатора на С2, С3 и С5.

6. Установить мосфеты Q1,Q2,Q3,Q4

Установка транзисторов

Повторить для каждого транзистора

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

7. Установите три гнезда IC на печатной плате. Убедитесь, что все штифты проходят через отверстия в печатной плате и убедитесь, что ни один из контактов не согнут под сокет перед пайкой.

8. Установите регулятор напряжения 78L05 на печатную плату.

9. Установить на место 330nF конденсатор С1. Отмечен как .33J63 (альтернативна 470nF)

10. Установить светодиод.

11. Припаять 2-х контактные разьемы JP1(DMX-Config) и TERM

12. Припаять 10-полосный DIP-переключатель. Убедитесь в том, чтобы установить его так, что переключатель «ON» положении находится ближе всего к краю печатной платы, как показано на фото.

13. Установить 5мм винт клеммные колодки к печатной плате.

14. На обратной стороне печатной платы имеется короткая перемычка открытой меди между концевыми блоками. Необходимо пропаять оловом эту перемычку.

Перед установкой трех IC элементов в гнезда, проверьте 5 вольт питания к плате. Подключите подходящий источник питания постоянного тока + VB и GND соединений клеммной колодки разъема питания. Выходное напряжение источника питания должно быть в диапазоне от 9 до 18 вольт. Измерьте напряжение в контрольной точке 5 вольт на печатной плате, как показано на фото.

Измеренное здесь напряжение должно находиться в диапазоне от 4,8 вольт и 5,2 вольт. Если оно не находится в пределах этого диапазона нужно устранить неисправность. После того, как питание 5 вольт было проверено и работает правильно, отключить питание, прежде чем продолжить.

15 Установите три микросхемы в гнезда на плате

IC1 представляет собой 14-контактный элемент, обозначенный PIC16F1823 IC3 является 8-контактный элемент, обозначенный SP485 IC4 представляет собой 16-контактный элемент, обозначенный HCF4017BE Установите каждый IC в свое гнездо. Поскольку каждая микросхема имеет различное количество контактов имеется только один разъем, который соответствует каждому устройству.

Управляющие клемы на плате требуется вход источника питания в диапазоне от 9 вольт до 18 вольт постоянного тока. Это клемы + VB и GND на клеммной 4-полосной колодке.

Если канал Выходы работают в 9 вольт до 18 вольт необходимо поставить перемычку LK1 она подключает вход питания на вход питания самой управляющей электроники с выхода + VF на клему + VB, убирая необходимость в двух источников питания или дополнительных проводов на выводах разъемов.

Напряжение на LK1 должно находится в диапазоне 9-18 вольт. Ниже 9 вольт плата не будет работать правильно. Больше 18 вольт могут сгореть компоненты на плате.

Схема подключения к плате

Подключение разьема

Параметры и режимы устройства

Плата DMX имеет конфигурируемые пользователем режимы работы, как? Будет кратко изложено ниже.

Режим вывода привода

Выходы могут быть сконфигурированы для работы в режиме ШИМ или цифровом режиме. Каждый канал может быть индивидуально настроен для работы в любом PWM или цифровом режиме. В режиме ШИМ выходной канал работает с 8 битным ШИМ – сигналом на частоте 200 Гц. DMX значения канала выглядит так 0 = 0% до 255 = 100% В цифровом режиме выходной канал либо включен , либо выключен.

В Цифровом режиме контролер ведет себя следующим способом:

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

Нет сигнала DMX В этом режиме контролер не получив сигнал(или неверные данные) может сбрасывать шим(выключать выходы) или оставаться в их последнем рабочим состоянии до потери сигнала. Есть возможность задать цикл на ШИМ, для плавного затухания на выходах до 0%. Время до Когда водитель прекращает получать достоверные данные DMX выходы могут быть сконфигурированы либо оставаться в их нынешнем состоянии / поддержания цикла ШИМ – сигнала, или отключить / установить цикл ШИМ – сигнала до 0%. Время от последнего рабочего пакета до полной отстановки составляет 1,5 секунды(т.е не получив пакетов до 1,5 сек контроллер сбрасывает шим/оставляет выходы на последнем значении).

DMX адрес первого канала Может быть установлен от 1 до 509.

Методы настройки режимов работы контролера Драйвер может быть сконфигурирован с использованием следующих методов:

Индикаторы приема DMX и их расшифровка

В прошивке заложены статусы приема данных DMX сигнала.

Применение приёмопередатчиков RS-485 в оборудовании стандарта DMX512

Оборудование сценического освещения и создания спецэффектов, применяемое в современных драматических и оперных театрах, концертных залах и на спортивных аренах, использует сложные сети передачи данных. Эти сети, протяжённость которых нередко достигает 1200 м, обеспечивают обмен данными между сотнями сетевых узлов, управляющих светорегуляторами, подвижными прожекторами, генераторами дыма и другим оборудованием для создания спецэффектов. Первым стандартом, описывающим методы надёжного обмена данными между устройствами такого рода, стал стандарт DMX512, разработанный в 1986 году инженерным комитетом Института Театральных Технологий США (United States Institute for Theatre Technology — USITT). В 1998 году поддержку этого стандарта взяла на себя ассоциация поставщиков услуг и технического обеспечения для индустрии развлечений (Entertainment Services and Technology Association — ESTA). Обновлённая версия стандарта в 2004 году была одобрена Американским национальным институтом стандартов (American National Standards Institute — ANSI). Стандарт был повторно пересмотрен в 2008 году и в настоящее время является официальным стандартом ANSIE1.11 2008, который называется «Entertainment Technology — USITTDMX512A — Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories», или, кратко, DMX512-A.

Топология

Сеть DMX512 использует многоточечную топологию, аналогичную описанной в стандарте RS-422. Такая топология предусматривает наличие одного контроллера (ведущего узла), который периодически отсылает управляющие данные множеству приёмников (ведомым узлам). Все узлы сети соединены последовательно (цепочкой): каждый ведомый узел имеет вход (разъём IN) и выход (разъём OUT). Контроллер, имеющий только разъём OUT, подключается к разъёму IN первого ведомого узла. Разъём OUT первого ведомого соединяется с разъёмом IN следующего ведомого, и т.д.
К разъёму OUT последнего ведомого в цепочке подключается оконечная нагрузка — резистор сопротивлением 100 или 120Ом.
Чтобы избежать путаницы между входящими и исходящими информационными сигналами портов DMX512, в качестве разъёмов IN используются вилки XLR-5, а в качестве разъёмов OUT — розетки XLR-5:

Протокол

Контроллер DMX512 передаёт пакеты последовательных данных в асинхронном режиме со скоростью 250 Кбит/с. Пакет данных начинается с сигнала паузы (break), имеющего НИЗКИЙ уровень, после которого передаётся сигнал маркера (mark) ВЫСОКОГО уровня. Эта последовательность называется «маркер после паузы» (Mark-After-Break — MAB). После MAB формируются временные слоты, в каждом из которых передаётся одно слово, состоящие из одного старт-бита, восьми битов данных и двух стоп-битов. Пакет DMX512 может содержать до 513 временных слотов, из которых 512 будут слотами данных. Первый слот, называемый стартовым кодом, определяет тип данных, содержащихся в пакете.

Физический уровень

Физический уровень сети стандарта DMAX512-A реализован на основе промышленного интерфейса EIA-485, который позволяет подключать к одному сегменту шины до 32 устройств при длине сегмента до 1200 м. Для соединения устройств обычно используется витая пара с волновым сопротивлением 120 Ом (кабель RS-485) или 100 Ом (кабель CAT5). На дальнем конце шины устанавливается согласующий резистор с сопротивлением, равным волновому сопротивлению кабеля.
В дополнение к требованиям стандарта EIA-485, стандарт DMX512-A рекомендует заземлять порты передатчиков и изолировать порты приёмников, чтобы избежать возникновения паразитных контуров заземления.

Кроме того, стандарт DMX512-A предусматривает возможность использования топологий с расширенной функциональностью (Enhanced-Functionality — EF), в рамках которых разрешается применение устройств-ответчиков (responders). Ответчиками называются приёмные узлы, которые могут возвращать контроллеру информацию о своём состоянии. Наиболее часто применяются топологии EF1 и EF2. В топологии EF1 для связи между контроллером сети DMX512 и ответчиками используется полудуплексный канал связи, тогда как топология EF2 обеспечивает дуплексную связь между узлами
сети. Но в любом случае ответчики, относящиеся к категории приёмных устройств, должны иметь изолированные порты приёма и передачи.
В приложениях подобного рода лучше всего задействовать дуплексные приёмопередатчики RS-485, поскольку их можно приспособить не только для обычных систем DMX512 (с устройствами, обеспечивающими только приём данных), но и для полудуплексной и дуплексной конфигураций, используемых в системах EF1 и EF2 соответственно.
Ниже показан законченный вариант схемы устройства-ответчика, удовлетворяющий требованиям стандарта DMX512-A. Изолированный малопотребляющий приёмопередатчик ISO35T компании Texas Instruments с напряжением питания 3.3 В формирует сигналы, соответствующие спецификации шины RS-485, обеспечивая дифференциальное выходное напряжение
с номинальным значением 2 В (минимум — 1.5 В) при полной дифференциальной и синфазной нагрузке. Максимальная скорость передачи этой микросхемы составляет 1 Мбит/с, что с лихвой перекрывает требуемые стандартом DMX512-A 250 Кбит/с, а относительно большие длительности фронтов (200 нс) гарантируют низкий уровень электромагнитных помех.

В приведённой схеме управляющие данные, полученные по шине DMX512, преобразуются компаратором и передаются через изоляционный барьер на выход R приёмника. С этого выхода данные поступают на вход интерфейса UART микроконтроллера MSP430F2132 компании Texas Instruments. Микроконтроллер передаёт полученные данные по высокоскоростному синхронному
последовательному интерфейсу в 8-канальный цифро-аналоговый преобразователь (ЦАП). Применённая микросхема ЦАП DAC7718 компании Texas Instruments может формировать на своих выходах двухполярные сигналы напряжением до ±16.5 В и однополярные сигналы напряжением до 33 В.
Остальные элементы схемы сетевого узла, включая ЦАП, микроконтроллер и приёмопередатчик, питаются от однополярного источника напряжением 3.3 В. Для питания изолированной части интерфейса используется линейный стабилизатор с малым падением напряжения (TPS76333 от TI), обеспечивающий ток до 150 мА, а также защиту от перегрева и короткого замыкания.

Из «Журнала по применению аналоговых компонентов» Третий квартал, 2011 Thomas Kugelstadt

DMX Shield – плата расширения Arduino для проектов управления световыми эффектами

DMX Shield – простая плата расширения, которая позволит использовать платформу Arduino для управления системами освещения или световыми эффектами по интерфейсу DMX (Рисунок 1). Фактически, плата реализует интерфейс RS485, электрические уровни сигналов которого необходимы для коммуникации по протоколу DMX.

Рисунок 1. Внешний вид платы расширения Arduino DMX Shield.

При проектировании схемы платы расширения была заложена определенная гибкость. Так, с помощью перемычек (джамперов), пользователь может выбирать какие сигнальные линии платы Arduino использовать в качестве цифрового входа и выхода интерфейса DMX. Дополнительно, на плате установлен слот для карт памяти microSD с соответствующей схемой согласования уровней и разъем для подключения ЖК индикатора с последовательным интерфейсом.

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

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

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

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

Схема передачи была разработана с целью повышения эффективности управления устройствами, поэтому интерфейс DMX поддерживает одновременное управление 512 устройствами с 40 полными циклами передачи в секунду. Чтобы добиться такого при передаче 8-битных данных, 1 стоп-бита и 1 старт-бита, скорость должна быть 250 Кбит/с. Последовательная передача данных начинается с заголовка, а затем байты передаются последовательно, начиная с первого (Таблица 1, Рисунок 2).

Таблица 1. Базовые команды протокола DMX512 и их длительность
(Каждый бит, передаваемый по протоколу DMX512, имеет длительность 4 мкс)

Примечание: НО – означает «не определено», определяется разработчиком.

Рисунок 2. Диаграмма сигнала при передаче данных по протоколу DMX512.

Все это означает, что если мы хотим передать новые данные контроллеру с адресом 10, то необходимо также передать данные для контроллеров с адресами 1 – 9. Система адресации основана на номере передаваемого байта, поэтому каждый контроллер ведет подсчет входящих байтов. Контроллер игнорирует байты данных, поступающие до и псоле “своего”.

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

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

Принципиальная схема платы расширения

Рисунок 3. Принципиальная схема платы расширения Arduino DMX Shield.

Основным элементом платы является микросхема MAX485 компании Maxim (Рисунок 3), которая преобразует уровни цифровых сигналов микроконтроллера в дифференциальные сигналы двухпроводного интерфейса RS485. Микросхема содержит приемник, передатчик и логику управления. Для управления направлением передачи данных микросхема MAX485 имеет инверсные входы /RE (вывод 2) и OE (вывод 3). В нашем случае эти входы можно объединить и для управления потребуется одна линия ввода/вывода микроконтроллера. Выводы 6 и 7 микросхемы – это дифференциальный выход, вывод 1 – выход приемника, вывод 4 – вход данных.

Все сигнальные выводы микросхемы подключаются к порту D платы Arduino через перемычки (джамперы). Вывод RO (вывод 1) может подключаться к порту D0 или D4, вывод DI может подключаться к порту D1 или D3, а соединенные вместе /RE+OE могут подключаться к порту D2 или D5.

Еще одна микросхема, использующаяся в схеме, предназначена для преобразования ТТЛ уровней интерфейса ICSP платы Arduino в уровни с напряжением 3.3 В, которые требуются для работы с картой памяти microSD. Микросхема 74HC4050D содержит шесть буферов для преобразования уровней сигналов ТТЛ, но в данной схеме используются лишь три, включенные на входных линиях интерфейса microSD. Выходные уровни интерфейса microSD с напряжением 3.3 В корректно определяются микроконтроллером на плате Arduino как «лог. 1».

Дополнительно на плате установлены два пользовательских светодиода (порт D8 и D7), пользовательская кнопка (порт A1), кнопка сброса и разъем для подключения ЖК индикатора с последовательным интерфейсом (порт A0 или A2, выбирается перемычкой).

Перед работой с платой необходимо корректно установить перемычки сигнальных линий (на плате они обозначены JRO, JDI, JRDE, Рисунок 4). Если совместно с Arduino не используются дополнительные платы расширения, то перемычки можно устанавливать в любую из двух позиций. При использовании дополнительных плат расширения перемычки необходимо устанавливать так, чтобы избежать конфликтов. Также учитывайте, что плата расширения Ethernet Shield использует интерфейс ICSP Arduino, и слот карты памяти microSD в таком случае может конфликтовать с Ethernet платой.

Рисунок 4. Расположение элементов на плате расширения DMX Shield.

Для работы с платой потребуется специальная программная библиотека функций DmxSimple.h, которая вместе с примерами доступна для скачивания в разделе загрузок.

Для управления платой DMX Shield с персонального компьютера и реализации световых эффектов синхронизированных с музыкой можно использовать программный комплект Vixen. Пользователи создают в программе последовательность данных, которые затем передаются через последовательный порт компьютера в Arduino. Пример исходного кода программы микроконтроллера для работы с Vixen находится папке DMX_LightSequencing.

Демонстрационное видео

Загрузки

Библиотека функций и исходные коды примеров – скачать

Перевод: Vadim по заказу РадиоЛоцман

Проект DMX512. Микроконтроллер управляет профессиональным шоу. Ч.3

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

Какой микроконтроллер лучше, а какой хуже, спор вечный, это также как на чём лучше писать программы на Ассемблере, VB, СИ или Delphi.
Да выбирайте, какой вам по душе, все они хороши, если знаешь что с ними делать.
Для меня, как начинающего, по душе сейчас простой PIC16F84, Proteus, Ассемблер и Delphi.
Ну и конечно набор программ, облегчающий жизнь программиста.

Содержание / Contents

  • 1 Начнем изучение схемы передатчика
  • 2 Список деталей:
  • 3 Принципиальная схема
  • 4 Программа на ассемблере

↑ Начнем изучение схемы передатчика

Передатчик состоит из набора резисторов, пару конденсаторов, кварцевого резонатора, кнопочек и соответственно самого «мозга» микроконтроллера PIC16F84A.

↑ Список деталей:

1. Кнопки-переключатели (любые) – 12 шт.
2. R1-R12 10k
3. R13 4.7k
4. C1-C2 15p
5. D1 1N4148
6. U1 PIC16F84A

↑ Принципиальная схема

↑ Программа на ассемблере

;Asm файл для pic16c84 или 16f84, работает с кварцем 1MHz
;12 входов, управление переключателями (резисторы на «землю», перекл. на +5v)
; DMX выход с 1 по 12 канал, включаются (FFh), все остальные коды отключают канал.
; port A0 – DMX выход, соединяют с микросхемой sn75176 dmx driver (в другой схеме ;будет)

list p=16F84;
#include
__config _CP_OFF & _HS_OSC & _WDT_OFF & _PWRTE_ON

Reg_1 equ 0x00
Reg_2 equ 0x00
ch1 equ 0x10
ch2 equ 0x11
ch3 equ 0x12
ch4 equ 0x13
ch5 equ 0x14
ch6 equ 0x15
ch7 equ 0x16
ch8 equ 0x17
ch9 equ 0x18
ch10 equ 0x19
ch11 equ 0x1A
ch12 equ 0x1B
org 0x00
goto start
org 0x05
start
CLRF PORTA ;NEW
CLRF PORTB ;NEW

bsf STATUS,RP0
movlw 0xFF ; port b input
movwf TRISB
movlw 0xFE ; portA0 output, other bits input
movwf TRISA
movlw b’11010000′
movwf OPTION_REG
movlw b’00100000′ ; don’t allow interrupt
movwf INTCON
bcf STATUS,RP0
begin movlw 0x00
movwf ch1
movwf ch2
movwf ch3
movwf ch4
movwf ch5
movwf ch6
movwf ch7
movwf ch8
movwf ch9
movwf ch10
movwf ch11
movwf ch12
movlw 0xff
btfsc PORTB,0
movwf ch1
btfsc PORTB,1
movwf ch2
btfsc PORTB,2
movwf ch3
btfsc PORTB,3
movwf ch4
btfsc PORTB,4
movwf ch5
btfsc PORTB,5
movwf ch6
btfsc PORTB,6
movwf ch7
btfsc PORTB,7
movwf ch8
btfsc PORTA,1
movwf ch9
btfsc PORTA,2
movwf ch10
btfsc PORTA,3
movwf ch11
btfsc PORTA,4
movwf ch12
;—————————————————
dmxout
;—————————————————
;delay 2 cycle = 8uS
;—————————————————
bsf PORTA,0 ; PORTA =0000 0001
bsf PORTA,0 ; PORTA =0000 0001
;—————————————————
;delay 22 cycle = 88uS BREAK
;—————————————————
bcf PORTA,0 ; PORTA =0000 0000
movlw 0x06 ; PORTA =0000 0000
movwf Reg_1 ; PORTA =0000 0000
wr decfsz Reg_1, F ; PORTA =0000 0000
goto wr ; PORTA =0000 0000
nop ; PORTA =0000 0000
nop ; PORTA =0000 0000 88uS BREAK
;—————————————————
;delay 2 cycle = 8uS
;———————————————–
bsf PORTA,0 ; PORTA =0000 0001
bsf PORTA,0 ; PORTA =0000 0001
;—————————————————
;delay 9 cycle = 36uS begin startcode
;———————————————–
bcf PORTA,0 ;startbit ; PORTA =0000 0000
;delay = 8 machine cycles
nop
nop
movlw .2
movwf Reg_2
wr1 decfsz Reg_2, F
goto wr1
nop
;———————————————–
bsf PORTA,0 ;stopbits
bsf PORTA,0
bsf PORTA,0
;———————————————–
movlw 0x10
movwf FSR
chanel
movf INDF,w
;—————————————————
;delay 8 cycle .
;———————————————–
bcf PORTA,0
movwf PORTA
nop
nop
nop
nop
nop
nop
nop
;———————————————–
bsf PORTA,0
bsf PORTA,0
bsf PORTA,0
;———————————————–
bcf STATUS,2
clrwdt
incf FSR
movf FSR,w
xorlw 0x1C
btfss STATUS,2
goto chanel
goto begin
end

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.

USB DMX 512 контроллер на основе Arduino

Автор Admin,
13 марта, 2016 в Temp

Рекомендуемые сообщения

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Войти

Уже есть аккаунт? Войти в систему.

Похожий контент

Автор – valeriialeks
ПЕРЕХОДНИКИ ЗА 30 МИНУТ
Скачать все фото одним архивом – Переходник 3Х Пин На 5Ти Пин.zip

Приемник сигнала DMX512 на 3 канала управления. Данный приемник DMX способен управлять 3мя каналами RGB светодиодной ленты, или же любым другим неуправляемым оборудованием. Данная версия приемника может быть улучшена до 4-5-6 и до 8 каналов. Впринципе зависит от микросхемы контроллера, в зависимости от количества ее выходов. В данной версии 3 независимых выходных ШИМ канала основанных на МОСФЕТ транзисторах.
Элементы
Элемент Свойства Описание R1, R2, R3 120 Ω Резистор коричневый, красный, черный, черный, коричневый или коричневый, красный, коричневый, серебряный R4, R6 470 Ω Резистор желтый, фиолетовый, черный, черный, коричневый или (желтый, фиолетовый, коричневый, серебряный R5 10k Ω Резистор коричневый, черный, черный, красный, коричневый или коричневый, черный, оранжевый, серебряный R7 510 Ω Резистор зеленый, коричневый, черный, черный, коричневый или зеленый, коричневый, коричневый, серебряный D1 1N4004 Диод выпрямитель для защиты. Q1 16 МГц 16 МГц часы кристалл.(Желателен, но не обязателен в сборке) С2, С3 22 пФ Конденсаторы на 22 пикрофарата С6, С7 100 мкФ Электролитические конденсаторы на 100 микрофарат(Установите правильно) С4 33 мкФ Электролитический конденсатор на 33 микрофарата С1, С5, С8 100 нФ Конденсаторы для фильтрации шума силовых линий. LED1 Светодиод Светодиод для индикации S1 Переключатель для выбора адреса 7805 7805 Регулятор напряжения 5 вольт. POWER PWD Разьем питания ATmega168 ATmega168 Микроконтроллер для управления ICSP ICSP Разьем для программирования Atmega168 DMX XLR Разьем XLR или схожий с ним 6N137 6N137 Оптрон для гальванической развязки линий.(Установите правильно) MAX481 MAX481(или MAX482) Микросхема преобразователь дифференциального сигнала DMX в логический сигнал DC1 0505 Чип питания отдельной линии, используется для гальванической развязки Схема контроллера и платы Схема Плата Прошивка Микроконтроллера
Скачать прошивку – dmxspot.zip
Библиотека DMX 512 для МК – dmxserial-master.zip
Модернизация
Вы сможете собрать готовую схему на монтажной плате, и попробовать как работает эта схема. А также в зависимости от опыта работы с МК, вы сможете заменять разные узлы данной схемы, например вместо транзисторов использовать реле для большой нагрузки, или сервоприводы и.т.д
Готовый вид платы выглядит так

Схема платы, и вся разводка. Апаратная часть построена на микроконтролере avr ATMEGA 328 от компании Atmel. Приемник и передатчик могут передавать все 512 каналов управления. Без антенны базовая конфигурация работает до 100 метров в прямой видимости(сможет работать до 1км при установке антенны)

Элементы используемые в схеме. Сборка состоит из микроконтролера
NRF24L01 два модуля. 12v Вход (5v и 3.3v регулятор напряжения) 2 x XLR вход и выход(папа и мама) 2 x Светодиода(для индикации) ATMEGA328p-pu микроконтроллер. 3 x 100ом резисторы. 1 x 10кОМ резистор. 3 x 10uF конденсаторы. переключатель каналов, джампер. 16mHZ кварц. Схема подключения

Беспроводной модуль в сборе
Для подключения радиомодуля использованы ножки аппаратного SPI микроконтроллера, поэтому разъемы подключения модуля и подключения программатора дублируют друг друга. Это сделано, чтобы удобней было прошивать микроконтроллер на отладночной платке, например, если использовать программатор который подает на схему 5 вольт, а для NRF24L01 это слишком большое напряжение. Чтобы перепрошить управляющий микроконтроллер, достаточно выдернуть трансивер с платы, перепрошить и всунуть его обратно – без лишней возни с перепайкой.

Скетч для микроконтроллера
Перед компиляцией и заливкой скетча в микроконтроллер, необходимо установить и добавить в компилятор библиотеки nRF24L01 и RF24
#define ROLE A0 – Эта строка отвечает за прием и ли передачу. Если нужен приемник то A0, передатчик A1
Следите за правильным напряжением, радиомодули очень чувствительны, напряжение должно быть в пределах 3.3v
Найдено на гугл диске неизвестного пользователя. Автор отзовись оставим ссылку.

Этот тестер можно использовать для простейшей проверки целостности кабеля и работоспособности линии.

Потребуется:
– 3 или 5-контактный разъем XLR папа
– два 270-омных сопротивления 0.5 Вт
– двухцветный светодиод
Схему надо подсоединить к указанным контактам разъема и поместить в его
корпус так, чтобы снаружи остался только светодиод.

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

Arduino DMX master using RS485 click board

In this project, I will show how to implement a DMX master controller using one Arduino Uno, and one MikroElektronika Uno Click shield hosting one RS-485 click board. This project allows up to 32 devices to be connected to the same DMX bus, including the master controller, so up to 31 slave devices can be used. The number of DMX channels is up to 512, but due to memory space restrictions you may wish to use a limited set of channels.

The RS-485 click board features a half-duplex SN75176 IC (which is basically an MAX485 clone). This is a non-isolated DMX transceiver, so there is no galvanic isolation between the master device and the rest of DMX devices. Two unwanted issues here: this allows for ground loops to exist, so a current path can be established from a DMX slave device through the RS485 transceiver and then through Arduino and the USB cable connected to a computer or a laptop. If there’s a defective device and you have such a ground loop, you can damage all the equipment, including the computer. Second, lack of galvanic insulation can allow the live mains voltage to leak from a defective device through the DMX cable and into the Arduino and the connected PC. Another issue is that when used outdoor, especially with a long DMX bus, hazardous voltages can appear on the DMX bus during electric storms. So, it’s best to use this project only indoors.

While there’s a low statistics for this to happen, the lack of galvanic isolation creates a potentially life-threatening situation, so please take all the appropriate safety measures when working with this project. Don’t touch any of the exposed circuits. Use battery power if possible. Better safe than sorry.

If you plan to do some serious projects starting from this article, then I strongly recommend the use of a DMX isolator or use an isolated RS485 click board, with minor changes in the code.

The main element on the RS-485 click board is the RS-485 transceiver, which is configured to work in half-duplex mode. You can either transmit or receive, the selection between these modes being made through the R/T signal, which corresponds to the PWM pin of the RS-485 click board. When using the Click shield, if the RS-485 click is inserted into slot #1, the PWM pin is connected to Arduino pin D5. If the slot #2 is used, the selection between emitting or receiving is made through Arduino pin D6.

Three jumpers are present on the RS-485 click. If our project is connected to one end of the DMX bus, which is the most frequent situation, all three jumpers must be closed. However, the DMX master can take any position of the DMX bus. If the master is somewhere in the middle of the bus, remove all three jumpers.

By the RS-485 standard (inherited by DMX), there must be also a proper termination of the other end of the DMX bus. So, a terminator comprising of a 120-ohm resistor mounted inside an XLR connector was plugged in.

The light fixture used for testing is a Eurolite T-36 LED DMX Par, which uses five DMX channels, as follows:

CH1: Red (0:100%)
CH2: Blue (0:100%)
CH3: Green (0:100%)
CH4: Brightness (0:100%)
CH5: Flash (0:10 — no flash; 11:255 flash 0:100%)

The switches on the back of the T-36 were configured for DMX operation, channel range 1:5.

As for the software, I used the Conceptinetics DMX library. The following is a code example for this light fixture, which turns on each color for about 3 seconds, then turns off all lights, followed by a dimming of the red channel from 0 to 100%:

And finally, a picture of the working project:

Подключение световых приборов для “Чайников”

Скачать эту статью в PDF
dmx-manual.pdf

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

Что нужно знать в первую очередь о протоколе DMX 512? Нужно знать, что есть такой протокол управления как вид и что приборы, которые Вы планируете покупать и эксплуатировать, его поддерживают. ВСЕ!

Если у читателя есть желание прочитать более подробно о тонкостях данного вида передачи данных, то это возможно сделать, прочитав ВОТ ЭТУ статью .

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

На самом деле, все намного проще, чем кажется на первый взгляд. Мы имеем световой пульт DMX, к которому необходимо подключить все приборы. Работает это так: К пульту подключается кабель управления, а другим концом этот кабель подключается к ближайшему прибору. На каждом приборе, поддерживающим управление DMX 512, имеются два разъема (3 или 5 штырьковых) с обозначениями «DMX IN» и «DMX OUT». Соответственно это «ВХОД» и «ВЫХОД» для управляющего кабеля. Кабель от пульта ДМХ подключается к «ВХОДУ» первого прибора, а дальше, подключение идет последовательно от прибора к прибору по принципу вход – выход.

В конце всей линии, на выходе последнего прибора, в некоторых случаях устанавливают так называемый «ТЕРМИНАТОР»

Терминатором называется нагрузочный резистор, который располагается между двумя проводами с данными (штырьки 2 и 3 разъема типа XLR) на конце кабеля максимально удаленного от передающего устройства.

В качестве терминатора обычно используется резистор с характеристиками 90-120 Ом мощностью 1/4 Ватта. Если строго придерживаться стандарта EIA485, то следует монтировать резисторы-терминаторы с параметром 120 Ом на обоих концах линии.

В принципе, если оборудование устанавливается в небольшом помещении и длинна всей линии ДМХ не превышает 50м, установка «ТЕРМИНАТОРА» не является обязательной.

И так, с подключением разобрались, осталось настроить всю систему.

Принцип настройки тоже не должен вызвать затруднений, главное понять общий принцип:

  • Каждый прибор должен иметь свой уникальный адрес.
  • Каждый прибор имеет некоторое количество каналов управления.

Принцип тут вот какой. Подключаем первый прибор. Выставляем ему адрес 001 (это делается на световом приборе в его меню). Далее, смотрим инструкцию к этому прибору, тот ее раздел, где указанно количество каналов управления и то, за что отвечает каждый канал. Допустим, что наш прибор имеет 5 каналов управления. Это означает, что адрес следующего прибора, должен быть 006. То есть формула следующая: Адрес прибора + количество его каналов управления = адрес следующего прибора.

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

Пара слов насчет управляющих кабелей

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

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

Как работать со световым пультом?

Существует множество моделей световых пультов DMX 512. И работа с каждой конкретной моделью, требует определенных знаний последовательности действий непосредственно для данной модели.

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

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

Читайте также:
Звуковой светодиодный выключатель света с таймером
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: