Dmx голова своими руками

СВЕТОВОЙ ПРИБОР ВРАЩАЮЩАЯСЯ ГОЛОВА

Здравствуйте уважаемые радиолюбители! В данной статье расскажу и покажу видео работы светового дискотечного прибора. Как он работает:

— Первый двигатель вращает платформу на 360 градусов.
— Второй двигатель вращает голову на которой стоят RGB светодиоды (угол поворота не измерял).
— Все моторы — шаговые двигатели, имеют 4 вывода и один общий.
— RGB светодиоды плавно переключаются, а под музыку переключение 9 цветов плюс стробоскоп.

Если получится, то можно добавить подключение по протоколу dmx-512 . Остановку вращения головы и платформы в нужном месте контролируют стопоры. Стоят два светодиода контролирующие работу блока — один общая работа прибора, а второй работу от dmx. При отсутствии музыки прибор работает от внутренней программы. Под музыку вращение головы и платформы, угол поворота уменьшен в два раза.

Принципиальная схема прибора и чертёж платы

Светодиоды в приборе 3 шт фирмы ARPL-STAR 3W RGB (6 выв.). Питание для светодиодов +5 через LM2596 . Блок питания импульсный, куплен в магазине для питания светодиодной ленты на 12 в и мощностью 2 ампера. Вся схема потребляет около 3-х ампер. При этом блок слегка греется, но терпимо.

Для отвода тепла с LM2596 применена алюминиевая пластина толщиной 1 мм, которая располагается под основной платой (просто в другом корпусе не нашел). Светодиоды на плате можно не ставить.

Звуковой модуль от светового ежа на микросхеме LM324 . DMX вход на микросхеме sn75176 . Схема звукового блока собрана на четырех ОУ и состоит из следующих узлов. DA3-1 – предварительный микрофонный усилитель и фильтр низких частот. DA3-2 – компрессор, поддерживающий амплитуду на одном уровне и выделение изменения огибающей. DA3-3 – амплитудный детектор и повторитель. DA3-4 – компаратор изменения огибающей и устройство задержки повторного срабатывания.

Для настройки проверяем напряжения на входе, для этого необходимо включить ритмичную музыку с явно выраженным низкочастотным спектром. Установить параметры осциллографа: по Х-10 мс на деление, по Y-1 в на деление. Подключить щуп осциллографа к выводу 8 DD3.1, где должен быть виден музыкальный шум с амплитудой около 1 в. Если нет – попытаться изменить чувствительность вращением R9 и проконтролировать напряжение на микрофоне, оно должно быть в пределах от 1 до 3 В.

Переставляем входной щуп на вывод 14 DD3.2. На этом выводе должны быть положительные импульсы с амплитудой около 3В. Если вместо импульсов присутствует усиленный и ограниченный сигнал необходимо проверить цепь компрессора на VT1. Этот узел должен устойчиво работать при изменении громкости более чем в 10 раз, подбор осуществляется резистором R14. На выводе 1 DA3.3 (амплитудного детектора) во время звучания музыкального фрагмента должен присутствовать постоянный уровень 2-3в со всплесками в момент появления сильной доли. На выводе 6 DA3.4 всегда должен присутствовать минимальный уровень около 4В, меняющийся в зависимости от интенсивности музыки.

Теперь остается проверить наличие четких положительных фронтов с длительностью около 100 мс на выводе 7 DA3.4 во время сильной доли. Отсутствие длительности говорит о неправильной работе цепочки R26, VD7 и С16. Для подстройки частоты выдачи импульсов можно несколько изменить резистор R25.

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

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

Микроконтроллер ATmega16 программирую avr910 и программой avrospII (отключен JTAG и включен внешний кварц). fuse bits — high-0xD9 low-0xFF

Видео работы LED прибора «вращающаяся голова»

Есть небольшое неудобство — дип переключатели находятся внутри. Но пока дмх прием не настроен, больших проблем это не доставляет. Более подробная принципиальная схема прибора, прошивки контроллера и файла печатной платы к нему, находится в архиве .

Некоторые детали в моём варианте не соответствуют номиналам схемы — подбирались из того, что было в наличии. Если есть вопросы — отвечу на форуме, там же вы можете посмотреть и несколько других аналогичных устройств. С ув., serega7355 .

Источник

Форум сайта mypractic.ru

Обсуждение и вопросы по темам сайта.

Прибор»поворотная голова». Управление 2 ШД по протоколу DMX512 с обнулением по щелевой оптопаре.

Прибор»поворотная голова». Управление 2 ШД по протоколу DMX512 с обнулением по щелевой оптопаре.

Сообщение АнтонНикиточкин » 13 апр 2018, 01:47

Здравствуйте друзья. Начать хотелось бы с выражения благодарности автору данного ресурса. Как только будет возможность, обязательно задоначу. Эдуард, спасибо за ваш труд и проработку огромного пласта информации, снимаю шляпу!
Уже почти год я делаю устройство, принцип действия которого очень похож на алгоритм работы дискотечного прибора, именуемого как «поворотная голова». Это мой первый столь масштабный проект, и в данный момент я уперся в препятствие под названием «программирование микроконтроллера». Мне данная наука дается весьма тяжело, так как привык работать руками, а не головой. Очень хочу разобраться и возыметь понимание вопроса самостоятельно, но если кто-то поможет — буду очень рад. Поиск по просторам как отечественных, так и зарубежных сайтов, не принес должного результата — готового решения моей задачи нет.
Теперь подробности.
Необходимо управлять 2 шаговыми моторами по протоколу DMX512 через ардуино, работающего в режиме приема DMX512. Моторы управляются посредством драйверов SPEP/DIR. Вход «Enable» не подключен, так как в момент остановки двигателя требуется удержание вала мотора. Ток удержания не контролируется, задан драйвером мотора. При загрузке, моторы делают поворот до срабатывания щелевой опторапы, которая перекрывается шторкой, закрепленной на валу мотора. Таким образом выставляется «нулевая точка», от которой мотор может поворачиваться на определенное количество шагов. В моем случае их 255, по одному на уровень канала DMX512.
В цикле работы моторы поворачиваются на определенное количество шагов, в зависимости от изменения уровня DMX канала. Грубо говоря — уровень DMX канала «157» равен 157 шагов от отметки 0, при которой сработала оптопара при загрузке. Скорость вращения двигателей ограничена, так как у механизма большая масса и соответственно — инерция. Например, если уровень DMX изменяется от 0 до 100 и обратно в 0 (цифры для примера) слишком быстро, то мотор делает от нуля 10 шагов (тоже цифра отбалды) и возвращается обратно. При перемещениях на большое количетсво шагов старт и стоп плавные, для снижения момента инерции и потери шагов, если конечно это реализуемо.
На профессиональных заводских головах стоит энкодер, если в процессе работы ее насильно повернуть, она вернется обратно на то же количенство шагов, но это реализовать я точно не смогу, да и не думаю что это необходимо.
Что имеем. Два ШД, 1.8 градуса на шаг (стандарт) nema 34. Драйвера DM556 в полношаговом режиме, для наибольшего крутящего момента. Ардуино — китайский клон Arduino Nano. DMX приемник реализован на SN75176 и развязан оптроном 6n137. Схему я выложу чуть позже, так как она сделана их нескольких, я целиком не рисовал. Щелевая оптопара закреплена на корпусе мотора, шторка на валу, фото выложу чуть позже.
Ардуино плата принимает DMX пакеты, вот этот скетч работает, один канал выдает 0/1 на выходе управляясь через DMX.

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

#include
void setup () <
DMXSerial.init(DMXReceiver);
pinMode(2, OUTPUT);
>
void loop() <
unsigned long lastPacket = DMXSerial.noDataSince();

int n = 1;
int k = 155;

if (DMXSerial.read(n) > k) <
digitalWrite (2, LOW);
> else <
digitalWrite (2, HIGH);
>
>

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

Источник

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=Х если ошибка . Х возвращенное значение , которое было принято.

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

Источник

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