Tartalomjegyzék:

4 Ch DMX dimmer: 6 lépés
4 Ch DMX dimmer: 6 lépés

Videó: 4 Ch DMX dimmer: 6 lépés

Videó: 4 Ch DMX dimmer: 6 lépés
Videó: pknight dimmer pack 4ch tutorial 2024, November
Anonim
4 Ch DMX dimmer
4 Ch DMX dimmer

A koncepció egy hordozható fényerőszabályozó tervezése és létrehozása.

Követelmények:

  • DMX512 vezérelhető
  • 4 csatorna
  • Hordozható
  • Könnyen kezelhető

Ezt az ötletet javasoltam a WSU professzoromnak, mert össze akartam egyesíteni a színház és a számítógép iránti szenvedélyeimet. Ez a projekt kicsit úgy viselkedett, mint a színházi osztály vezető projektje. Ha bármilyen észrevétele vagy kérdése van, szívesen segítek.

A jövőbeli fejlesztések több csatornát, 5 tűs DMX csatlakozót, DMX áthaladást, 8 dip kapcsolót tartalmazhatnak a csatorna megváltoztatásához, nyomtatott áramkört.

Áttelepítettem ezt a projektet a https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html webhelyről, mert azt hiszem, még mindig népszerű. Emellett elvesztettem az iWeb magfájlt, így már nem tudom könnyen frissíteni. Jó lenne megengedni az embereknek, hogy megosszák egymással a projekttel kapcsolatos kérdéseiket.

1. lépés: A hardver összegyűjtése

A hardver összegyűjtése
A hardver összegyűjtése

Használt hardver: A legtöbbet a Tayda Electronics cégtől rendelték. Jobban szeretem őket, mint a DigiKey -t a kisebb és könnyebben érthető választék miatt.

  1. ATMEGA328, mikrovezérlő
  2. MOC3020, TRIAC optocsatoló. Nem ZeroCross.
  3. MAX458 vagy SN75176BP, DMX vevő
  4. ISP814, AC optocsatoló
  5. 7805, 5v szabályozó
  6. BTA24-600, 600V 25A TRIAC
  7. 20 MHz -es kristály
  8. 9V tápegység

Néhány akadály és tanulság az út során

  • Ha Ön nem nyilvántartási szakértő, tartsa be az ATMEGA328P -t
  • Rossz optocsatolók. Nem akarja a Zero Cross -ot
  • A magas csatornák instabilak voltak. A 16 MHz -ről 20 MHz -re váltás megoldotta ezt a problémát
  • Nem lehet DMX állapotjelző lámpa, mert a megszakításnak nagyon gyorsnak kell lennie
  • Az egyenáramú áramnak rendkívül stabilnak kell lennie, minden hullámzás miatt a DMX jel nagyon zajos lesz

A TRIAC design az MRedmon -tól származik, köszönöm.

2. lépés: Áramkör tervezése

Áramkör tervezés
Áramkör tervezés

Az áramkör tervezéséhez Fritzing 7.7 -et használtam Mac -en.

A tetején lévő MAX485 a DMX jel átalakítására szolgál, amit az Arduino tud olvasni.

A bal oldali 4N35 az AC jel nulla keresztjének észlelésére szolgál, így az Arduino tudni fogja, hogy mikor kell tompítani a szinuszos kimenetet. A hardver és a szoftver interakciójáról bővebben a szoftver részben olvashat.

Azt a kérdést kaptam, hogy ez a projekt működik Európában 230V és 50Hz -en? Nem élek Európában, és nem is gyakran utazom oda, hogy kipróbálhassam ezt a dizájnt. Működnie kell, csak módosítania kell a kód fényerejének időzítési sorát a különböző frekvencia -késleltetésekhez.

3. lépés: Kovari áramkör tervezése

Kovari áramkör tervezése
Kovari áramkör tervezése
Kovari áramkör tervezése
Kovari áramkör tervezése

A weboldal felépítése során néhány e -mailes beszélgetést folytathattam. Az egyik Kovari Andrejjal volt, aki ennek a projektnek megfelelően készített egy áramkör tervezést, és meg akarta osztani a tervét. Nem vagyok áramköri laptervező, de ez egy Sas projekt. Mondja el, hogyan működik az Ön számára, ha használja.

4. lépés: Giacomo áramkör tervezése

Giacomo áramkör tervezése
Giacomo áramkör tervezése

Időről időre az emberek üzenetet fognak küldeni nekem az izgalmas adaptációkról, amelyeket ezzel az oktatható művelettel végeztek, és úgy gondoltam, meg kell osztanom mindezekkel.

A Giacomo módosította az áramkört, így nem volt szükség középre csapolt transzformátorra. A PCB egyoldalas, és megfizethetőbb megoldás lehet azok számára, akik nem tudnak kétoldalasat készíteni otthon (kicsit nehéz).

5. lépés: Szoftver

Szoftver
Szoftver

Szakmailag szoftvermérnök vagyok, így ez a rész a legrészletesebb.

Összefoglaló: Amikor az Arduino először indítja el a setup () metódust. Ott beállítottam néhány változót és kimeneti helyet, amelyeket később használni fogok. A zeroCrossInterupt () minden alkalommal meghívódik/ fut, amikor az AC pozitívról negatívra vált. Minden csatorna számára beállítja a zeroCross zászlót, és elindítja az időzítőt. A loop () metódust folyamatosan örökké hívják. A kimenet bekapcsolásához a TRIAC -ot csak 10 mikroszekundumra kell aktiválni. Ha itt az ideje a TRIAC és a zeroCross bekapcsolásának, akkor a kimenet bekapcsol az AC fázis végéig.

Volt néhány példa az interneten, amellyel elindítottam ezt a projektet. A legfontosabb dolog, amit nem találtam, az volt, hogy több TRIAC kimenetem volt. Mások a késleltetési funkciót használták a kimenet PWM -jéhez, de ez az én esetemben nem működne, mert az ATMEGA -nak állandóan DMX -et kell hallgatnia. Ezt úgy oldottam meg, hogy a nulla-kereszt után annyi ms-on pulzáltam a TRIAC-ot. Ha a TRIAC-t a nullkereszthez közelebb pulzálja, annál több bűnhullám jön ki.

Így néz ki a fél 120VAC bűnhullám egy oszcilloszkópon, fent.

Az ISP814 az 1. megszakításhoz van csatlakoztatva. Tehát amikor jelzést kap, hogy az AC pozitívról negatívra vált, vagy fordítva, akkor minden csatornánál a zeroCross értéket állítja igaznak, és elindítja a stopperórát.

A loop () metódusban minden csatornát ellenőriz, hogy a zeroCross igaz -e, és az aktiválási idő leteltével 10 mikroszekundumig pulzálja a TRIAC -t. Ez elég a TRIAC bekapcsolásához. Miután bekapcsolta a TRIAC -ot, az nulla -keresztig bekapcsolva marad. A fény villogni kezd, amikor a DMX 3% körül van, ezért hozzáadtam a csonkítást, hogy megakadályozzam. Emiatt az Arduino túl lassú volt, és az impulzus néha a következő bűnhullámot váltotta ki a hullám utolsó 4% -a helyett.

Szintén a ciklusban () beállítottam az állapotjelző LED -ek PWM értékét. Ezek a LED -ek használhatják az Arduino által generált belső PWM -et, mert nem kell aggódnunk az AC zeroCross miatt. A PWM beállítása után az Arduino ezen a fényerőn folytatja, amíg más bölcs nem mondja meg.

Amint azt a legfelső megjegyzésekben is megjegyeztük, ahhoz, hogy DMX megszakítást használhassunk a 2 -es tűn és 20 MHz -en fussunk, szerkesztenünk kell néhány Arduino alkalmazásfájlt. A HardwareSerial.cpp -ben egy kódrészletet törölni kell, ez lehetővé teszi számunkra, hogy saját megszakított hívásunkat írjuk. Ez az ISR módszer a kód alján található a DMX megszakítás kezelésére. Ha egy Arduino -t fog használni ISP programozóként, akkor feltétlenül állítsa vissza a HardwareSerial.cpp -re vonatkozó módosításokat, különben az ATMEGA328 nem lesz elérhető. A második változás egyszerűbb. A boards.txt fájlt az új 20MHz órajelre kell cserélni.

fényerő [ch] = térkép (DmxRxField [ch], 0, 265, 8000, 0);

A fényerő 8000 -re van leképezve, mert ez az 1/2 szinusz hullámának mikroszekunduma 60 Hz -en. Tehát teljes fényerő mellett 256 DMX a program az AC szinusz hullámának 1/2 részét bekapcsolva hagyja 8000us esetén. Találgatással és ellenőrzéssel 8000 -re jutottam. Ha 1000000us/60hz/2 = 8333 matekot végez, akkor ez jobb szám lehet, de a fej fölötti 333us többlet lehetővé teszi, hogy a TRIAC megnyíljon, és a programban fellépő minden remegés valószínűleg jó ötlet.

Az Arduino 1.5.3 rendszeren áthelyezték a HardwareSerial.cpp fájl helyét. Ez most /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Ezt az egészet ki kell kommentálnia, ha a 39. sorral kezdődő blokk: #if meghatározott (USART_RX_vect)

Ellenkező esetben ezt a hibát kapja: core/core.a (HardwareSerial0.cpp.o): A `_vector_18 'függvényben:

6. lépés: Csomagolja fel

Csomagolja fel
Csomagolja fel
Csomagolja fel
Csomagolja fel
Csomagolja fel
Csomagolja fel

Felvettem a szürke projektdobozt a Menardsnál az elektromos részükön. Dugattyús fűrésszel vágtam ki az elektromos csatlakozódugókat. A tokhoz egy színházi c-bilincs került a tetejére akasztás céljából. Állapotjelző lámpák minden bemenetre és kimenetre, amelyek segítenek diagnosztizálni, ha bármikor probléma merül fel. Címkékészítővel magyarázták az eszköz különböző portjait. Az egyes csatlakozók melletti számok a DMX csatorna számát jelölik. Rögzítettem az áramköri lapot és a transzformátort valamilyen forró ragasztóval. A LED -ek a helyükön ragadtak LED -tartókkal.

Ajánlott: