Satura rādītājs:

4 Ch DMX dimmer: 6 soļi
4 Ch DMX dimmer: 6 soļi

Video: 4 Ch DMX dimmer: 6 soļi

Video: 4 Ch DMX dimmer: 6 soļi
Video: pknight dimmer pack 4ch tutorial 2024, Novembris
Anonim
4 Ch DMX dimmer
4 Ch DMX dimmer

Koncepcija ir izstrādāt un izveidot pārnēsājamu dimmeri.

Prasības:

  • DMX512 kontrolējams
  • 4 kanāli
  • Pārnēsājams
  • Viegli izmantot

Es ierosināju šo ideju savam profesoram WSU, jo vēlējos apvienot savas aizraušanās ar teātri un datoriem. Šis projekts nedaudz līdzinājās manam vecākajam projektam teātra nodaļā. Ja jums ir kādi komentāri vai jautājumi, es labprāt palīdzētu.

Turpmākā attīstība varētu ietvert vairāk kanālu, 5 kontaktu DMX savienotāju, DMX caurlaidību, 8 dip slēdžus kanāla nomaiņai, iespiedshēmas plates.

Esmu migrējis šo projektu no vietnes https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html, jo tas joprojām ir populārs. Arī es pazaudēju savu iWeb sēklu failu, tāpēc vairs nevaru to viegli atjaunināt. Būtu jauki ļaut cilvēkiem dalīties savos jautājumos par projektu.

1. darbība: aparatūras savākšana

Aparatūras savākšana
Aparatūras savākšana

Izmantotā aparatūra: lielākā daļa tika pasūtīta no Tayda Electronics. Tie man patīk labāk nekā DigiKey, jo ir mazāka un vieglāk saprotama atlase.

  1. ATMEGA328, mikrokontrolleris
  2. MOC3020, TRIAC Optocoupler. Nav ZeroCross.
  3. MAX458 vai SN75176BP, DMX uztvērējs
  4. ISP814, maiņstrāvas optronis
  5. 7805, 5v regulators
  6. BTA24-600, 600V 25A TRIAC
  7. 20MHz kristāls
  8. 9V barošanas avots

Pa ceļam gūti daži šķēršļi un mācības

  • Ja neesat reģistra eksperts, izmantojiet ATMEGA328P
  • Nepareizi optroni. Jūs nevēlaties Zero Cross
  • Augsti kanāli bija nestabili. Pāreja no 16 MHz uz 20 MHz atrisināja šo problēmu
  • Nevar būt DMX statusa indikators, jo pārtrauktajam zvanam bija jābūt ļoti ātram
  • Līdzstrāvas jaudai jābūt ārkārtīgi stabilai, jebkāda viļņošanās izraisīs DMX signāla ļoti trokšņainību

TRIAC dizains nāca no MRedmon, paldies.

2. solis: shēmas dizains

Ķēdes dizains
Ķēdes dizains

Es izmantoju Fritzing 7.7 operētājsistēmā Mac, lai izstrādātu savu ķēdi.

Augšpusē esošo MAX485 izmanto, lai pārvērstu DMX signālu par kaut ko tādu, ko Arduino var nolasīt.

Kreisajā pusē esošais 4N35 tiek izmantots, lai noteiktu maiņstrāvas signāla nulles krustu, lai Arduino zinātu, kurā laikā samazināt sinusa viļņu izvadi. Vairāk par aparatūras un programmatūras mijiedarbību skatiet programmatūras sadaļā.

Esmu saņēmis jautājumu, vai šis projekts darbosies Eiropā ar 230V un 50Hz? Es nedzīvoju Eiropā un arī bieži tur nebraucu, lai varētu pārbaudīt šo dizainu. Tam vajadzētu darboties, jums vienkārši jāmaina koda spilgtuma laika līnija dažādām frekvenču laika aizkaves reizēm.

3. solis: Kovari ķēdes dizains

Kovari ķēdes dizains
Kovari ķēdes dizains
Kovari ķēdes dizains
Kovari ķēdes dizains

Veicot vietnes izveidošanu, man bija iespēja sarunāties pa e -pastu. Viens bija kopā ar Kovari Andreju, kurš, pamatojoties uz šo projektu, izveidoja shēmas dizainu un vēlējās dalīties ar savu dizainu. Es neesmu shēmas plates dizainers, bet tas ir Ērgļa projekts. Ļaujiet man zināt, kā tas jums darbojas, ja to izmantojat.

4. solis: Džakomo shēmas dizains

Džakomo ķēdes dizains
Džakomo ķēdes dizains

Laiku pa laikam cilvēki man ziņos par aizraujošajiem pielāgojumiem, ko viņi ir veikuši, izmantojot šo pamācību, un es sapratu, ka man vajadzētu tos kopīgot ar jums visiem.

Džakomo modificēja ķēdi, tāpēc nebija nepieciešams centrālais transformators. PCB ir vienpusējs, un tas var būt pieejamāks risinājums tiem, kas mājās nevar izgatavot divpusēju (mazliet grūti).

5. solis: programmatūra

Programmatūra
Programmatūra

Pēc profesijas esmu programmatūras inženieris, tāpēc šī daļa ir visdetalizētākā.

Vasarīgi: Kad Arduino pirmo reizi sāk darboties, tiek izsaukta iestatīšanas () metode. Tur es iestatīju dažus mainīgos un izvades vietas, lai tos izmantotu vēlāk. zeroCrossInterupt () tiek izsaukts/ palaists katru reizi, kad maiņstrāva šķērso no pozitīvā uz negatīvo spriegumu. Tas katram kanālam iestatīs zeroCross karogu un sāks taimeri. Cilpas () metodi nepārtraukti sauc mūžīgi. Lai ieslēgtu izvadi, TRIAC ir jāaktivizē tikai 10 mikrosekundes. Ja ir pienācis laiks aktivizēt TRIAC un zeroCross, izeja ieslēgsies līdz maiņstrāvas fāzes beigām.

Tīmeklī bija daži piemēri, kurus es izmantoju, lai sāktu šo projektu. Galvenais, ko es nevarēju atrast, bija vairākas TRIAC izejas. Citi izmantoja aizkaves funkciju, lai izvadītu PWM, bet manā gadījumā tas nedarbotos, jo ATMEGA visu laiku ir jāklausās DMX. Es to atrisināju, pulsējot TRIAC tik daudzās ms pēc nulles krusta. Pulsējot TRIAC tuvāk nulles krustam, tiek izvadīts vairāk grēka viļņa.

Lūk, kā izskatās osciloskops, virs 120 VAC grēka viļņa.

ISP814 ir savienots ar 1. pārtraukumu. Tātad, kad tiek saņemts signāls, ka maiņstrāvas pāreja no pozitīvas uz negatīvu vai otrādi, tā katram kanālam nosaka nulles krustu un sāk hronometru.

Cilpas () metodē tas pārbauda katru kanālu, vai zeroCross ir patiess, un tā aktivizēšanas laiks ir pagājis, un tas TRIAC pulsēs 10 mikrosekundes. Tas ir pietiekami, lai ieslēgtu TRIAC. Kad TRIAC ir ieslēgts, tas paliks ieslēgts līdz zeroCross. Gaisma mirgos, kad DMX bija aptuveni 3%, tāpēc es tur pievienoju saīsināšanu, lai to novērstu. Tas izraisīja Arduino pārāk lēnu darbību, un pulss dažkārt izraisīja nākamo grēka vilni, nevis pēdējos 4% viļņa.

Arī cilpā () es iestatīju statusa gaismas diodes PWM vērtību. Šīs gaismas diodes var izmantot Arduino ģenerēto iekšējo PWM, jo mums nav jāuztraucas par AC nulles krustu. Kad PWM ir iestatīts, Arduino turpinās tādā spilgtumā, līdz to pateiks citiem.

Kā minēts populārākajos komentāros, lai 2. tapā izmantotu DMX pārtraukumu un palaistu frekvenci 20 MHz, jums būs jārediģē daži Arduino lietojumprogrammu faili. Vietnē HardwareSerial.cpp ir jāizdzēš koda daļa, kas ļauj mums rakstīt savu pārtraukuma zvanu. Šī ISR metode atrodas koda apakšā, lai apstrādātu DMX pārtraukumu. Ja plānojat izmantot Arduino kā ISP programmētāju, noteikti atgrieziet izmaiņas HardwareSerial.cpp, pretējā gadījumā maizes dēļa ATMEGA328 nebūs sasniedzams. Otrā izmaiņa ir vienkāršāka. Fails boards.txt ir jāmaina uz jauno 20MHz pulksteņa ātrumu.

spilgtums [ch] = karte (DmxRxField [ch], 0, 265, 8000, 0);

Spilgtums tiek kartēts līdz 8000, jo tas ir 1/2 maiņstrāvas sinusoidālā viļņa mikrosekundes pie 60 Hz. Tātad ar pilnu spilgtumu 256 DMX programma atstās 1/2 maiņstrāvas sinusa viļņu ieslēgtu 8000us. Es uzminēju un pārbaudīju 8000. Veikt 1000000us/60hz/2 = 8333 matemātiku, lai tas varētu būt labāks skaitlis, bet papildu 333us virs galvas ļauj atvērt TRIAC un, iespējams, jebkāda programmas nervozitāte ir laba ideja.

Vietnē Arduino 1.5.3 viņi pārvietoja faila HardwareSerial.cpp atrašanās vietu. Šobrīd ir

Pretējā gadījumā jūs saņemsit šo kļūdu: core/core.a (HardwareSerial0.cpp.o): Funkcijā "_vector_18":

6. solis: iesaiņojiet to

Iepakošana
Iepakošana
Iepakošana
Iepakošana
Iepakošana
Iepakošana

Es paņēmu pelēko projektu kastīti Menards viņu elektriskajā sadaļā. Es izmantoju virzuļzāģi, lai izgrieztu elektriskās kontaktdakšas atveres. Korpuss saņēma teātra c skavu, kas piestiprināts pie augšējās daļas pakarināšanas nolūkos. Katras ieejas un izejas statusa gaismas, kas palīdz diagnosticēt, ja kādreiz ir kāda problēma. Lai izskaidrotu dažādus ierīces portus, tika izmantots etiķešu veidotājs. Cipari blakus katram kontaktdakšai apzīmē DMX kanāla numuru. Es piestiprināju shēmas plati un transformatoru ar kādu karstu līmi. Gaismas diodes ir iestrēgušas ar LED turētājiem.

Ieteicams: