
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48

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

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.
- ATMEGA328, mikrovezérlő
- MOC3020, TRIAC optocsatoló. Nem ZeroCross.
- MAX458 vagy SN75176BP, DMX vevő
- ISP814, AC optocsatoló
- 7805, 5v szabályozó
- BTA24-600, 600V 25A TRIAC
- 20 MHz -es kristály
- 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

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


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

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

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



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:
IOT DMX vezérlő Arduino -val és Stage Monster Live -val: 6 lépés

IOT DMX vezérlő Arduino és Stage Monster Live funkciókkal: Irányítsa a színpadi világítást és más DMX eszközöket a telefonjáról vagy bármely más webes eszközről. Megmutatom, hogyan lehet gyorsan és egyszerűen felépíteni saját DMX vezérlőjét, amely a Stage Monster Live platformon fut egy Arduino Mega segítségével
Arduino DMX 512 tesztelő és vezérlő: 19 lépés

Arduino DMX 512 tesztelő és vezérlő: Actualizaciones, ficheros, códigos … Magyar verzió Este p
Arduino DMX 512 tesztelő és vezérlő HUN: 19 lépés

Arduino DMX 512 tesztelő és vezérlő HUN: Frissítések, fájlok, kódok, sémák … Versión en Español Ez a projekt abból adódik, hogy szükség van egy hordozható eszközre
DMX Animatronic robot: 9 lépés (képekkel)

DMX Animatronic Robot: Ez a projekt egy teljesen működőképes animatronic prototípus kifejlesztését írja le. A nulláról valósul meg, és célja, hogy útmutató legyen a jövőbeli, összetettebb animatronikus robotok fejlesztéséhez. A rendszer egy Arduino mikrokontrollon alapul
Minden egyben · DMX Terminator & DMX Tester: 3 lépés

Mindent egyben · DMX Terminator & DMX Tester: Fénytechnikusként néha tudnia kell, hogy a dmx kapcsolatok mennyire egészségesek a berendezések között. Néha a vezetékek, a szerelvények vagy a feszültségingadozások miatt a DMX rendszer számos problémának és hibának van kitéve. Szóval elkészítettem