Протокол DMX512

Использование протоколов Modbus, SPI, I2c и прочих, проблемы и решения
Аватара пользователя
stapmoff
Лейтенант
Сообщения: 314
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 1

Протокол DMX512

#1

Сообщение stapmoff » 28.08.2017{, 10:20}

Кто нибудь работал с этим протоколом? Есть некая библиотека, надо сделать блок для управления катайскими РГБ светодиодами, простой алгоритм без какого либо управления. Кто может помочь?
Вложения
8536355.zip
(134.51 КБ) 59 скачиваний

uncledim
Рядовой
Сообщения: 1
Зарегистрирован: 19.06.2017{, 08:54}
Репутация: 0

Протокол DMX512

#2

Сообщение uncledim » 29.08.2017{, 07:32}

Вот блок делал для управления реле, можно поправить как димер, адрес задается на входе adr.
Библиотеку использовал:DMXSerial
Вложения
DMXSerial.rar
(6.47 КБ) 74 скачивания
DMXRecv-CODE-.ubi
(46.4 КБ) 72 скачивания

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 314
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 1

Протокол DMX512

#3

Сообщение stapmoff » 29.08.2017{, 11:30}

uncledim, Оу Спасибо попробую

Добавлено (29.08.2017, 11:30)
---------------------------------------------
uncledim, Я как понял это прием по протоколу, а мне передача нужна, ладно будет что то думать

pan
Полковник
Сообщения: 2846
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 190
Имя: noname

Протокол DMX512

#4

Сообщение pan » 29.08.2017{, 19:27}

там в много разных примеров. скажите какой вам надо

Аватара пользователя
stapmoff
Лейтенант
Сообщения: 314
Зарегистрирован: 16.05.2016{, 10:21}
Репутация: 1

Протокол DMX512

#5

Сообщение stapmoff » 30.08.2017{, 04:06}

pan, Вообще мне нужно собрать контроллер для управления китайской RGB светодиодной ленты у которой стоит свой контроллер

pan
Полковник
Сообщения: 2846
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 190
Имя: noname

Протокол DMX512

#6

Сообщение pan » 30.08.2017{, 10:27}

загрузил библиотеку, там вот столько примеров 
Изображение

с разными функциями.

я не знаю какие запихивать)

Berlin
Рядовой
Сообщения: 8
Зарегистрирован: 23.08.2018{, 03:42}
Репутация: 0
Имя: Viktor

Протокол DMX512

#7

Сообщение Berlin » 23.08.2018{, 11:06}

Все привет. Что бы не плодить темы, спрошу здесь.
Может есть у кого уже готовый модуль dmx512 на прием с описанием, а то в том модуле, который тут выложен, не совсем понятно, куда сигнал с пульта подавать, на какой пин. Шильд UNO.

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Протокол DMX512

#8

Сообщение kalobyte » 23.08.2018{, 11:31}

Berlin,
протокол дмх512 работает поверх юарт (который работает не совсем в стандартном режиме) и рс485
по сути это просто последовательность чисел от 0 до 255, где номер числа и есть канал дмх

на уно это пин0 с пометкой rх
но тебе нужен еще шилд дмх
https://www.aliexpress.com/item/1pcs-DM ... 21678.html

правда цены что-то лютые совсем на него
на крайняк такой пойдет, а гнездо хлр там уж сам приделаеш
https://www.aliexpress.com/item/TTL-to- ... 18272.html

Berlin
Рядовой
Сообщения: 8
Зарегистрирован: 23.08.2018{, 03:42}
Репутация: 0
Имя: Viktor

Протокол DMX512

#9

Сообщение Berlin » 23.08.2018{, 11:44}

Благодарю за быстрый ответ! С паяльником дружу, интерфейс сделаю. Буду экспериментировать. :smile390:

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Протокол DMX512

#10

Сообщение kalobyte » 23.08.2018{, 14:40}

насколько я помню - там надо подменять оригинальный файл ардуиновский, который отвечает за юарт, т.к. дмх использует нестандартные режимы + не всегда хватает скорости
у меня лента на 50 2812х подглючивала, из-за чего я отказался от этой затеи

если у тебя там 3.5 лампочки будет, то потянет, хотя я бы готовую плату купил

Berlin
Рядовой
Сообщения: 8
Зарегистрирован: 23.08.2018{, 03:42}
Репутация: 0
Имя: Viktor

Протокол DMX512

#11

Сообщение Berlin » 23.08.2018{, 15:31}

Там будут не только лампочки. То есть тупо силенок не хватит что то больше чем 3,5 лампочки крутить? Хотел попробовать оживить вращающуюся голову оживить, материнка у нее умерла, ну чисто из спортивного интереса. 4 шаговых двигателя и светодиод. Можно конечно без дмх в автоматич. Режиме оставить, но хотелось бы и управлять мочь. :smile427:

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Протокол DMX512

#12

Сообщение kalobyte » 23.08.2018{, 15:52}

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

Berlin
Рядовой
Сообщения: 8
Зарегистрирован: 23.08.2018{, 03:42}
Репутация: 0
Имя: Viktor

Протокол DMX512

#13

Сообщение Berlin » 23.08.2018{, 17:37}

Драйвера а4988, step/dir. Led драйвер с шимом, дисплей 1602, ну дмх желательно. Вот такой план. Уперлось все в дмх :smile453:

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Протокол DMX512

#14

Сообщение kalobyte » 23.08.2018{, 17:52}

а код чего не напишеш? драйвер двигателя вон есть же
и зачем тебе индикатор там?

Berlin
Рядовой
Сообщения: 8
Зарегистрирован: 23.08.2018{, 03:42}
Репутация: 0
Имя: Viktor

Протокол DMX512

#15

Сообщение Berlin » 23.08.2018{, 18:19}

Код в процессе.
Индикатор с менюшкой для настройки, переключением между функциями, например активацией по звуку, по дмх, автоматом и тд.

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Протокол DMX512

#16

Сообщение kalobyte » 23.08.2018{, 18:39}

тогда лучше флпрог использовать
не забудь сделать задачу адреса устройства
вот я тебе даже код нашел
https://playground.arduino.cc/DMX/Ardmx

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

вот без модификации кода
https://github.com/mathertel/DmxSerial
Последний раз редактировалось kalobyte 23.08.2018{, 19:04}, всего редактировалось 2 раза.

Berlin
Рядовой
Сообщения: 8
Зарегистрирован: 23.08.2018{, 03:42}
Репутация: 0
Имя: Viktor

Протокол DMX512

#17

Сообщение Berlin » 23.08.2018{, 18:52}

Flprog отличная штука!!! На ней и собирался "рисовать". Огромное спасибо автору! :yes: :smile9:

Отправлено спустя 4 часа 32 минуты 46 секунд:
kalobyte писал(а):
23.08.2018{, 18:39}
тогда лучше флпрог использовать
не забудь сделать задачу адреса устройства
вот я тебе даже код нашел
https://playground.arduino.cc/DMX/Ardmx

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

вот без модификации кода
https://github.com/mathertel/DmxSerial
Большое спасибо. С кодом небольшая проблема. Я не до конца еще разобрался с С и с тем как блоки в программе самому делать. :smile250: Потому и искал готовое решение.

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Протокол DMX512

#18

Сообщение kalobyte » 24.08.2018{, 07:06}

вот видео по созданию блоков



вот какие у тебя исходные данные
4 шаговых двигателя и 1 светодиод
я не знаю, в каком режиме он работает - просто вкл\выкл или регулировка яркости, но это не так важно

у контроллера шагового двигателя есть 2 входа: направление и шаг
направление - это 1 или 0 (это один вЫход типа boolean в блоке)
а вот с шагом тут несколько сложнее
ты можеш сделать так же выход состояния и в коде дернуть нужным пином, а можеш сделать вывод типа байт и уже потом в флпроге использовать другие блоки, чтобы задавать скорость вращения, тем самым добавив еще один канал

таким макаром у тебя получается
1 канал на светодиод

1 канал на направление вращения
1 канал на угол поворота (количество шагов)

т.е. двигателя 4, то 2 * 4 = 8 + 1 светодиод = 9 каналов (выходов) будет адресное пространство твоего устройства (блока)

Berlin
Рядовой
Сообщения: 8
Зарегистрирован: 23.08.2018{, 03:42}
Репутация: 0
Имя: Viktor

Протокол DMX512

#19

Сообщение Berlin » 24.08.2018{, 10:14}

Наверное немного по другому. Положение головы в пространстве - 2 канала.
1 канал - 540 градусов по оси х
2 канал - 270 градусов по оси у
3 канал - светофильтры
4 канал - трафареты
5 канал - диод с ШИМ
Можно еще шестой добавить, на переключение разных эффектов, если эффекты поместятся.
От блока требуется принять сигнал и расскидать его по 6-ти выходам в зависимости от адреса. На выходе от 0 до 255, а остальная логика уже после блока.

kalobyte
Лейтенант
Сообщения: 422
Зарегистрирован: 22.10.2016{, 14:22}
Репутация: 28

Протокол DMX512

#20

Сообщение kalobyte » 24.08.2018{, 11:58}

а как у тебя получилось 540 градусов, если в одном обороте 360?

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

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

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

Ответить

Вернуться в «Протоколы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость