Sisällysluettelo:
- Vaihe 1: Laitteiston kerääminen
- Vaihe 2: Piirin suunnittelu
- Vaihe 3: Kovarin piirisuunnittelu
- Vaihe 4: Giacomon piirisuunnittelu
- Vaihe 5: Ohjelmisto
- Vaihe 6: Pakkaa se
Video: 4 -kanavainen DMX -himmennin: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Ideana on suunnitella ja luoda kannettava himmennin.
Vaatimukset:
- DMX512 ohjattavissa
- 4 kanavaa
- Kannettava
- Helppokäyttöinen
Ehdotin tätä ajatusta professorilleni WSU: ssa, koska halusin yhdistää intohimoni teatteriin ja tietokoneisiin. Tämä projekti toimi vähän kuin vanhempi projektini teatteriosastolla. Jos sinulla on kommentteja tai kysymyksiä, autan sinua mielelläni.
Tuleva kehitys voi sisältää enemmän kanavia, 5 -nastainen DMX -liitin, DMX -läpivienti, 8 dip -kytkintä kanavan vaihtamiseksi, painettu piirilevy.
Olen siirtänyt tämän projektin osoitteesta https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html, koska se on edelleen suosittu. Menetin myös iWeb -siementiedoston, joten en voi enää helposti päivittää sitä. Olisi mukavaa, jos ihmiset saisivat jakaa hankkeeseen liittyviä kysymyksiä keskenään.
Vaihe 1: Laitteiston kerääminen
Käytetty laitteisto: Suurin osa siitä tilattiin Tayda Electronicsilta. Pidän niistä paremmin kuin DigiKey pienemmän ja helpommin ymmärrettävän valikoiman vuoksi.
- ATMEGA328, mikro-ohjain
- MOC3020, TRIAC Optocoupler. Ei ZeroCross.
- MAX458 tai SN75176BP, DMX -vastaanotin
- ISP814, AC -optoeritin
- 7805, 5v säädin
- BTA24-600, 600V 25A TRIAC
- 20MHz Crystal
- 9V virtalähde
Muutamia esteitä ja oppitunteja matkan varrella
- Jos et ole rekisteriasiantuntija, käytä ATMEGA328P -laitetta
- Väärät optoerottimet. Et halua Zero Crossia
- Korkeat kanavat olivat epävakaita. Vaihtaminen 16 MHz: stä 20 MHz: iin ratkaisi tämän ongelman
- DMX -tilavaloa ei voi saada, koska keskeytyspuhelun piti olla erittäin nopea
- DC -virran on oltava erittäin vakaa, mikä tahansa aaltoilu saa DMX -signaalin erittäin meluisaksi
TRIAC -suunnittelu tuli MRedmonilta, kiitos.
Vaihe 2: Piirin suunnittelu
Käytin Fritzing 7.7: ää Macissa piirini suunnittelussa.
Yläosassa olevaa MAX485: tä käytetään DMX -signaalin muuntamiseen sellaiseksi, mitä Arduino voi lukea.
Vasemmanpuoleista 4N35: tä käytetään tunnistamaan AC -signaalin nollapiste, joten Arduino tietää mihin aikaan siniaallon ulostulon himmentämiseksi. Lisätietoja laitteiston ja ohjelmiston vuorovaikutuksesta on ohjelmisto -osiossa.
Olen saanut kysymyksen, toimiiko tämä projekti Euroopassa 230 V: n ja 50 Hz: n taajuudella? En asu Euroopassa, enkä matkusta sinne usein voidakseni testata tätä mallia. Sen pitäisi toimia, sinun tarvitsee vain muuttaa koodin kirkkauden ajoitusriviä eri taajuusviiveelle.
Vaihe 3: Kovarin piirisuunnittelu
Verkkosivustoni saamisen aikana pystyin käymään muutaman sähköpostikeskustelun. Yksi oli Kovari Andrein kanssa, joka teki piirisuunnittelun tämän projektin perusteella ja halusi jakaa suunnittelunsa. En ole piirilevyn suunnittelija, mutta se on Eagle -projekti. Kerro minulle, miten se toimii sinulle, jos käytät sitä.
Vaihe 4: Giacomon piirisuunnittelu
Aika ajoin ihmiset lähettävät minulle viestejä jännittävistä mukautuksista, joita he ovat tehneet tällä ohjeella, ja ajattelin, että minun pitäisi jakaa ne teille kaikille.
Giacomo muutti piiriä, joten keskellä kierrettyä muuntajaa ei tarvittu. Piirilevy on yksipuolinen ja voi olla edullisempi ratkaisu niille, jotka eivät voi tehdä kaksipuolista kotona (hieman vaikeaa).
Vaihe 5: Ohjelmisto
Olen ammatiltani ohjelmistosuunnittelija, joten tämä osa on yksityiskohtaisin.
Kesäinen: Kun Arduino käynnistyy ensimmäisen kerran, setup () -menetelmää kutsutaan. Siellä asetin muutamia muuttujia ja tulostuspaikkoja käytettäväksi myöhemmin. zeroCrossInterupt () kutsutaan/ suoritetaan joka kerta, kun vaihtovirta ylittää positiivisen jännitteen negatiiviseksi. Se asettaa zeroCross -lipun jokaiselle kanavalle ja käynnistää ajastimen. Silmukka () -menetelmää kutsutaan jatkuvasti ikuisesti. Lähdön käynnistämiseksi TRIAC on käynnistettävä vain 10 mikrosekunnin ajan. Jos on aika laukaista TRIAC ja zeroCross on tapahtunut, lähtö kytkeytyy päälle AC -vaiheen loppuun asti.
Netistä löytyi muutama esimerkki, joilla aloitin tämän projektin. Tärkein asia, jota en löytänyt, oli useita TRIAC -ulostuloja. Toiset käyttivät viivetoimintoa PWM -lähdön tuottamiseen, mutta se ei toimisi minun tapauksessani, koska ATMEGA: n on kuunneltava DMX: tä koko ajan. Ratkaisin tämän pulssoimalla TRIACia niin monta ms nollapisteen jälkeen. Pulssimalla TRIAC lähemmäksi nollapistettä saadaan enemmän siniaaltoa.
Tässä on puoli 120 VAC: n syniaalto, joka näyttää oskilloskoopilla yllä.
ISP814 on kytketty keskeytykseen 1. Joten kun se vastaanottaa signaalin, että AC siirtyy positiivisesta negatiiviseksi tai päinvastoin, se asettaa jokaisen kanavan zeroCross -arvon tosi -arvoon ja käynnistää sekuntikellon.
Silmukka () -menetelmässä se tarkistaa jokaisen kanavan, onko zeroCross tosi ja että sen aktivoitumisaika on kulunut, se pulssi TRIAC: a 10 mikrosekuntia. Tämä riittää TRIACin käynnistämiseen. Kun TRIAC on kytketty päälle, se pysyy päällä, kunnes zeroCross. Valo välkkyy, kun DMX on noin 3%, joten lisäsin katkaisun sinne estämään sen. Tämä aiheutti Arduinon olevan liian hidas, ja pulssi toisinaan laukaisi seuraavan syntoaallon aallon viimeisten 4%: n sijasta.
Myös silmukassa () asetan tila -LEDien PWM -arvon. Nämä LEDit voivat käyttää Arduinon tuottamaa sisäistä PWM: ää, koska meidän ei tarvitse huolehtia AC: n zeroCrossista. Kun PWM on asetettu, Arduino jatkaa samalla kirkkaudella, kunnes toiselle kerrotaan.
Kuten ylemmissä kommenteissa todettiin, jotta voit käyttää DMX -keskeytystä nastassa 2 ja ajaa 20 MHz: llä, sinun on muokattava joitain Arduino -sovellustiedostoja. HardwareSerial.cpp -ohjelmassa on poistettava pala koodia, jolloin voimme kirjoittaa oman keskeytyspuhelun. Tämä ISR -menetelmä on koodin alareunassa DMX -keskeytyksen käsittelemiseksi. Jos aiot käyttää Arduinoa Internet -palveluntarjoajan ohjelmoijana, muista palauttaa HardwareSerial.cpp -muutoksesi, muuten leipätaululla oleva ATMEGA328 ei ole tavoitettavissa. Toinen muutos on helpompi. Boards.txt -tiedosto on vaihdettava uuteen 20 MHz: n kellotaajuuteen.
kirkkaus [ch] = kartta (DmxRxField [ch], 0, 265, 8000, 0);
Kirkkaus kartoitetaan 8000: een, koska se on 1/2 sekunnin AC -siniaallon mikrosekuntia 60 Hz: n taajuudella. Joten täydellä kirkkaudella 256 DMX ohjelma jättää 1/2 AC -siniaaltoa PÄÄLLE 8000US: lle. Keksin 8000 arvaamalla ja tarkistamalla. Jos lasket 1000000us/60hz/2 = 8333, niin se voisi olla parempi luku, mutta ylimääräisen 333us -pään yläpuolella mahdollistaa TRIACin avautumisen ja kaikki ohjelman tärinä on luultavasti hyvä idea.
Arduinolla 1.5.3 siirrettiin HardwareSerial.cpp -tiedoston sijainti. Se on nyt /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Sinun on kommentoitava tämä kokonaisuus, jos lohko alkaa rivillä 39: #if määritetty (USART_RX_vect)
Muuten saat tämän virheen: core/core.a (HardwareSerial0.cpp.o): Toiminnossa `_vector_18 ':
Vaihe 6: Pakkaa se
Otin harmaan projektilaatikon Menardsilta heidän sähköosastostaan. Käytin edestakaisin sahaa katkaisemaan sähköpistokkeen reiät. Kotelon yläosaan kiinnitettiin teatterin c-puristin ripustamista varten. Jokaisen tulon ja lähdön tilamerkkivalot auttavat diagnosoimaan, onko ongelmia koskaan. Tarratulostinta käytettiin laitteen eri porttien selittämiseen. Kunkin pistokkeen vieressä olevat numerot edustavat DMX -kanavan numeroa. Kiinnitin piirilevyn ja muuntajan kuumalla liimalla. LEDit ovat jumissa paikallaan led -pidikkeillä.
Suositeltava:
IOT DMX -ohjain, jossa Arduino ja Stage Monster Live: 6 vaihetta
IOT DMX -ohjain Arduinolla ja Stage Monster Live: Hallitse näyttämön valaistusta ja muita DMX-laitteita puhelimestasi tai muusta verkkokäyttöisestä laitteesta. Näytän sinulle, kuinka nopeasti ja helposti rakentaa oma DMX -ohjain, joka toimii Stage Monster Live -alustalla Arduino Megan avulla
Arduino DMX 512 -testeri ja -ohjain: 19 vaihetta
Arduino DMX 512 -testeri ja -ohjain: Actualizaciones, ficheros, códigos … English version Este p
Arduino DMX 512 -testeri ja -ohjain FIN: 19 vaihetta
Arduino DMX 512 -testeri ja -ohjain FIN: Päivitykset, tiedostot, koodit, kaaviot … Versión en Español Tämä projekti syntyy tarpeesta hankkia portaali
DMX Animatronic -robotti: 9 vaihetta (kuvilla)
DMX Animatronic Robot: Tämä projekti kuvaa täysin toimivan animatronic -prototyypin kehittämistä. Se toteutetaan alusta alkaen ja sen tarkoituksena on olla opas tulevien monimutkaisempien animatronisten robottien kehittämiseen. Järjestelmä perustuu Arduinon mikroyhteyteen
Kaikki yhdessä · DMX Terminator & DMX Tester: 3 vaihetta
Kaikki yhdessä · DMX Terminator & DMX Tester: Valoteknikkona sinun on joskus tiedettävä, kuinka terveet dmx -liitännät ovat valaisimien joukossa. Joskus johtimien, kiinnittimien tai jännitteen vaihtelujen vuoksi DMX -järjestelmä altistuu monille ongelmille ja virheille. Joten tein