Mundarija:

4 ch DMX Dimmer: 6 qadam
4 ch DMX Dimmer: 6 qadam

Video: 4 ch DMX Dimmer: 6 qadam

Video: 4 ch DMX Dimmer: 6 qadam
Video: Soldering iron with automatic tin wire 2024, Iyul
Anonim
4 chi DMX Dimmer
4 chi DMX Dimmer

Kontseptsiya portativ dimmerni loyihalash va yaratishdir.

Talablar:

  • DMX512 boshqarilishi mumkin
  • 4 kanal
  • Portativ
  • Foydalanish oson

Men bu g'oyani WSUdagi professorimga taklif qildim, chunki men o'z ehtiroslarimni teatr va kompyuterga birlashtirmoqchi edim. Bu loyiha mening teatr bo'limidagi katta loyihamga o'xshardi. Agar sizda biron bir savol yoki sharh bo'lsa, men yordam berishni xohlayman.

Kelgusi rivojlanish ko'proq kanallarni, 5 pinli DMX ulagichini, DMX o'tishni, kanalni o'zgartirish uchun 8 ta dip kalitini, bosilgan elektron kartani o'z ichiga olishi mumkin.

Men bu loyihani https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html saytidan ko'chirdim, chunki u hali ham mashhur. Bundan tashqari, iWeb urug 'faylini yo'qotib qo'ydim, shuning uchun uni endi osongina yangilay olmayman. Odamlarga loyiha bo'yicha savollarini bir -birlari bilan bo'lishishga ruxsat berish yaxshi bo'lardi.

1 -qadam: Uskuna yig'ish

Uskunani yig'ish
Uskunani yig'ish

Ishlatilgan uskuna: ko'p qismi Tayda Electronics -dan buyurtma qilingan. Menga DigiKeydan ko'ra ko'proq yoqadi, chunki tanlov kichikroq va tushunish osonroq.

  1. ATMEGA328, mikrokontroller
  2. MOC3020, TRIAC optokupllari. ZeroCross emas.
  3. MAX458 yoki SN75176BP, DMX qabul qiluvchisi
  4. ISP814, AC optokupl
  5. 7805, 5V regulyator
  6. BTA24-600, 600V 25A TRIAC
  7. 20 MGts kristalli
  8. 9V quvvat manbai

Yo'l davomida bir nechta to'siqlar va saboqlar

  • Agar siz ro'yxatga olish mutaxassisi bo'lmasangiz, ATMEGA328P -ga rioya qiling
  • Noto'g'ri optokupllar. Siz Zero Cross -ni xohlamaysiz
  • Yuqori kanallar beqaror edi. 16 MGts dan 20 MGts ga o'tish bu muammoni hal qildi
  • DMX holati nuri bo'lmadi, chunki uzilish qo'ng'irog'i juda tez bo'lishi kerak edi
  • DC quvvati juda barqaror bo'lishi kerak, har qanday to'lqin DMX signalining juda shovqinli bo'lishiga olib keladi

TRIAC dizayni MRedmondan kelgan, rahmat.

2 -qadam: O'chirish dizayni

O'chirish dizayni
O'chirish dizayni

Men sxemani loyihalash uchun Mac -da Fritzing 7.7 dan foydalandim.

Yuqoridagi MAX485 DMX signalini Arduino o'qiy oladigan narsaga aylantirish uchun ishlatiladi.

Chapdagi 4N35 AC signalining nolinchi xochini aniqlash uchun ishlatiladi, shuning uchun Arduino sinus to'lqin chiqishini qachon o'chirishni biladi. Dasturiy ta'minot bo'limida apparat va dasturiy ta'minotning o'zaro ta'siri haqida ko'proq ma'lumot.

Menda bu loyiha Evropada 230V va 50Hz bilan ishlaydimi degan savol tug'ildi. Men Evropada yashamayman va bu dizaynni sinab ko'rish uchun u erga tez -tez bormayman. Bu ishlashi kerak, siz har xil chastotali kechikish uchun kodning yorqinlik vaqtini o'zgartirishingiz kerak bo'ladi.

3 -qadam: Kovari davri dizayni

Kovari davri dizayni
Kovari davri dizayni
Kovari davri dizayni
Kovari davri dizayni

Veb -saytimni ishga tushirish jarayonida men bir nechta elektron pochta orqali suhbatlashishga muvaffaq bo'ldim. Ulardan biri Kovari Andrey edi, u ushbu loyiha asosida sxemali dizayn qildi va o'z dizayni bilan bo'lishishni xohladi. Men elektron karta dizayneri emasman, lekin bu Eagle loyihasi. Agar siz undan foydalansangiz, bu siz uchun qanday ishlashini menga ayting.

4 -qadam: Giacomo davrining dizayni

Giacomo davrining dizayni
Giacomo davrining dizayni

Vaqti -vaqti bilan odamlar menga bu ko'rsatma bilan qilgan ajoyib moslashuvlarini xabar berishadi va men ularni hammangiz bilan bo'lishishim kerak deb o'yladim.

Giacomo kontaktlarning zanglashiga olib keldi, shuning uchun markaziy transformator kerak emas edi. Kompyuter bir tomonlama va uyda ikki tomonlama qila olmaydiganlar uchun yanada arzonroq echim bo'lishi mumkin (biroz qiyin).

5 -qadam: dasturiy ta'minot

Dasturiy ta'minot
Dasturiy ta'minot

Men dasturiy ta'minot muhandisiman, shuning uchun bu qism eng batafsil.

Yoz: Arduino birinchi marta yuklanganda setup () usuli chaqiriladi. U erda men keyinchalik ishlatiladigan bir nechta o'zgaruvchilar va chiqish joylarini o'rnatdim. zeroCrossInterupt () AC har safar musbatdan salbiy kuchlanishga o'tganda chaqiriladi/ ishlaydi. U har bir kanal uchun zeroCross bayrog'ini o'rnatadi va taymerni ishga tushiradi. Loop () usuli doimiy ravishda abadiy deb nomlanadi. Chiqishni yoqish uchun TRIAC faqat 10 mikrosaniyaga ishga tushirilishi kerak. Agar u TRIAC va zeroCross -ni ishga tushirish vaqti kelgan bo'lsa, chiqish AC fazasining oxirigacha yoqiladi.

Men bu loyihani boshlash uchun Internetda bir nechta misollar bor edi. Men topa olmagan asosiy narsa, bir nechta TRIAC chiqishlari edi. Boshqalar kechiktirish funktsiyasini PWM chiqishi uchun ishlatgan, lekin bu mening ishimda ishlamaydi, chunki ATMEGA har doim DMXni tinglashi kerak. Men buni TRIAC-ni nol-xochdan keyin juda ko'p soniyada pulsatsiya qilish orqali hal qildim. TRIACni nol-xochga yaqinlashtirish orqali gunoh to'lqini ko'proq chiqariladi.

Bu erda 120VAC gunoh to'lqinining yarmi osiloskopda qanday ko'rinishga ega.

ISP814 1 -sonli uzilishga ulangan. Shunday qilib, AC o'zgaruvchidan manfiy yoki teskari tomonga o'tish signalini olganda, har bir kanal uchun zeroCross -ni rost qilib qo'yadi va sekundomerni ishga tushiradi.

Loop () usulida, har bir kanalni zeroCross rostligini tekshiradi va uni ishga tushirish vaqti o'tib ketganda, u TRIAC -ni 10 mikrosaniyaga uradi. Bu TRIAC -ni yoqish uchun etarli. TRIAC yoqilganda, u zeroCrossgacha yonib turadi. DMX 3% atrofida bo'lganda, yorug'lik miltillaydi, shuning uchun men uni oldini olish uchun kesilgan joyni qo'shdim. Bu Arduino -ning juda sekin harakatlanishiga olib keldi va puls to'lqinning oxirgi 4% o'rniga keyingi gunoh to'lqinini ishga soladi.

Bundan tashqari, loopda () holat LEDlarining PWM qiymatini o'rnatdim. Ushbu LEDlar Arduino tomonidan ishlab chiqarilgan ichki PWM -dan foydalanishi mumkin, chunki biz AC -ning zeroCrossi haqida xavotirlanmasligimiz kerak. PWM o'rnatilgandan so'ng, Arduino boshqa nashrlarda aytilmaguncha shu yorqinlikda qoladi.

Yuqoridagi izohlarda aytib o'tilganidek, 2 -pinli DMX uzilishidan foydalanish va 20 MGts da ishlash uchun siz Arduino dasturining ba'zi fayllarini tahrir qilishingiz kerak bo'ladi. HardwareSerial.cpp -da kodning bir qismi o'chirilishi kerak, bu bizga o'z uzilish qo'ng'irog'imizni yozish imkonini beradi. Bu ISR usuli DMX uzilishini boshqarish uchun kodning pastki qismida joylashgan. Agar siz Arduino -dan Internet -provayder sifatida foydalanmoqchi bo'lsangiz, o'zgarishlarni HardwareSerial.cpp -ga qaytarganingizga ishonch hosil qiling, aks holda non panelidagi ATMEGA328 -ga etib bo'lmaydi. Ikkinchi o'zgarish osonroq. Board.txt faylini yangi 20 MGts soat tezligiga o'zgartirish kerak.

nashrida [ch] = xarita (DmxRxField [ch], 0, 265, 8000, 0);

Yorqinlik 8000 ga teng, chunki bu 60 gigagertsli AC sinus to'lqinining 1/2 mikrosaniyasidir. Shunday qilib, 256 DMX to'liq nashrida, dastur 8000us uchun AC sinus to'lqinining 1/2 qismini qoldiradi. Men taxmin qilish va tekshirish orqali 8000 topdim. 1000000us/60hz/2 = 8333 matematikasini bajarish yaxshiroq raqam bo'lishi mumkin, lekin qo'shimcha 333us boshiga ega bo'lish TRIAC -ni ochishga imkon beradi va dasturda har qanday chayqalish bo'lishi mumkin.

Arduino 1.5.3 da ular HardwareSerial.cpp faylining manzilini ko'chirishdi. Bu hozir /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp 39 -satrdan boshlangan blokni sharhlashingiz kerak bo'ladi: #if belgilangan bo'lsa (USART_RX_vect)

Aks holda siz bu xatoga yo'l qo'yasiz: core/core.a (HardwareSerial0.cpp.o): "_vector_18" funktsiyasida:

6 -qadam: qadoqlash

Uni qadoqlash
Uni qadoqlash
Uni qadoqlash
Uni qadoqlash
Uni qadoqlash
Uni qadoqlash

Men Menardsning elektr bo'limidagi kulrang loyiha qutisini oldim. Elektr vilkasini teshiklarini kesish uchun pistonli arra ishlatardim. Kosonni osib qo'yish uchun tepaga mahkamlangan teatr c-qisqichi o'rnatilgan. Muammo bo'lsa, tashxis qo'yish uchun har bir kirish va chiqish holati chiroqlari. Qurilmadagi turli portlarni tushuntirish uchun yorliq ishlab chiqaruvchi ishlatilgan. Har bir vilka yonidagi raqamlar DMX kanal raqamini bildiradi. Men platani va transformatorni issiq elim bilan yopishtirdim. LEDlar LED ushlagichlari bilan joyiga yopishtirilgan.

Tavsiya: