Оглавление:
- Шаг 1: Сбор оборудования
- Шаг 2: Проектирование схемы
- Шаг 3: схемотехника Ковари
- Шаг 4: схемотехника Джакомо
- Шаг 5: Программное обеспечение
- Шаг 6: упаковка
Видео: 4-канальный диммер DMX: 6 ступеней
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Идея состоит в том, чтобы спроектировать и создать портативный диммер.
Требования:
- DMX512 управляемый
- 4 канала
- Портативный
- Легко использовать
Я предложил эту идею своему профессору из WSU, потому что я хотел объединить свою страсть к театру и компьютерам. Этот проект немного походил на мой старший проект на театральном факультете. Если у вас есть какие-либо комментарии или вопросы, я буду рад помочь.
Будущее развитие может включать в себя больше каналов, 5-контактный разъем DMX, сквозной DMX, 8 микропереключателей для изменения канала, печатную плату.
Я перенес этот проект с https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html, потому что, я думаю, он по-прежнему популярен. Также я потерял свой исходный файл iWeb, поэтому я больше не могу его легко обновить. Было бы неплохо позволить людям делиться друг с другом своими вопросами по проекту.
Шаг 1: Сбор оборудования
Используемое оборудование: большая часть его была заказана у Tayda Electronics. Мне они нравятся больше, чем DigiKey из-за того, что выбор меньше и легче для понимания.
- ATMEGA328, Микроконтроллер
- MOC3020, Оптопара TRIAC. Не ZeroCross.
- MAX458 или SN75176BP, приемник DMX
- ISP814, Оптрон переменного тока
- 7805, регулятор 5в
- BTA24-600, 600V 25A TRIAC
- Кристалл 20 МГц
- Источник питания 9В
Несколько препятствий и уроков, извлеченных на этом пути
- Если вы не являетесь специалистом по регистрации, остановитесь на ATMEGA328P.
- Неправильные оптопары. Вы не хотите Zero Cross
- Высокие каналы были нестабильными. Переключение с 16 МГц на 20 МГц решило эту проблему.
- Невозможно иметь индикатор состояния DMX, потому что вызов прерывания должен быть очень быстрым
- Электропитание постоянного тока должно быть чрезвычайно стабильным, любая пульсация приведет к очень шумному сигналу DMX.
Дизайн TRIAC пришел от MRedmon, спасибо.
Шаг 2: Проектирование схемы
Для разработки схемы я использовал Fritzing 7.7 на Mac.
MAX485 наверху используется для преобразования сигнала DMX в то, что может прочитать Arduino.
4N35 слева используется для обнаружения пересечения нуля сигнала переменного тока, поэтому Arduino будет знать, в какое время уменьшить выходной сигнал синусоиды. Подробнее о взаимодействии аппаратного и программного обеспечения читайте в разделе программного обеспечения.
У меня возник вопрос, будет ли этот проект работать в Европе с 230 В и 50 Гц? Я не живу в Европе и не часто езжу туда, чтобы иметь возможность протестировать эту конструкцию. Он должен работать, вам просто нужно будет изменить строку кода времени яркости для другой частоты задержки времени.
Шаг 3: схемотехника Ковари
В процессе создания моего веб-сайта я смог поговорить по электронной почте. Один был с Ковари Андреем, который разработал схему на основе этого проекта и хотел поделиться своим дизайном. Я не разработчик плат, но это проект Eagle. Сообщите мне, как это работает для вас, если вы его используете.
Шаг 4: схемотехника Джакомо
Время от времени люди будут сообщать мне о захватывающих адаптациях, которые они сделали с помощью этого руководства, и я решил, что должен поделиться ими со всеми вами.
Джакомо изменил схему, поэтому трансформатор с центральным ответвлением не требовался. Плата является односторонней и может быть более доступным решением для тех, кто не может сделать двустороннюю в домашних условиях (что немного сложно).
Шаг 5: Программное обеспечение
Я инженер-программист по профессии, поэтому эта часть является наиболее подробной.
Резюме: при первой загрузке Arduino вызывается метод setup (). Там я установил несколько переменных и мест вывода, которые будут использоваться позже. zeroCrossInterupt () вызывается / запускается каждый раз, когда переменный ток переходит от положительного к отрицательному напряжению. Он установит флаг zeroCross для каждого канала и запустит таймер. Метод loop () вызывается постоянно и навсегда. Чтобы включить выход, TRIAC должен быть активирован только на 10 микросекунд. Если пора активировать TRIAC и сработало zeroCross, выход будет включаться до конца фазы переменного тока.
В Интернете было несколько примеров, которые я использовал для запуска этого проекта. Главное, чего я не мог найти, это наличие нескольких выходов TRIAC. Другие использовали функцию задержки для ШИМ вывода, но в моем случае это не сработало бы, потому что ATMEGA должен постоянно слушать DMX. Я решил эту проблему, подавая на TRIAC так много мсек после перехода через ноль. При перемещении TRIAC ближе к точке пересечения нуля на выходе будет больше синусоидальной волны.
Вот как выглядит синусоидальная волна на половину 120 В переменного тока на осциллографе выше.
ISP814 подключен к прерыванию 1. Поэтому, когда он получает сигнал о том, что переменный ток переходит с положительного на отрицательный или наоборот, он устанавливает нулевое пересечение для каждого канала в значение «истина» и запускает секундомер.
В методе loop () он проверяет каждый канал, истинно ли значение zeroCross и истекло ли время его активации, он будет пульсировать TRIAC в течение 10 микросекунд. Этого достаточно, чтобы включить TRIAC. Как только TRIAC включен, он будет оставаться включенным до нуля. Свет будет мерцать, когда DMX будет около 3%, поэтому я добавил усечение, чтобы предотвратить это. Это было вызвано слишком медленной работой Arduino, и импульс несколько раз запускал следующую синусоидальную волну вместо последних 4% волны.
Также в цикле () я установил значение ШИМ светодиодов состояния. Эти светодиоды могут использовать внутреннюю ШИМ, генерируемую Arduino, потому что нам не нужно беспокоиться о нулевом пересечении переменного тока. После установки ШИМ Arduino будет продолжать работать с этой яркостью, пока не будет сказано иное.
Как отмечалось в верхних комментариях, чтобы использовать прерывание DMX на выводе 2 и работать на частоте 20 МГц, вам необходимо отредактировать некоторые файлы приложения Arduino. В HardwareSerial.cpp фрагмент кода должен быть удален, это позволяет нам написать собственный вызов прерывания. Этот метод ISR находится в конце кода для обработки прерывания DMX. Если вы собираетесь использовать Arduino в качестве программиста ISP, обязательно отмените изменения в HardwareSerial.cpp, иначе ATMEGA328 на макетной плате будет недоступен. Второе изменение - более легкое. В файлеboards.txt необходимо установить новую тактовую частоту 20 МГц.
яркость [ch] = map (DmxRxField [ch], 0, 265, 8000, 0);
Яркость соответствует 8000, потому что это количество микросекунд 1/2 синусоидального сигнала переменного тока при 60 Гц. Таким образом, при полной яркости 256 DMX программа оставит 1/2 синусоидальной волны переменного тока включенной в течение 8000 мкс. Я получил 8000 путем догадок и чеков. Посчитайте 1000000us / 60hz / 2 = 8333, так что это может быть лучшее число, но наличие дополнительных 333us над головой позволяет TRIAC открыться, и любой джиттер в программе, вероятно, будет хорошей идеей.
В Arduino 1.5.3 они переместили расположение файла HardwareSerial.cpp. Теперь это /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp. Вам нужно будет закомментировать весь этот блок if, начинающийся со строки 39: #if defined (USART_RX_vect)
В противном случае вы получите следующую ошибку: core / core.a (HardwareSerial0.cpp.o): В функции `_vector_18 ':
Шаг 6: упаковка
Я купил серую коробку для проектов в Menards, в их электрическом отделении. Я использовал сабельную пилу, чтобы вырезать отверстия для электрических вилок. К футляру прикреплен зажим для театральной сцены, прикрепленный к верхней части для подвешивания. Индикаторы состояния для каждого входа и выхода, чтобы помочь диагностировать проблему. Изготовитель этикеток был использован для объяснения различных портов на устройстве. Цифры рядом с каждым штекером представляют номер канала DMX. Я приклеил плату и трансформатор горячим клеем. Светодиоды закреплены на держателях.
Рекомендуемые:
Диммер переменного тока: 10 ступеней
AC Dimmer: Диммеры - это устройства, подключенные к регулируемому устройству, и они используются для снижения яркости переменного устройства. Изменяя форму волны напряжения, подаваемого на это устройство, можно снизить интенсивность выходного сигнала устройства. Хотя v
Все в одном · Терминатор DMX и тестер DMX: 3 шага
Все в одном · Терминатор DMX и тестер DMX: Как специалист по освещению, иногда вам нужно знать, насколько исправны ваши DMX-соединения среди приборов. Иногда из-за проводов, самих приспособлений или колебаний напряжения в системе DMX возникает множество проблем и ошибок. Итак, я сделал
Потолок EL, управляемый DMX: 9 ступеней (с изображениями)
Потолок EL Wire с DMX управлением: Этот проект представляет собой потолок EL Wire с DMX управлением. Он изготовлен из 30 EL Wire (что означает Электролюминесцентный провод) в 3 разных цветах, полностью независимых. Он включает стандартный протокол DMX, совместимый с любым программным обеспечением для управления освещением
ШИМ-управление скоростью двигателя постоянного тока и освещением - Диммер постоянного тока: 7 ступеней
ШИМ-управление скоростью двигателя постоянного тока и освещением | Диммер постоянного тока: сегодня в этом видео я собираюсь показать вам, как приглушить свет, контролировать скорость двигателя в постоянном или постоянном токе, так что давайте начнем
Базовый светодиодный диммер: 5 ступеней (с изображениями)
Базовый светодиодный диммер: в этом руководстве вы узнаете, как построить простой светодиодный диммер, используя только потенциометр. Комплект Arduino, который я использую, любезно предоставил Куман (kumantech.com). Вы можете найти это здесь