Оглавление:

4-канальный диммер DMX: 6 ступеней
4-канальный диммер DMX: 6 ступеней

Видео: 4-канальный диммер DMX: 6 ступеней

Видео: 4-канальный диммер DMX: 6 ступеней
Видео: DIMMER PACK dmx 4ch WDP-4 4-х канальный диммер сценического света work pro 2024, Ноябрь
Anonim
4-канальный диммер DMX
4-канальный диммер DMX

Идея состоит в том, чтобы спроектировать и создать портативный диммер.

Требования:

  • DMX512 управляемый
  • 4 канала
  • Портативный
  • Легко использовать

Я предложил эту идею своему профессору из WSU, потому что я хотел объединить свою страсть к театру и компьютерам. Этот проект немного походил на мой старший проект на театральном факультете. Если у вас есть какие-либо комментарии или вопросы, я буду рад помочь.

Будущее развитие может включать в себя больше каналов, 5-контактный разъем DMX, сквозной DMX, 8 микропереключателей для изменения канала, печатную плату.

Я перенес этот проект с https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html, потому что, я думаю, он по-прежнему популярен. Также я потерял свой исходный файл iWeb, поэтому я больше не могу его легко обновить. Было бы неплохо позволить людям делиться друг с другом своими вопросами по проекту.

Шаг 1: Сбор оборудования

Сбор оборудования
Сбор оборудования

Используемое оборудование: большая часть его была заказана у Tayda Electronics. Мне они нравятся больше, чем DigiKey из-за того, что выбор меньше и легче для понимания.

  1. ATMEGA328, Микроконтроллер
  2. MOC3020, Оптопара TRIAC. Не ZeroCross.
  3. MAX458 или SN75176BP, приемник DMX
  4. ISP814, Оптрон переменного тока
  5. 7805, регулятор 5в
  6. BTA24-600, 600V 25A TRIAC
  7. Кристалл 20 МГц
  8. Источник питания 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: упаковка

Упаковка It Up
Упаковка It Up
Упаковка It Up
Упаковка It Up
Упаковка It Up
Упаковка It Up

Я купил серую коробку для проектов в Menards, в их электрическом отделении. Я использовал сабельную пилу, чтобы вырезать отверстия для электрических вилок. К футляру прикреплен зажим для театральной сцены, прикрепленный к верхней части для подвешивания. Индикаторы состояния для каждого входа и выхода, чтобы помочь диагностировать проблему. Изготовитель этикеток был использован для объяснения различных портов на устройстве. Цифры рядом с каждым штекером представляют номер канала DMX. Я приклеил плату и трансформатор горячим клеем. Светодиоды закреплены на держателях.

Рекомендуемые: