Orodha ya maudhui:

4 Ch DMX Dimmer: 6 Hatua
4 Ch DMX Dimmer: 6 Hatua

Video: 4 Ch DMX Dimmer: 6 Hatua

Video: 4 Ch DMX Dimmer: 6 Hatua
Video: pknight dimmer pack 4ch tutorial 2024, Julai
Anonim
4 Ch DMX Punguza
4 Ch DMX Punguza

Wazo ni kubuni na kuunda dimmer inayoweza kusonga.

Mahitaji:

  • DMX512 Inadhibitiwa
  • Njia 4
  • Kubebeka
  • Rahisi kutumia

Nilipendekeza wazo hili kwa profesa wangu huko WSU kwa sababu nilitaka kuchanganya matamanio yangu kwa ukumbi wa michezo na kompyuta. Mradi huu ulifanya kama mradi wangu mwandamizi katika idara ya ukumbi wa michezo. Ikiwa una maoni au swali, ningependa kusaidia.

Maendeleo ya baadaye yanaweza kujumuisha vituo zaidi, kontakt 5 ya DMX ya pini, kupitishwa kwa DMX, swichi 8 za kuzamisha kubadilisha kituo, bodi ya mzunguko iliyochapishwa.

Nimehamisha mradi huu kutoka https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html kwa sababu bado ni maarufu, nadhani. Pia nimepoteza faili yangu ya mbegu ya iWeb kwa hivyo siwezi kuisasisha kwa urahisi tena. Itakuwa nzuri kuruhusu watu kushiriki maswali yao kwenye mradi wao kwa wao.

Hatua ya 1: Kukusanya vifaa

Kukusanya vifaa
Kukusanya vifaa

Vifaa Vya Kutumika: Sehemu nyingi ziliamriwa kutoka Tayda Electronics. Ninawapenda zaidi kuliko DigiKey kwa sababu ya uteuzi mdogo na rahisi kuelewa.

  1. ATMEGA328, Mdhibiti mdogo
  2. MOC3020, TRIAC Optocoupler. Sio ZeroCross.
  3. MAX458 au SN75176BP, Mpokeaji wa DMX
  4. ISP814, Optocoupler ya AC
  5. 7805, 5v Mdhibiti
  6. BTA24-600, 600V 25A TRIAC
  7. Kioo cha 20MHz
  8. Ugavi wa umeme wa 9V

Vikwazo na masomo kadhaa uliyojifunza njiani

  • Ikiwa wewe si mtaalam wa rejista, fimbo na ATMEGA328P
  • Optocouplers wasio sahihi. Hutaki Zero Cross
  • Njia kuu hazikuwa imara. Kubadilisha kutoka 16MHz hadi 20MHz kulitatua suala hili
  • Imeshindwa kuwa na nuru ya hadhi ya DMX kwa sababu simu iliyokatiza ilibidi iwe ya haraka sana
  • Nguvu ya DC inapaswa kuwa thabiti sana, kiwiko chochote kitasababisha ishara ya DMX kupiga kelele sana

Ubunifu wa TRIAC ulitoka kwa MRedmon, asante.

Hatua ya 2: Ubunifu wa Mzunguko

Ubunifu wa Mzunguko
Ubunifu wa Mzunguko

Nilitumia Fritzing 7.7 kwenye Mac kubuni mzunguko wangu.

MAX485 hapo juu hutumiwa kubadilisha ishara ya DMX kuwa kitu ambacho Arduino inaweza kusoma.

4N35 upande wa kushoto hutumiwa kugundua msalaba sifuri wa ishara ya AC ili Arduino ijue ni saa ngapi kupunguza pato la wimbi la Sine. Zaidi juu ya jinsi vifaa na programu zinaingiliana katika sehemu ya programu.

Nimepata swali je mradi huu utafanya kazi Ulaya na 230V na 50Hz? Siishi Ulaya, wala sisafiri huko mara nyingi ili kuweza kujaribu muundo huu. Inapaswa kufanya kazi, itabidi ubadilishe laini ya muda wa mwangaza wa nambari kwa ucheleweshaji wa wakati tofauti wa masafa.

Hatua ya 3: Ubunifu wa Mzunguko wa Kovari

Ubunifu wa Mzunguko wa Kovari
Ubunifu wa Mzunguko wa Kovari
Ubunifu wa Mzunguko wa Kovari
Ubunifu wa Mzunguko wa Kovari

Kupitia mchakato wa kuwa na wavuti yangu juu niliweza kuwa na mazungumzo machache ya barua pepe. Mmoja alikuwa na Kovari Andrei ambaye alifanya muundo wa mzunguko kulingana na mradi huu na alitaka kushiriki muundo wake. Mimi sio mbuni wa bodi ya mzunguko lakini ni mradi wa Tai. Napenda kujua jinsi inavyokufaa ikiwa unatumia.

Hatua ya 4: Ubunifu wa Mzunguko wa Giacomo

Ubunifu wa Mzunguko wa Giacomo
Ubunifu wa Mzunguko wa Giacomo

Mara kwa mara watu watanitumia ujumbe na mabadiliko ya kufurahisha ambayo wamefanya na hii inayoweza kufundishwa na nikaona ni lazima nishiriki nanyi nyote.

Giacomo alibadilisha mzunguko kwa hivyo kituo kilichopigwa bomba hakikuhitajika. Pcb ni upande mmoja na inaweza kuwa suluhisho la bei rahisi zaidi kwa ambao hawawezi kutengeneza pande mbili nyumbani (ngumu kidogo).

Hatua ya 5: Programu

Programu
Programu

Mimi ni mhandisi wa programu kwa biashara kwa hivyo sehemu hii ni ya kina zaidi.

Summery: Wakati Arduino kwanza buti njia ya kuanzisha () inaitwa. Huko niliweka vigeuzi kadhaa na maeneo ya pato yatakayotumiwa baadaye. zeroCrossInterupt () inaitwa / kukimbia kila wakati AC inavuka kutoka chanya kwenda kwa voltage hasi. Itaweka bendera ya zeroCross kwa kila kituo na kuanza kipima muda. Njia ya kitanzi () inaitwa kila wakati milele. Ili kuwasha pato, TRIAC inapaswa kusababishwa tu kwa microseconds 10. Ikiwa ni wakati wa kuchochea yeye TRIAC na zeroCross imetokea pato litawasha hadi mwisho wa awamu ya AC.

Kulikuwa na mifano michache mkondoni ambayo nilikuwa nikianzisha mradi huu. Jambo kuu ambalo sikuweza kupata lilikuwa na matokeo mengi ya TRIAC. Wengine walitumia kazi ya ucheleweshaji kwa PWM, lakini hiyo haitafanya kazi kwa upande wangu kwa sababu ATMEGA inapaswa kuwa inasikiliza DMX kila wakati. Nilitatua hii kwa kupiga TRIAC kwa ms nyingi baada ya sifuri. Kwa kusukuma TRIAC karibu na sifuri-zaidi ya wimbi la dhambi ni pato.

Hapa ndivyo nusu ya wimbi la dhambi la 120VAC inavyoonekana kwenye oscilloscope, hapo juu.

ISP814 imeunganishwa kukatiza 1. Kwa hivyo inapopokea ishara kwamba mabadiliko ya AC kutoka chanya kwenda hasi au kinyume chake huweka zero Msalaba kwa kila kituo kuwa kweli na kuanza saa ya saa.

Katika njia ya kitanzi, inakagua kila kituo ikiwa zeroCross ni kweli na wakati wa kuamilisha imepita itapiga TRIAC kwa microsecond 10. Hii ni ya kutosha kuwasha TRIAC. Mara tu TRIAC ikiwashwa itakaa hadi sifuri msalaba. Taa ingewaka wakati DMX ilikuwa karibu 3% kwa hivyo niliongeza kupunguzwa huko kuizuia. Hii ilisababishwa Arduino kuwa polepole sana, na mapigo mara kadhaa yangechochea wimbi linalofuata la dhambi badala ya 4% ya wimbi la mwisho.

Pia katika kitanzi () Niliweka thamani ya PWM ya hali za LED. LED hizi zinaweza kutumia PWM ya ndani inayotokana na Arduino kwa sababu hatupaswi kuwa na wasiwasi juu ya zeroCross ya AC. Mara tu PWM ikiwekwa Arduino itaendelea kwenye mwangaza huo hadi itaambiwa busara nyingine.

Kama ilivyoonyeshwa kwenye maoni ya juu ili kutumia kukatiza kwa DMX kwenye pini 2 na kukimbia kwa 20MHz itabidi uhariri faili zingine za programu ya Arduino. Katika HardwareSerial.cpp chunk ya nambari lazima ifutwe, hii inatuwezesha kuandika simu yetu ya kukatiza. Njia hii ya ISR iko chini ya nambari ya kushughulikia usumbufu wa DMX. Ikiwa utatumia Arduino kama programu ya ISP, hakikisha kurudisha mabadiliko yako kwenye HardwareSerial.cpp vinginevyo ATMEGA328 kwenye bodi ya mkate haitapatikana. Mabadiliko ya pili ni rahisi zaidi. Faili ya board.txt lazima ibadilishwe kuwa kasi mpya ya saa 20MHz.

mwangaza [ch] = ramani (DmxRxField [ch], 0, 265, 8000, 0);

Ramani za mwangaza hadi 8000 kwa sababu hiyo ni idadi ya microseconds ya 1/2 wimbi la sine ya AC saa 60hz. Kwa hivyo kwa mwangaza kamili 256 DMX mpango utaacha 1/2 wimbi la sine ya AC KWA 8000us. Nilikuja na 8000 kupitia nadhani na kuangalia. Kufanya hesabu ya 1000000us / 60hz / 2 = 8333 ili hiyo iweze kuwa nambari bora, lakini kuwa na 333us zaidi ya kichwa inaruhusu TRIAC kufungua na jitter yoyote katika programu labda ni wazo nzuri.

Kwenye Arduino 1.5.3 kwamba walihamisha eneo la faili ya HardwareSerial.cpp. Sasa ni /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Utahitaji kutoa maoni yako yote ikiwa kizuizi kinachoanza na mstari wa 39: #kama ilivyoainishwa (USART_RX_vect)

Vinginevyo utaishia na kosa hili: msingi / msingi.a (HardwareSerial0.cpp.o): Katika kazi `_vector_18 ':

Hatua ya 6: Kuifungia

Ufungaji Ni Juu
Ufungaji Ni Juu
Ufungaji Ni Juu
Ufungaji Ni Juu
Ufungaji Ni Juu
Ufungaji Ni Juu

Nilichukua sanduku la mradi wa kijivu huko Menards katika sehemu yao ya umeme. Nilitumia msumeno wenye kurudia kukata mashimo ya kuziba umeme. Kesi hiyo ilipata ukumbi wa michezo c-clamp uliowekwa juu kwa madhumuni ya kunyongwa. Taa za hali ya kila pembejeo na pato kusaidia kugundua ikiwa kuna shida. Mtengenezaji wa lebo ilitumika kuelezea bandari tofauti kwenye kifaa. Nambari zilizo karibu na kila kuziba zinawakilisha nambari ya kituo cha DMX. Niliweka bodi ya mzunguko na transformer na gundi moto. LED zimekwama mahali na wamiliki walioongozwa.

Ilipendekeza: