Съдържание:
- Стъпка 1: Събиране на хардуера
- Стъпка 2: Дизайн на верига
- Стъпка 3: Дизайнът на веригата на Kovari
- Стъпка 4: Дизайнът на веригата на Джакомо
- Стъпка 5: Софтуер
- Стъпка 6: Опаковане
Видео: 4 -канален DMX димер: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Концепцията е да се проектира и създаде преносим димер.
Изисквания:
- DMX512 Контролируем
- 4 канала
- Преносим
- Лесен за използване
Предложих тази идея на моя професор в WSU, защото исках да комбинирам страстите си към театъра и компютрите. Този проект действаше малко като моя старши проект в театралния отдел. Ако имате някакви коментари или въпроси, ще се радвам да помогна.
Бъдещото развитие може да включва повече канали, 5 пинов DMX конектор, DMX преминаване, 8 dip превключвателя за смяна на канала, печатна платка.
Мигрирах този проект от 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, 5v регулатор
- BTA24-600, 600V 25A TRIAC
- 20MHz кристал
- 9V захранване
Няколко препятствия и поуки, научени по пътя
- Ако не сте експерт по регистрация, придържайте се към ATMEGA328P
- Грешни оптрони. Не искате Zero Cross
- Високите канали бяха нестабилни. Преминаването от 16MHz на 20MHz реши този проблем
- Не може да има индикатор за състоянието на DMX, защото повикването за прекъсване трябваше да бъде много бързо
- Захранването с постоянен ток трябва да бъде изключително стабилно, всяко вълнение ще предизвика DMX сигнала да стане много шумен
Дизайнът TRIAC дойде от MRedmon, благодаря.
Стъпка 2: Дизайн на верига
Използвах Fritzing 7.7 на Mac, за да проектирам моята схема.
MAX485 отгоре се използва за преобразуване на DMX сигнала в нещо, което Arduino може да прочете.
4N35 вляво се използва за откриване на нулевия кръст на променливотоковия сигнал, така че Arduino ще знае по кое време да затъмни изхода на синусоидалната вълна. Повече за това как хардуерът и софтуерът взаимодействат в раздела за софтуера.
Получих въпроса дали този проект ще работи в Европа с 230V и 50Hz? Не живея в Европа, нито пътувам често, за да мога да тествам този дизайн. Трябва да работи, просто ще трябва да промените кода за време на яркостта на кода за различното забавяне на честотата.
Стъпка 3: Дизайнът на веригата на Kovari
В процеса на издигане на моя уебсайт успях да проведа няколко разговора по имейл. Единият беше с Ковари Андрей, който направи схемен дизайн въз основа на този проект и искаше да сподели своя дизайн. Не съм дизайнер на платки, но това е проект на Eagle. Кажете ми как работи за вас, ако го използвате.
Стъпка 4: Дизайнът на веригата на Джакомо
От време на време хората ще ми изпращат съобщения с вълнуващите адаптации, които са направили с тази инструкция и реших, че трябва да ги споделя с всички вас.
Джакомо модифицира веригата, така че не е необходим централен трансформатор. Печатната платка е едностранна и може да бъде по -достъпно решение за тези, които не могат да направят двустранно у дома (малко трудно).
Стъпка 5: Софтуер
Аз съм софтуерен инженер по професия, така че тази част е най -подробна.
Summery: Когато Arduino първо стартира, се извиква методът setup (). Там настроих няколко от променливите и изходните места, които да се използват по -късно. zeroCrossInterupt () се извиква/ изпълнява всеки път, когато AC пресича от положително към отрицателно напрежение. Той ще зададе флага zeroCross за всеки канал и ще стартира таймера. Методът loop () се извиква непрекъснато завинаги. За да включите изхода, TRIAC трябва да се задейства само за 10 микросекунди. Ако е време за задействане на TRIAC и zeroCross се е случило, изходът ще се включи до края на AC фазата.
Имаше няколко примера онлайн, с които стартирах този проект. Основното нещо, което не можах да намеря, беше наличието на множество изходи TRIAC. Други използваха функцията за забавяне, за да PWM изхода, но това не би работило в моя случай, защото ATMEGA трябва да слуша DMX през цялото време. Реших това, като пулсирах TRIAC на толкова много ms след нулево кръстосване. Чрез пулсиране на TRIAC по-близо до нулево кръстосване се извежда повече от грешката на греха.
Ето как изглежда половината грешна вълна от 120VAC на осцилоскоп, по -горе.
ISP814 е свързан към прекъсване 1. Така че, когато получи сигнал, че AC преминава от положително към отрицателно или обратно, той настройва нулевия кръст за всеки канал на истинско и стартира хронометъра.
В метода loop () той проверява всеки канал дали zeroCross е вярно и времето за активиране е изтекло, ще пулсира TRIAC за 10 микросекунди. Това е достатъчно, за да включите TRIAC. След като TRIAC е включен, той ще остане включен до zeroCross. Светлината ще мига, когато DMX е около 3%, така че добавих прерязването там, за да го предотвратя. Това беше причината Arduino да е твърде бавен и пулсът понякога би задействал следващата грешна вълна вместо последните 4% от вълната.
Също така в loop () задавам PWM стойността на светодиодите за състоянието. Тези светодиоди могат да използват вътрешната ШИМ, генерирана от Arduino, защото не е нужно да се притесняваме за нулевия кръст на AC. След като ШИМ е настроен, Arduino ще продължи с тази яркост, докато не бъде казано по друг начин.
Както е отбелязано в горните коментари, за да използвате DMX прекъсване на пин 2 и да работите на 20MHz, ще трябва да редактирате някои от файловете на приложението Arduino. В HardwareSerial.cpp парче код трябва да бъде изтрит, което ни позволява да напишем наше собствено повикване за прекъсване. Този ISR метод е в долната част на кода за обработка на DMX прекъсването. Ако ще използвате Arduino като ISP програмист, не забравяйте да върнете промените в HardwareSerial.cpp, в противен случай ATMEGA328 на дъската за хляб ще бъде недостъпен. Втората промяна е по -лека. Файлът board.txt трябва да бъде променен на новата 20MHz тактова честота.
яркост [ch] = карта (DmxRxField [ch], 0, 265, 8000, 0);
Яркостта се съпоставя с 8000, защото това е количеството микросекунди от 1/2 синусоидална вълна при 60 Hz. Така че при пълна яркост 256 DMX програмата ще остави 1/2 AC синусоида ВКЛЮЧЕНА за 8000us. Дойдох с 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 Ще трябва да коментирате цялото това, ако блокът започва с ред 39: #if дефиниран (USART_RX_vect)
В противен случай ще получите тази грешка: core/core.a (HardwareSerial0.cpp.o): Във функцията `_vector_18 ':
Стъпка 6: Опаковане
Взех сивата кутия за проекти в Menards в тяхната електрическа секция. Използвах бутален трион, за да изрежа отворите за електрически щепсел. Случаят има театрална c-скоба, прикрепена към горната част за окачване. Индикаторите за състоянието на всеки вход и изход помагат за диагностициране, ако има проблем. За обяснение на различните портове на устройството е използван създател на етикети. Цифрите до всеки щепсел представляват номера на DMX канала. Закрепих платката и трансформатора с малко горещо лепило. Светодиодите са залепени на място с държачи за светодиоди.
Препоръчано:
Мощен цифров променлив димер с помощта на STM32: 15 стъпки (със снимки)
Мощен цифров димер за променлив ток, използващ STM32: От Hesam Moshiri, [email protected] AC натоварванията живеят с нас! Защото те са навсякъде около нас и поне домакинските уреди се захранват от електрическата мрежа. Много видове промишлено оборудване също се захранват с еднофазен 220V-AC
Направете свой собствен (венец) двоен LED димер: 4 стъпки
Как да направите свой собствен (Seesaw) двоен светодиоден димер: Днес ще ви покажа как да направите двойния светодиоден димер само с 555 таймер чипове заедно с общи компоненти. Подобно на един MOSFET/транзистор (или PNP, NPN, P-канал, или N-канал), който регулира яркостта на светодиода, този използва два MOS
Димер за LED крушка: 3 стъпки
Димер с LED крушка: Това е прост димер с LED крушка. Можете да видите как работи схемата във видеото. Аз дойдох на тази идея, след като прочетох следните статии: https: //www.instructables.com/id/LM350-Power-Supply/https: //www.instructables. com/id/Transistor
Транзисторен светодиоден димер: 3 стъпки
Транзисторен светодиоден димер: Тази инструкция ви показва как да направите прост транзисторен светодиоден димер. Има по-евтина алтернатива: https: //hackaday.io/page/6955-recycled-light-dimme …: Въпреки това, веригата в линка по -горе може да управлява само LED светлини с нисък ток и ниска мощност. Thi
Превключвател на светлината + димер за вентилатор в една платка с ESP8266: 7 стъпки (със снимки)
Светлинен превключвател + димер за вентилатор в една платка с ESP8266: В този урок ще научите как да изградите свой собствен превключвател за светлина и вентилатор само в една платка с микроконтролера и WiFi модула ESP8266. Това е чудесен проект за IoT. : Тази схема се захранва с променливо напрежение, така че бъдете внимателни