Sadržaj:

4 -kanalni DMX prigušivač: 6 koraka
4 -kanalni DMX prigušivač: 6 koraka

Video: 4 -kanalni DMX prigušivač: 6 koraka

Video: 4 -kanalni DMX prigušivač: 6 koraka
Video: Тупак в студии — Голос улиц (2015) Сцена из фильма 10/10 2024, Juli
Anonim
4 -kanalni DMX prigušivač
4 -kanalni DMX prigušivač

Koncept je dizajnirati i stvoriti prijenosni zatamnjivač.

Zahtjevi:

  • DMX512 Kontrolirano
  • 4 kanala
  • Portable
  • Jednostavan za korištenje

Predložio sam ovu ideju svom profesoru na Sveučilištu Univerziteta jer sam želio spojiti svoje strasti prema kazalištu i računalima. Ovaj projekt djelovao je pomalo kao moj stariji projekt na kazališnom odjelu. Ako imate bilo kakvih komentara ili pitanja, rado bih vam pomogao.

Budući razvoj mogao bi uključivati više kanala, 5 -polni DMX konektor, DMX prolaz, 8 dip prekidača za promjenu kanala, štampanu ploču.

Ovaj sam projekt preselio s https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html jer je još uvijek popularan, pretpostavljam. Također sam izgubio svoju iWeb početnu datoteku pa je više ne mogu lako ažurirati. Bilo bi lijepo dopustiti ljudima da međusobno podijele svoja pitanja o projektu.

Korak 1: Prikupite hardver

Prikupljanje hardvera
Prikupljanje hardvera

Korišteni hardver: Većina je naručena od Tayda Electronics. Više mi se sviđaju od DigiKeya zbog manjeg i lakše razumljivog izbora.

  1. ATMEGA328, Mikrokontroler
  2. MOC3020, TRIAC optički sprežnik. Ne ZeroCross.
  3. MAX458 ili SN75176BP, DMX prijemnik
  4. ISP814, Optokapler naizmjenične struje
  5. 7805, 5v regulator
  6. BTA24-600, 600V 25A TRIAC
  7. 20MHz Crystal
  8. 9V napajanje

Nekoliko prepreka i lekcija naučenih usput

  • Ako niste stručnjak za registraciju, držite se ATMEGA328P
  • Pogrešne optičke sprege. Ne želite Zero Cross
  • Visoki kanali bili su nestabilni. Prebacivanje sa 16MHz na 20MHz riješilo je ovaj problem
  • Nije moguće imati svjetlo statusa DMX -a jer je poziv za prekid morao biti vrlo brz
  • Napajanje istosmjernom strujom mora biti izuzetno stabilno, bilo koje talasanje uzrokovat će da DMX signal postane vrlo bučan

Dizajn TRIAC -a došao je iz MRedmona, hvala vam.

Korak 2: Dizajn kola

Dizajn kola
Dizajn kola

Koristio sam Fritzing 7.7 na Macu za dizajniranje svog kola.

MAX485 na vrhu se koristi za pretvaranje DMX signala u nešto što Arduino može pročitati.

4N35 s lijeve strane koristi se za otkrivanje nultog ukrštanja AC signala tako da će Arduino znati u koje vrijeme zatamniti izlaz sinusnog vala. Više o interakciji hardvera i softvera u odjeljku o softveru.

Dobio sam pitanje hoće li ovaj projekt funkcionirati u Europi sa 230V i 50Hz? Ne živim u Evropi, niti često putujem tamo da bih mogao testirati ovaj dizajn. To bi trebalo funkcionirati, samo biste morali promijeniti vremensku liniju svjetline koda za različito vremensko kašnjenje frekvencije.

Korak 3: Kovarijev dizajn kola

Kovarijev dizajn kola
Kovarijev dizajn kola
Kovarijev dizajn kola
Kovarijev dizajn kola

Kroz proces podizanja web stranice uspio sam obaviti nekoliko razgovora putem e -pošte. Jedan je bio s Kovarijem Andrejem koji je napravio dizajn kola na osnovu ovog projekta i želio je podijeliti svoj dizajn. Nisam dizajner pločica, ali to je projekt kompanije Eagle. Javite mi kako vam to funkcionira ako ga koristite.

Korak 4: Giacomovo oblikovanje kola

Giacomovo kolo
Giacomovo kolo

S vremena na vrijeme ljudi će mi slati poruke s uzbudljivim adaptacijama koje su uradili s ovim uputstvom i zaključio sam da bih ih trebao podijeliti sa svima vama.

Giacomo je izmijenio krug tako da transformator s središnjim priključkom nije bio potreban. Pcb je jednostrana i može biti pristupačnije rješenje za one koji ne mogu napraviti dvostrano kod kuće (pomalo teško).

Korak 5: Softver

Softver
Softver

Po zanimanju sam softverski inženjer pa je ovaj dio najdetaljniji.

Summery: Kada se Arduino prvi put pokrene, poziva se metoda setup (). Tamo sam postavio nekoliko varijabli i izlaznih lokacija koje će se kasnije koristiti. zeroCrossInterupt () se poziva/ pokreće svaki put kad AC prijeđe s pozitivnog na negativni napon. On će postaviti zastavicu zeroCross za svaki kanal i pokrenuti mjerač vremena. Metoda loop () poziva se neprestano zauvijek. Da biste uključili izlaz, TRIAC se mora aktivirati samo 10 mikrosekundi. Ako je došlo vrijeme za aktiviranje TRIAC -a i nula križanja, izlaz će se uključiti do kraja AC faze.

Na internetu je bilo nekoliko primjera iz kojih sam započeo ovaj projekt. Glavna stvar koju nisam mogao pronaći je višestruki izlaz TRIAC -a. Drugi su koristili funkciju odgode za PWM izlaz, ali to u mom slučaju ne bi uspjelo jer ATMEGA mora stalno slušati DMX. Riješio sam to pulsiranjem TRIAC-a na toliko ms nakon ukrštanja nule. Pulsiranjem TRIAC-a bliže nultom prijelazu dobiva se veći dio sin greha.

Evo kako gornji val od 120 VAC izgleda na osciloskopu, gore.

ISP814 je spojen na prekid 1. Dakle, kada primi signal da AC prelazi iz pozitivnog u negativan ili obrnuto, postavlja zeroCross za svaki kanal na true i pokreće štopericu.

U metodi loop (), provjerava svaki kanal je li zeroCross istinit i prošlo je vrijeme za njegovu aktivaciju pulsirat će TRIAC 10 mikrosekundi. Ovo je dovoljno za uključivanje TRIAC -a. Nakon što je TRIAC uključen, ostat će uključen do zeroCross. Svjetlo bi treperilo kad je DMX bio oko 3% pa sam tu dodao skraćivanje kako bih to spriječio. Zbog toga je Arduino bio prespor, a puls bi ponekad pokrenuo sljedeći val grijeha umjesto posljednjih 4% vala.

Takođe u loop () postavljam PWM vrijednost statusnih LED dioda. Ove LED diode mogu koristiti interni PWM koji generira Arduino jer ne moramo brinuti o nultom križu naizmjenične struje. Nakon što je PWM postavljen, Arduino će nastaviti s tom svjetlinom sve dok se ne kaže drugačije.

Kao što je navedeno u gornjim komentarima, da biste koristili DMX prekid na pinu 2 i radili na 20 MHz, morat ćete urediti neke datoteke aplikacije Arduino. U HardwareSerial.cpp komad koda mora biti izbrisan, što nam omogućava da napišemo vlastiti prekidni poziv. Ova ISR metoda je na dnu koda za rukovanje DMX prekidom. Ako ćete koristiti Arduino kao programer ISP -a, svakako vratite promjene na HardwareSerial.cpp inače ATMEGA328 na ploči za kruh neće biti dostupan. Druga promjena je lakša. Datoteka Board.txt mora se promijeniti na novu brzinu takta od 20 MHz.

svjetlina [ch] = karta (DmxRxField [ch], 0, 265, 8000, 0);

Svjetlina se preslikava na 8000 jer je to količina mikrosekundi 1/2 sinusnog vala naizmjenične struje na 60Hz. Tako će pri punoj svjetlini 256 DMX program ostaviti 1/2 AC sinusnog tala UKLJUČENIM za 8000us. Došao sam do 8000 putem pogađanja i provjere. Računati 1000000us/60hz/2 = 8333 tako da bi to mogao biti bolji broj, ali imati dodatnih 333us iznad glave omogućava da se TRIAC otvori i bilo kakvo podrhtavanje u programu je vjerovatno dobra ideja.

Na Arduinu 1.5.3 premjestili su lokaciju datoteke HardwareSerial.cpp. Sada je /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Morat ćete cijelu ovu stavku komentirati ako blok počinje s retkom 39: #if definirano (USART_RX_vect)

U suprotnom ćete završiti s ovom greškom: core/core.a (HardwareSerial0.cpp.o): U funkciji `_vector_18 ':

Korak 6: Pakirajte ga

Packaging It Up
Packaging It Up
Packaging It Up
Packaging It Up
Packaging It Up
Packaging It Up

Pokupio sam sivu projektnu kutiju u Menards -u u njihovom odjelu za elektriku. Upotrijebio sam klipnu pilu za izrezivanje rupa za utikač. Kućište ima kino stezaljku za kino pričvršćeno na vrh radi vješanja. Svjetla statusa za svaki ulaz i izlaz pomažu u dijagnosticiranju problema. Proizvođač naljepnica je korišten za objašnjenje različitih portova na uređaju. Brojevi pored svakog utikača predstavljaju broj DMX kanala. Zalijepio sam ploču i transformator vrućim ljepilom. LED diode su zaglavljene na mjestu s LED držačima.

Preporučuje se: