Sisukord:

4 Ch DMX dimmer: 6 sammu
4 Ch DMX dimmer: 6 sammu

Video: 4 Ch DMX dimmer: 6 sammu

Video: 4 Ch DMX dimmer: 6 sammu
Video: DIMMER PACK dmx 4ch WDP-4 4-х канальный диммер сценического света work pro 2024, Juuli
Anonim
4 Ch DMX dimmer
4 Ch DMX dimmer

Kontseptsioon on kaasaskantava dimmeri kujundamine ja loomine.

Nõuded:

  • DMX512 juhitav
  • 4 kanalit
  • Kaasaskantav
  • Lihtne kasutada

Pakkusin selle idee välja oma professorile WSU -s, sest tahtsin ühendada oma kired teatri ja arvutite vastu. See projekt toimis natuke nagu minu vanemprojekt teatriosakonnas. Kui teil on kommentaare või küsimusi, aitan teid hea meelega.

Edasine areng võib hõlmata rohkem kanaleid, 5 -kontaktilist DMX -pistikut, DMX -i läbipääsu, 8 dip -lülitit kanali vahetamiseks, trükkplaati.

Olen selle projekti üle viinud aadressilt https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html, sest see on endiselt populaarne. Samuti kaotasin oma iWebi seemnefaili, nii et ma ei saa seda enam hõlpsalt värskendada. Oleks tore, kui inimesed saaksid projektiga seotud küsimusi omavahel jagada.

Samm: riistvara kogumine

Riistvara kogumine
Riistvara kogumine

Kasutatud riistvara: suurem osa sellest telliti firmalt Tayda Electronics. Mulle meeldivad need väiksema ja hõlpsamini mõistetava valiku tõttu paremini kui DigiKey.

  1. ATMEGA328, mikrokontroller
  2. MOC3020, TRIAC optoelement. Mitte ZeroCross.
  3. MAX458 või SN75176BP, DMX -vastuvõtja
  4. ISP814, vahelduvvoolu optoelement
  5. 7805, 5v regulaator
  6. BTA24-600, 600V 25A TRIAC
  7. 20MHz kristall
  8. 9V toide

Paar takistust ja õppetundi, mida saite

  • Kui te pole registrialane ekspert, pidage kinni ATMEGA328P -st
  • Valed optronid. Sa ei taha Zero Crossi
  • Kõrged kanalid olid ebastabiilsed. 16MHz -lt 20MHz -le üleminek lahendas selle probleemi
  • DMX olekutuld ei saa, sest katkestuskõne pidi olema väga kiire
  • Alalisvoolu toide peab olema äärmiselt stabiilne, mis tahes lainetus põhjustab DMX -signaali väga müra

TRIACi disain tuli MRedmonilt, aitäh.

2. etapp: vooluahela kujundus

Vooluahela disain
Vooluahela disain

Ma kasutasin oma vooluahela kujundamiseks Macis Fritzing 7.7.

Ülaosas olevat MAX485 kasutatakse DMX -signaali teisendamiseks selliseks, mida Arduino suudab lugeda.

Vasakpoolset 4N35 kasutatakse vahelduvvoolu signaali nullristi tuvastamiseks, nii et Arduino teab, millal siinuslaine väljundit hämardada. Lisateavet riistvara ja tarkvara suhtlemise kohta leiate tarkvaraosast.

Olen saanud küsimuse, kas see projekt töötab Euroopas 230 V ja 50 Hz juures? Ma ei ela Euroopas ega reisi sageli sinna, et saaksin seda disaini testida. See peaks töötama, peate lihtsalt muutma erineva sagedusega ajaviite koodi heleduse ajastamise rida.

3. samm: Kovari vooluringi disain

Kovari vooluringi disain
Kovari vooluringi disain
Kovari vooluringi disain
Kovari vooluringi disain

Veebisaidi ülesseadmise käigus sain paar meilivestlust pidada. Üks oli Kovari Andreiga, kes tegi selle projekti põhjal vooluringi ja soovis oma disaini jagada. Ma ei ole trükkplaadi disainer, kuid see on Eagle'i projekt. Kui kasutate, andke mulle teada, kuidas see teie jaoks töötab.

4. samm: Giacomo vooluahela disain

Giacomo vooluringi disain
Giacomo vooluringi disain

Aeg -ajalt saadavad inimesed mulle sõnumeid põnevate kohandustega, mida nad selle juhendiga on teinud, ja arvasin, et peaksin neid teiega jagama.

Giacomo muutis vooluringi nii, et tsentrifuugitud trafo polnud vajalik. PCB on ühepoolne ja võib olla taskukohasem lahendus neile, kes ei saa kodus kahepoolset teha (natuke raske).

Samm: tarkvara

Tarkvara
Tarkvara

Olen ametilt tarkvarainsener, seega on see osa kõige üksikasjalikum.

Suvine: Arduino esmakordsel käivitamisel kutsutakse üles setup () meetod. Seadistasin sinna mõned muutujad ja väljundkohad, mida hiljem kasutada. zeroCrossInterupt () kutsutakse/ käivitatakse iga kord, kui vahelduvvool ristub positiivsest negatiivsest pingest. See määrab iga kanali jaoks nullkrossi lipu ja käivitab taimeri. Loop () meetodit nimetatakse pidevalt igavesti. Väljundi sisselülitamiseks tuleb TRIAC käivitada ainult 10 mikrosekundi jooksul. Kui on aeg käivitada TRIAC ja zeroCross, lülitub väljund sisse vahelduvvoolu faasi lõpuni.

Internetis oli paar näidet, mida ma selle projekti käivitamiseks kasutasin. Peamine asi, mida ma ei leidnud, oli mitme TRIAC -väljundi olemasolu. Teised kasutasid väljundi edastamiseks viivitusfunktsiooni, kuid minu puhul see ei tööta, sest ATMEGA peab kogu aeg DMX -i kuulama. Lahendasin selle, pulseerides TRIAC-i nii palju ms pärast nullristi. Pulseerides TRIAC-i null-ristile lähemale, väljastatakse rohkem patulainet.

Siin näeb välja ülalpool olev 120 VAC patulaine ostsilloskoobil.

ISP814 on ühendatud katkestusega 1. Niisiis, kui ta saab signaali, et vahelduvvool vaheldub positiivsest negatiivsesse või vastupidi, seab see iga kanali nullkrossi väärtuseks tõene ja käivitab stopperi.

Loop () meetodi puhul kontrollib see iga kanalit, kas zeroCross on tõene ja selle aktiveerimise aeg on möödunud ning see impulsib TRIAC -i 10 mikrosekundit. Sellest piisab, et TRIAC sisse lülitada. Kui TRIAC on sisse lülitatud, jääb see põlema kuni zeroCross. Valgus hakkab vilkuma, kui DMX oli umbes 3%, nii et lisasin selle vältimiseks kärpimise. See oli tingitud sellest, et Arduino oli liiga aeglane ja pulss käivitas laine viimase 4% asemel mõnikord järgmise patulaine.

Ka silmusesse () seadsin oleku LED -ide PWM väärtuse. Need valgusdioodid saavad kasutada Arduino loodud sisemist PWM -i, sest me ei pea muretsema vahelduvvoolu zeroCrossi pärast. Kui PWM on seatud, jätkab Arduino selle heleduse juures, kuni seda teistele targalt öeldakse.

Nagu ülemistes kommentaarides märgitud, peate DMX -katkestuse kasutamiseks pin 2 -l ja töötama sagedusel 20 MHz, muutma mõnda Arduino rakenduse faili. Aadressil HardwareSerial.cpp tuleb kooditükk kustutada, see võimaldab meil kirjutada oma katkestuskõne. See ISR -meetod asub DMX -katkestuse tegemiseks koodi allosas. Kui kavatsete kasutada Arduinot Interneti -teenuse pakkuja programmeerijana, pöörake kindlasti muudatused tagasi HardwareSerial.cpp -le, vastasel juhul pole leivalaual olev ATMEGA328 kättesaamatu. Teine muudatus on lihtsam. Fail boards.txt tuleb muuta uueks 20MHz taktsageduseks.

heledus [ch] = kaart (DmxRxField [ch], 0, 265, 8000, 0);

Heledus on 8000, kuna see on 1/2 vahelduvvoolu siinuslaine mikrosekundite hulk 60 Hz juures. Nii et täieliku heleduse korral 256 DMX jätab programm 1/2 vahelduvvoolu siinuslaine sisse 8000us. Mõtlesin ja kontrollisin 8000. Kui arvutada 1000000us/60hz/2 = 8333, võib see olla parem arv, kuid kui teil on üle pea 333us, võimaldab see TRIACi avada ja kõik programmi värinad on ilmselt hea mõte.

Arduino 1.5.3 -s teisaldasid nad faili HardwareSerial.cpp asukoha. See on nüüd /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Peate selle kogu kommenteerima, kui plokk algab reast 39: #if defineeritud (USART_RX_vect)

Vastasel juhul saate selle vea: core/core.a (HardwareSerial0.cpp.o): Funktsioonis "_vector_18":

6. samm: pakendage see üles

Pakendamine üles
Pakendamine üles
Pakendamine üles
Pakendamine üles
Pakendamine üles
Pakendamine üles

Korjasin halli projektikarbi Menardsilt nende elektrisektsioonist. Elektripistiku aukude lõikamiseks kasutasin kolbsaega. Korpuse külge kinnitati riputamiseks teatri c-klamber. Iga sisendi ja väljundi olekutuli aitab diagnoosida, kas on probleeme. Seadme erinevate portide selgitamiseks kasutati siltide valmistajat. Iga pistiku kõrval olevad numbrid tähistavad DMX -kanali numbrit. Kinnitasin trükkplaadi ja trafo kuuma liimiga. LED -id on LED -hoidikutega paigas.

Soovitan: