INHOUDSOPGAWE:

4 -kanse DMX -dimmer: 6 stappe
4 -kanse DMX -dimmer: 6 stappe

Video: 4 -kanse DMX -dimmer: 6 stappe

Video: 4 -kanse DMX -dimmer: 6 stappe
Video: Свинина в духовке. Свинина в фольге. Карбонад свиной в духовке. Мясная книжка рецепт. 2024, November
Anonim
4 -kanse DMX -dimmer
4 -kanse DMX -dimmer

Die konsep is om 'n draagbare dimmer te ontwerp en te skep.

Vereistes:

  • DMX512 beheerbaar
  • 4 kanale
  • Draagbaar
  • Maklik om te gebruik

Ek het hierdie idee aan my professor aan die WSU voorgestel omdat ek my passies vir teater en rekenaars wou kombineer. Hierdie projek het 'n bietjie opgetree soos my senior projek in die teaterafdeling. As u kommentaar of vrae het, help ek graag.

Toekomstige ontwikkeling kan meer kanale, 'n 5 -pins DMX -aansluiting, 'n DMX -deurlaat, 8 dip -skakelaars insluit om die kanaal te verander, 'n printplaat.

Ek het hierdie projek oorgeplaas van https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html omdat dit steeds gewild is, dink ek. Ek het ook my iWeb -saadlêer verloor, sodat ek dit nie meer maklik kan opdateer nie. Dit sal lekker wees om mense toe te laat om hul vrae oor die projek met mekaar te deel.

Stap 1: Versamel die hardeware

Versamel die hardeware
Versamel die hardeware

Hardeware wat gebruik word: Die meeste daarvan is bestel by Tayda Electronics. Ek hou van hulle beter as DigiKey vanweë die kleiner en makliker verstaanbare keuse.

  1. ATMEGA328, mikrobeheerder
  2. MOC3020, TRIAC Optokoppelaar. Nie ZeroCross nie.
  3. MAX458 of SN75176BP, DMX -ontvanger
  4. ISP814, AC Optokoppelaar
  5. 7805, 5v Reguleerder
  6. BTA24-600, 600V 25A TRIAC
  7. 20 MHz kristal
  8. 9V Kragtoevoer

'N Paar hindernisse en lesse wat ons onderweg geleer het

  • As u nie 'n registerkenner is nie, bly dan by 'n ATMEGA328P
  • Verkeerde optokoppelaars. U wil nie 'n nulkruis hê nie
  • Hoë kanale was onstabiel. Deur van 16MHz na 20MHz oor te skakel, het hierdie probleem opgelos
  • Ek kon nie 'n DMX -statuslig hê nie, want die onderbrekingsoproep moes baie vinnig wees
  • Gelykstroom moet uiters stabiel wees; enige rimpeling veroorsaak dat die DMX -sein baie raserig word

Die TRIAC -ontwerp kom van MRedmon, dankie.

Stap 2: Kringontwerp

Kringontwerp
Kringontwerp

Ek het Fritzing 7.7 op Mac gebruik om my kring te ontwerp.

Die MAX485 aan die bokant word gebruik om die DMX -sein om te skakel in iets wat die Arduino kan lees.

Die 4N35 aan die linkerkant word gebruik om die nulkruising van die wisselsignaal op te spoor, sodat die Arduino sal weet op watter tydstip die sinusgolfuitset moet verdof. Meer inligting oor hoe die hardeware en sagteware in wisselwerking is in die sagteware -afdeling.

Ek het die vraag gekry: sal hierdie projek in Europa werk met 230V en 50Hz? Ek woon nie in Europa nie, en ek reis ook nie gereeld daarheen om hierdie ontwerp te kan toets nie. Dit behoort te werk; u moet net die tydsberekening van die helderheid van die kode verander vir die verskillende frekwensievertragings.

Stap 3: Kovari's Circuit Design

Kovari's Circuit Design
Kovari's Circuit Design
Kovari's Circuit Design
Kovari's Circuit Design

Deur die proses om my webwerf oop te maak, kon ek 'n paar e -posgesprekke voer. Die een was saam met Kovari Andrei, wat 'n kringontwerp op grond van hierdie projek gemaak het en sy ontwerp wou deel. Ek is geen ontwerpers van die bord nie, maar dit is 'n Eagle -projek. Laat weet my hoe dit vir u werk as u dit gebruik.

Stap 4: Giacomo se kringontwerp

Giacomo se kringontwerp
Giacomo se kringontwerp

Van tyd tot tyd sal mense my 'n boodskap stuur met die opwindende aanpassings wat hulle met hierdie instruksies gedoen het, en ek het gedink ek moet dit met julle almal deel.

Giacomo het die stroombaan aangepas, sodat 'n transformator in die middel daarvan nie nodig was nie. Die pcb is enkelsydig en kan 'n meer bekostigbare oplossing wees vir wie nie tuis dubbelzijdig kan maak nie ('n bietjie moeilik).

Stap 5: sagteware

Sagteware
Sagteware

Ek is 'n sagteware -ingenieur, en hierdie deel is die mees gedetailleerde.

Somerig: As die Arduino die eerste keer begin, word die setup () -metode genoem. Daar het ek 'n paar van die veranderlikes en uitvoerlokasies opgestel om later gebruik te word. zeroCrossInterupt () word elke keer as die wisselstroom oorgaan van positiewe na negatiewe spanning gebel/ uitgevoer. Dit stel die zeroCross -vlag vir elke kanaal in en begin die timer. Die lus () -metode word voortdurend vir ewig genoem. Om die uitset aan te skakel, hoef die TRIAC slegs vir 10 mikrosekondes geaktiveer te word. As dit tyd is om die TRIAC te aktiveer en zeroCross gebeur het, sal die uitset aanskakel tot aan die einde van die WS -fase.

Daar was 'n paar voorbeelde aanlyn waarmee ek hierdie projek begin het. Die belangrikste ding wat ek nie kon vind nie, was om verskeie TRIAC -uitsette te hê. Ander het die vertragingsfunksie gebruik om die uitset te PWM, maar dit sou in my geval nie werk nie, want die ATMEGA moet heeltyd na DMX luister. Ek het dit opgelos deur die TRIAC op soveel ms na nul-kruising te pols. Deur die TRIAC nader aan nulkruising te puls word die meer van die singolf afgegee.

Hier is hoe die halwe 120VAC sondegolf op 'n ossilloskoop hierbo lyk.

Die ISP814 is gekoppel aan onderbreking 1. As dit 'n sein ontvang dat die wisselstroom oorgaan van positief na negatief of andersom, stel dit die zeroCross vir elke kanaal op waar en begin die stophorlosie.

In die loop () -metode kontroleer elke kanaal of zeroCross waar is en die tyd wat dit moet aktiveer, sal die TRIAC vir 10 mikrosekondes laat pols. Dit is genoeg om die TRIAC aan te skakel. Sodra 'n TRIAC aangeskakel is, bly dit aan tot zeroCross. Die lig sou flikker as die DMX ongeveer 3% was, so ek het die afkapping daar bygevoeg om dit te voorkom. Dit het veroorsaak dat die Arduino te stadig was, en die polsslag sou soms die volgende sondegolf veroorsaak in plaas van die laaste 4% van die golf.

Ek stel ook in die lus () die PWM -waarde van die status -LED's in. Hierdie LED's kan die interne PWM gebruik wat deur die Arduino gegenereer word, omdat ons ons nie hoef te bekommer oor die zeroCross van AC nie. Sodra die PWM ingestel is, sal die Arduino met die helderheid voortgaan totdat ander dit vertel.

Soos in die boonste opmerkings opgemerk is, moet u 'n paar van die Arduino -toepassingslêers wysig om 'n DMX -onderbreking op pen 2 te gebruik en op 20MHz te werk. In HardwareSerial.cpp moet 'n stuk kode verwyder word, waardeur ons ons eie onderbrekingsoproep kan skryf. Hierdie ISR -metode is onderaan die kode om die DMX -onderbreking te hanteer. As u 'n Arduino as 'n ISP -programmeerder gaan gebruik, moet u u veranderinge na HardwareSerial.cpp terugkeer, anders is die ATMEGA328 op die broodbord onbereikbaar. Die tweede verandering is makliker. Die boards.txt -lêer moet verander word na die nuwe 20MHz kloksnelheid.

helderheid [ch] = kaart (DmxRxField [ch], 0, 265, 8000, 0);

Helderheid kaarte tot 8000, want dit is die hoeveelheid mikrosekondes van 1/2 'n AC sinusgolf by 60Hz. Dus, met volle helderheid 256 DMX, laat die program 1/2 van die AC sinusgolf AAN vir 8000 us. Ek het met raai en tjek 8000 vorendag gekom. Om die wiskunde van 1000000us/60hz/2 = 8333 te doen, sodat dit 'n beter getal kan wees, maar as u die ekstra 333us oor die kop het, kan die TRIAC oopmaak en enige jitter in die program is waarskynlik 'n goeie idee.

Op Arduino 1.5.3 het hulle die ligging van die HardwareSerial.cpp -lêer verskuif. Dit is nou /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp U moet kommentaar lewer op hierdie geheel as blok begin met reël 39: #as gedefinieer (USART_RX_vect)

Andersins eindig u met hierdie fout: core/core.a (HardwareSerial0.cpp.o): In funksie `_vector_18 ':

Stap 6: Verpak dit

Verpak dit
Verpak dit
Verpak dit
Verpak dit
Verpak dit
Verpak dit

Ek het die grys projekkas by Menards in hul elektriese afdeling gaan haal. Ek het 'n wisselsaag gebruik om die gate in die elektriese prop uit te sny. Die kissie het 'n teaterklem aan die bokant vasgemaak om op te hang. Statusligte vir elke invoer en uitset om te help diagnoseer of daar ooit 'n probleem is. 'N Etiketmaker is gebruik om die verskillende poorte op die toestel te verduidelik. Die nommers langs elke prop verteenwoordig die DMX -kanaalnommer. Ek het die bord en transformator met warm gom aangebring. Die LED's sit vas met LED -houers.

Aanbeveel: