Turinys:
- 1 žingsnis: surinkite aparatūrą
- 2 žingsnis: grandinės projektavimas
- 3 žingsnis: Kovari grandinės dizainas
- 4 žingsnis: „Giacomo“grandinės dizainas
- 5 žingsnis: programinė įranga
- 6 žingsnis: supakuokite
Video: 4 kanalų DMX reguliatorius: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Koncepcija yra suprojektuoti ir sukurti nešiojamąjį reguliatorių.
Reikalavimai:
- DMX512 valdomas
- 4 kanalai
- Nešiojamas
- Paprasta naudoti
Šią idėją pasiūliau savo profesoriui WSU, nes norėjau sujungti savo aistras teatrui ir kompiuteriams. Šis projektas šiek tiek veikė kaip mano vyresnysis projektas teatro skyriuje. Jei turite pastabų ar klausimų, mielai padėsiu.
Ateityje plėtra galėtų apimti daugiau kanalų, 5 kontaktų DMX jungtį, DMX praėjimą, 8 panardinimo jungiklius kanalui pakeisti, spausdintinę plokštę.
Perkėliau šį projektą iš https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html, nes manau, kad jis vis dar populiarus. Taip pat praradau „iWeb“pradinį failą, todėl nebegaliu lengvai jo atnaujinti. Būtų malonu leisti žmonėms pasidalyti savo klausimais apie projektą.
1 žingsnis: surinkite aparatūrą
Naudota aparatūra: Didžioji jos dalis buvo užsakyta iš „Tayda Electronics“. Man jie patinka labiau nei „DigiKey“dėl mažesnio ir lengviau suprantamo pasirinkimo.
- ATMEGA328, mikrovaldiklis
- MOC3020, TRIAC optronas. Ne „ZeroCross“.
- MAX458 arba SN75176BP, DMX imtuvas
- ISP814, kintamosios srovės optronas
- 7805, 5v reguliatorius
- BTA24-600, 600V 25A TRIAC
- 20MHz Crystal
- 9V maitinimo šaltinis
Keletas kliūčių ir pamokų, įgytų pakeliui
- Jei nesate registro ekspertas, laikykitės ATMEGA328P
- Neteisingi optronai. Jūs nenorite „Zero Cross“
- Aukšti kanalai buvo nestabilūs. Perjungimas iš 16 MHz į 20 MHz išsprendė šią problemą
- Negalima turėti DMX būsenos šviesos, nes pertraukiamas skambutis turėjo būti labai greitas
- Nuolatinės srovės maitinimas turi būti ypač stabilus, bet koks pulsavimas sukels labai triukšmingą DMX signalą
Ačiū, „TRIAC“dizainas atsirado iš „MRedmon“.
2 žingsnis: grandinės projektavimas
Aš panaudojau „Fritzing 7.7“„Mac“kurdamas savo grandinę.
Viršuje esantis MAX485 naudojamas DMX signalui paversti kažkuo, ką gali skaityti „Arduino“.
Kairėje esantis 4N35 naudojamas aptikti nulinį kintamosios srovės signalo kryžių, kad „Arduino“žinotų, kada sumažinti sinusinės bangos išėjimą. Daugiau apie tai, kaip sąveikauja aparatinė ir programinė įranga, rasite programinės įrangos skyriuje.
Gavau klausimą, ar šis projektas veiks Europoje su 230V ir 50Hz? Aš negyvenu Europoje ir dažnai ten nekeliauju, kad galėčiau išbandyti šį dizainą. Tai turėtų veikti, jums tereikėtų pakeisti kodo ryškumo laiko eilutę, skirtą skirtingo dažnio laiko uždelsimui.
3 žingsnis: Kovari grandinės dizainas
Sukūręs savo svetainę, galėjau keletą kartų pašnekėti el. Vienas buvo su Kovari Andreju, kuris pagal šį projektą sukūrė grandinės projektą ir norėjo pasidalinti savo projektu. Nesu plokštės dizaineris, bet tai yra Erelio projektas. Leiskite man žinoti, kaip tai veikia jums, jei jį naudojate.
4 žingsnis: „Giacomo“grandinės dizainas
Retkarčiais žmonės man praneš žinutes apie įdomią adaptaciją, kurią jie padarė naudodamiesi šia pamoka, ir aš supratau, kad turėčiau pasidalinti ja su jumis visais.
„Giacomo“pakeitė grandinę, todėl nereikėjo centrinio transformatoriaus. PCB yra vienpusis ir gali būti pigesnis sprendimas tiems, kurie negali namuose padaryti dvipusio (šiek tiek sunku).
5 žingsnis: programinė įranga
Pagal profesiją esu programinės įrangos inžinierius, todėl ši dalis yra išsamiausia.
Vasara: kai „Arduino“pirmą kartą paleidžiamas, vadinamas „setup“() metodas. Ten aš sukūriau keletą kintamųjų ir išvesties vietų, kurios bus naudojamos vėliau. zeroCrossInterupt () iškviečiamas/ vykdomas kiekvieną kartą, kai kintamoji srovė pereina nuo teigiamos prie neigiamos įtampos. Jis nustatys „zeroCross“vėliavą kiekvienam kanalui ir paleidžia laikmatį. Kilpos () metodas vadinamas nuolat amžinai. Norėdami įjungti išvestį, TRIAC turi būti įjungtas tik 10 mikrosekundžių. Jei atėjo laikas suaktyvinti TRIAC ir zeroCross, išėjimas įsijungs iki kintamosios srovės fazės pabaigos.
Internete buvo keletas pavyzdžių, kuriais pradėjau šį projektą. Pagrindinis dalykas, kurio neradau, turėjo kelis TRIAC išėjimus. Kiti naudojo atidėjimo funkciją, kad PWM išvestį, bet mano atveju tai neveiktų, nes ATMEGA visą laiką turi klausytis DMX. Aš tai išsprendžiau pulsuodamas TRIAC tiek daug ms po nulio kryžiaus. Pulsuojant TRIAC arčiau nulio kryžiaus, išleidžiama daugiau nuodėmės bangos.
Štai kaip viršuje esanti osciloskopu atrodo pusė 120 VAC nuodėmės bangos.
ISP814 yra prijungtas prie 1 pertraukimo. Taigi, kai jis gauna signalą, kad kintamoji srovė pereina iš teigiamos į neigiamą arba atvirkščiai, jis nustato kiekvieno kanalo nulinį kryžį į teisingą ir paleidžia chronometrą.
Taikant „loop ()“metodą, jis tikrina kiekvieną kanalą, ar zeroCross yra teisingas, ir laikas, per kurį jis suaktyvės, pasieks TRIAC 10 mikrosekundžių. To pakanka, kad įjungtumėte TRIAC. Įjungus TRIAC, jis veiks iki „zeroCross“. Šviesa mirksėtų, kai DMX būtų maždaug 3%, todėl aš pridėjau sutrumpinimą, kad to išvengčiau. Dėl to „Arduino“buvo per lėtas, o pulsas kartais sukeldavo kitą nuodėmės bangą, o ne paskutinius 4% bangos.
Taip pat cikle () nustatiau būsenos šviesos diodų PWM vertę. Šie šviesos diodai gali naudoti vidinį PWM, kurį sukuria „Arduino“, nes mums nereikia jaudintis dėl „ACC zeroCross“. Nustačius PWM, „Arduino“ir toliau švies tokiu ryškumu, kol nepasakys kitiems.
Kaip pažymėta populiariausiuose komentaruose, norėdami naudoti DMX pertraukimą ant 2 kaiščio ir paleisti 20 MHz dažniu, turėsite redaguoti kai kuriuos „Arduino“programos failus. „HardwareSerial.cpp“turi būti ištrinta dalis kodo, tai leidžia mums parašyti savo pertraukimo skambutį. Šis ISR metodas yra kodo apačioje, kad būtų galima valdyti DMX pertraukimą. Jei ketinate naudoti „Arduino“kaip interneto paslaugų teikėjo programuotoją, būtinai grąžinkite pakeitimus į „HardwareSerial.cpp“, kitaip „ATMEGA328“duonos lentoje bus nepasiekiamas. Antrasis pakeitimas yra lengvesnis. Failas boards.txt turi būti pakeistas į naują 20MHz laikrodžio greitį.
ryškumas [ch] = žemėlapis (DmxRxField [ch], 0, 265, 8000, 0);
Ryškumas priskiriamas iki 8000, nes tai yra 1/2 sekundės kintamosios srovės sinusinės bangos mikrosekundės 60 Hz dažniu. Taigi, esant visiškam ryškumui 256 DMX, programa paliks įjungtą 1/2 kintamosios srovės bangų 8000 us. Aš spėjau ir patikrinau 8000. Atlikti 1000000us/60hz/2 = 8333 matematiką, kad tai būtų geresnis skaičius, tačiau turint papildomą 333us virš galvos, TRIAC gali atsidaryti ir bet koks programos nervingumas tikriausiai yra gera idėja.
„Arduino 1.5.3“jie perkėlė failo „HardwareSerial.cpp“vietą. Dabar tai yra /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp Visą tai turėsite pakomentuoti, jei blokas prasideda 39 eilute: #if apibrėžta (USART_RX_vect)
Priešingu atveju turėsite šią klaidą: core/core.a (HardwareSerial0.cpp.o): Funkcijoje „_vector_18“:
6 žingsnis: supakuokite
Aš paėmiau pilką projekto dėžutę „Menards“jų elektros skyriuje. Aš naudoju stūmoklinį pjūklą, kad iškirsčiau elektros kištuko skyles. Prie dėklo buvo pritvirtintas teatro c-spaustukas, pritvirtintas viršuje kabinti. Kiekvienos įvesties ir išvesties būsenos lemputės padeda diagnozuoti, ar kada nors yra problema. Etikečių gamintojas buvo naudojamas įvairiems įrenginio prievadams paaiškinti. Skaičiai šalia kiekvieno kištuko reiškia DMX kanalo numerį. Aš pritvirtinau plokštę ir transformatorių karštais klijais. Šviesos diodai yra įstrigę su LED laikikliais.
Rekomenduojamas:
LM317 reguliuojamas įtampos reguliatorius: 6 žingsniai
LM317 reguliuojamas įtampos reguliatorius: Čia norėtume kalbėti apie reguliuojamus įtampos reguliatorius. Jiems reikalingos sudėtingesnės grandinės nei linijinės. Jie gali būti naudojami skirtingoms fiksuotos įtampos išėjimams gaminti, priklausomai nuo grandinės, taip pat reguliuojama įtampa per potenciometrą. Aš
„WiFi“ventiliatoriaus greičio reguliatorius (ESP8266 kintamosios srovės reguliatorius): 8 žingsniai (su nuotraukomis)
„WiFi“ventiliatoriaus greičio reguliatorius (ESP8266 kintamosios srovės reguliatorius): šioje instrukcijoje nurodoma, kaip sukurti lubų ventiliatoriaus greičio reguliatorių naudojant „Triac“fazės kampo valdymo metodą. „Triac“tradiciškai valdo atskiras „Atmega8“arduino sukonfigūruotas lustas. „Wemos D1 mini“šiam reguliavimui prideda „WiFi“funkciją
Belaidis nuotolinis valdymas naudojant 2,4 GHz NRF24L01 modulį su „Arduino“- Nrf24l01 4 kanalų / 6 kanalų siųstuvo imtuvas keturkopteriui - Rc sraigtasparnis - Rc lėktuvas naudojant „Arduino“: 5 žingsniai (su nuotraukomis)
Belaidis nuotolinis valdymas naudojant 2,4 GHz NRF24L01 modulį su „Arduino“| Nrf24l01 4 kanalų / 6 kanalų siųstuvo imtuvas keturkopteriui | Rc sraigtasparnis | Rc lėktuvas naudojant „Arduino“: valdyti Rc automobilį | Kvadopteris | Dronas | RC plokštuma | RC valtis, mums visada reikia imtuvo ir siųstuvo, tarkime, kad RC QUADCOPTER mums reikia 6 kanalų siųstuvo ir imtuvo, o tokio tipo TX ir RX yra per brangus, todėl mes jį pagaminsime savo
Viskas viename · DMX terminatorius ir DMX testeris: 3 žingsniai
Viskas viename · „DMX Terminator“ir „DMX Tester“: kaip apšvietimo technikas, kartais turite žinoti, kaip sveiki yra jūsų dmx ryšiai tarp šviestuvų. Kartais dėl laidų, armatūros ar įtampos svyravimų DMX sistema susiduria su daugybe problemų ir klaidų. Taigi padariau
4 kanalų DMX siųstuvas -imtuvas: 24 žingsniai
4 kanalų DMX siųstuvas-imtuvas: DMX IO platformos modulis yra 4 kanalų DMX siųstuvas-imtuvas. Priėmimo režimu jis gali valdyti iki keturių mažos srovės TTL kanalų (3.3v, pvz., Servo ir mažų šviesos diodų) arba didelės srovės (12v, pvz., Lempos, relės, solenoidai, žingsninis variklis ir kt.)