Բովանդակություն:

4 Ch DMX Dimmer: 6 քայլ
4 Ch DMX Dimmer: 6 քայլ

Video: 4 Ch DMX Dimmer: 6 քայլ

Video: 4 Ch DMX Dimmer: 6 քայլ
Video: 1. Q Light Controller + Սկսել QLC +- ով: Արշավներ եւ գործառույթներ 2024, Նոյեմբեր
Anonim
4 Ch DMX Dimmer
4 Ch DMX Dimmer

Հայեցակարգը նախագծում և ստեղծում է շարժական լուսամփոփ:

Պահանջներ:

  • DMX512 Կառավարելի
  • 4 ալիք
  • Դյուրակիր
  • Հեշտ է օգտագործել

Այս գաղափարն առաջարկեցի WSU- ի իմ դասախոսին, քանի որ ցանկանում էի համատեղել թատրոնի և համակարգիչների հանդեպ ունեցած իմ կրքերը: Այս նախագիծը մի փոքր նման էր թատերական բաժնի իմ ավագ նախագծին: Եթե ունեք որևէ մեկնաբանություն կամ հարց, ես սիրով կօգնեմ:

Ապագա զարգացումը կարող է ներառել ավելի շատ ալիքներ, 5 պին DMX միակցիչ, DMX անցում, 8 անջատիչ ՝ ալիքը փոխելու համար, տպագիր տպատախտակ:

Ես տեղափոխել եմ այս նախագիծը https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html- ից, որովհետև այն ենթադրաբար դեռ հայտնի է: Նաև ես կորցրեցի իմ iWeb սերմի ֆայլը, այնպես որ այլևս չեմ կարող հեշտությամբ թարմացնել այն: Լավ կլիներ, որ թույլ տայինք մարդկանց միմյանց հետ կիսել նախագծի վերաբերյալ իրենց հարցերը:

Քայլ 1: Սարքաշարի հավաքում

Սարքաշարի հավաքում
Սարքաշարի հավաքում

Օգտագործված սարքավորում. Դրա մեծ մասը պատվիրված է Tayda Electronics- ից: Ինձ դրանք ավելի լավ են դուր գալիս, քան DigiKey- ը ՝ ավելի փոքր ու հեշտ ընկալելի ընտրանի պատճառով:

  1. ATMEGA328, միկրոհսկիչ
  2. MOC3020, TRIAC Optocoupler: Ոչ ZeroCross.
  3. MAX458 կամ SN75176BP, DMX ընդունիչ
  4. ISP814, AC Optocoupler
  5. 7805, 5 վ կարգավորիչ
  6. BTA24-600, 600V 25A TRIAC
  7. 20 ՄՀց բյուրեղ
  8. 9 Վ էլեկտրամատակարարում

Fewանապարհին մի քանի խոչընդոտ և դասեր քաղված

  • Եթե գրանցման փորձագետ չեք, մնացեք ATMEGA328P- ով
  • Սխալ օպտիկական զույգեր: Դուք չեք ցանկանում Zero Cross- ը
  • Բարձր ալիքները անկայուն էին: 16 ՄՀց -ից 20 ՄՀց -ի անցումը լուծեց այս հարցը
  • Անհնար է ունենալ DMX կարգավիճակի լույս, քանի որ ընդհատվող զանգը պետք է լիներ շատ արագ
  • DC հոսանքը պետք է չափազանց կայուն լինի, ցանկացած ալիք կհանգեցնի DMX ազդանշանի շատ աղմկոտ լինելուն

TRIAC- ի դիզայնը եկել է MRedmon- ից, շնորհակալություն:

Քայլ 2: Շղթայի ձևավորում

Շղթայի ձևավորում
Շղթայի ձևավորում

Ես օգտագործել եմ Fritzing 7.7 -ը Mac- ում ՝ իմ սխեման նախագծելու համար:

Վերին մասում գտնվող MAX485- ն օգտագործվում է DMX ազդանշանը Arduino- ի կարդալու ունակ դարձնելու համար:

Ձախ կողմում գտնվող 4N35- ն օգտագործվում է AC ազդանշանի զրոյական խաչը հայտնաբերելու համար, այնպես որ Arduino- ն կիմանա, թե որ ժամին է մեղմել սինուսային ալիքի ելքը: Ավելին այն մասին, թե ինչպես են ապարատային և ծրագրային ապահովումները փոխազդում ծրագրային ապահովման բաժնում:

Ես ստացել եմ այն հարցը, թե արդյոք այս նախագիծը կաշխատի Եվրոպայում 230 Վ և 50 Հց հզորությամբ: Ես Եվրոպայում չեմ ապրում, ոչ էլ հաճախ եմ այնտեղ ճանապարհորդում, որպեսզի կարողանամ փորձարկել այս դիզայնը: Այն պետք է աշխատի, դուք պարզապես պետք է փոփոխեք լուսավորության ժամանակացույցի գիծը տարբեր հաճախականությունների հետաձգման համար:

Քայլ 3. Կովարիի սխեմաների ձևավորում

Կովարիի սխեմաների ձևավորում
Կովարիի սխեմաների ձևավորում
Կովարիի սխեմաների ձևավորում
Կովարիի սխեմաների ձևավորում

Իմ կայքը վերագործարկելու գործընթացի միջոցով ես կարողացա մի քանի էլփոստով զրուցել: Մեկը Կովարի Անդրեյի հետ էր, ով այս նախագծի հիման վրա միացում էր պատրաստում և ցանկանում էր կիսվել իր դիզայնով: Ես տպատախտակի դիզայներ չեմ, բայց դա Eagle- ի նախագիծ է: Թույլ տվեք իմանալ, թե ինչպես է այն աշխատում ձեզ համար, եթե այն օգտագործում եք:

Քայլ 4. Giacomo- ի սխեմաների ձևավորում

Acակոմոյի շրջանի դիզայնը
Acակոմոյի շրջանի դիզայնը

Fromամանակ առ ժամանակ մարդիկ ինձ կուղարկեն հուզիչ հարմարեցումներով, որոնք նրանք արել են այս ուսանելի ուսուցման հետ, և ես մտածեցի, որ պետք է դրանք կիսեմ բոլորիդ հետ:

Acակոմոն փոփոխեց սխեման, այնպես որ կենտրոնական խցանված տրանսֆորմատորը չէր պահանջվում: PCB- ն միակողմանի է և կարող է լինել ավելի մատչելի լուծում նրանց համար, ովքեր չեն կարող երկկողմանի աշխատել տանը (մի փոքր դժվար):

Քայլ 5: Softwareրագրակազմ

Ծրագրային ապահովում
Ծրագրային ապահովում

Ես մասնագիտությամբ ծրագրային ապահովման ինժեներ եմ, ուստի այս հատվածը ամենա մանրամասնն է:

Summery: Երբ Arduino- ն առաջին անգամ գործարկում է setup () մեթոդը կոչվում է: Այնտեղ ես ստեղծեցի մի քանի փոփոխական և ելքային վայրեր, որոնք հետագայում կօգտագործվեն: zeroCrossInterupt () կոչվում/ վազում է ամեն անգամ, երբ AC- ն անցնում է դրականից բացասական լարման: Այն յուրաքանչյուր ալիքի համար սահմանելու է zeroCross դրոշը և գործարկելու է ժամաչափը: Loop () մեթոդը կոչվում է անընդհատ ընդմիշտ: Արդյունքը միացնելու համար TRIAC- ը պետք է գործարկվի միայն 10 միկրովայրկյանների ընթացքում: Եթե ժամանակն է գործարկել TRIAC- ը և zeroCross- ը, ելքը կմիանա մինչև AC փուլի ավարտը:

Ինտերնետում եղան մի քանի օրինակներ, որոնք ես օգտագործում էի այս նախագիծը սկսելու համար: Հիմնական բանը, որ ես չկարողացա գտնել, TRIAC- ի բազմաթիվ ելքեր ունենալն էր: Մյուսները հետաձգման գործառույթն էին օգտագործում PWM ելքի համար, բայց դա իմ դեպքում չէր աշխատի, քանի որ ATMEGA- ն պետք է անընդհատ լսի DMX- ին: Ես դա լուծեցի `զրոյական խաչից հետո այդքան ms- ով զարկ տալով TRIAC- ին: TRIAC- ը զրոյական խաչին մոտենալով ավելի շատ մեղքի ալիք է դուրս գալիս:

Ահա, թե ինչպիսին է 120VAC- ի մեղքի ալիքի կեսը տատանումների վրա ՝ վերևում:

ISP814- ը միացված է ընդհատմանը 1. Այսպիսով, երբ ազդանշան է ստանում, որ AC- ն դրականից բացասական է անցնում կամ հակառակը, յուրաքանչյուր ալիքի համար զրոյական խաչը դնում է ճշմարիտ և սկսում վայրկյանաչափը:

Loop () մեթոդի դեպքում այն ստուգում է յուրաքանչյուր ալիք, եթե zeroCross- ը ճշմարիտ է, և դրա ակտիվացման ժամանակը անցել է, այն TRIAC- ին զարկերակային կդարձնի 10 միկրովայրկյան: Սա բավական է TRIAC- ը միացնելու համար: Երբ TRIAC- ը միացված է, այն կմնա մինչև զրոյական խաչ: Լույսը կթարթեր, երբ DMX- ը մոտ 3% էր, ուստի ես ավելացրեցի կոճղը ՝ դա կանխելու համար: Դա հանգեցրեց նրան, որ Arduino- ն չափազանց դանդաղ էր, և զարկերակը երբեմն առաջացնում էր հաջորդ մեղքի ալիքը ՝ ալիքի վերջին 4% -ի փոխարեն:

Նաև հանգույցում () ես սահմանում եմ կարգավիճակի LED- ների PWM արժեքը: Այս LED- ները կարող են օգտագործել Arduino- ի կողմից ստեղծված ներքին PWM- ը, քանի որ մենք կարիք չունենք անհանգստանալու AC- ի զրոյական խաչի մասին: Երբ PWM- ը որոշվի, Arduino- ն կշարունակի այդ պայծառությունը մինչև մյուս իմաստուններին ասելը:

Ինչպես նշվեց վերևի մեկնաբանություններում, 2 -րդ փինում DMX ընդհատում օգտագործելու և 20 ՄՀց հաճախականությամբ աշխատելու համար դուք պետք է խմբագրեք Arduino հավելվածի որոշ ֆայլեր: HardwareSerial.cpp- ում կոդի մի մասը պետք է ջնջվի, դա թույլ է տալիս գրել մեր սեփական ընդհատման զանգը: Այս ISR մեթոդը ծածկագրի ներքևում է ՝ DMX ընդհատումը կարգավորելու համար: Եթե դուք մտադիր եք օգտագործել Arduino- ն որպես ISP ծրագրավորող, համոզվեք, որ ձեր փոփոխությունները կվերադարձնեք HardwareSerial.cpp- ին, հակառակ դեպքում հացի տախտակի ATMEGA328- ը անհասանելի կլինի: Երկրորդ փոփոխությունը ավելի հեշտ փոփոխություն է: Boards.txt ֆայլը պետք է փոխվի նոր 20 ՄՀց ժամաչափի արագության:

պայծառություն [ch] = քարտեզ (DmxRxField [ch], 0, 265, 8000, 0);

Պայծառությունը քարտեզագրվում է մինչև 8000, քանի որ դա կազմում է AC սինուսային ալիքի 1/2 միկրո վայրկյան գումարը 60 Հց հաճախականությամբ: Այսպիսով, լրիվ պայծառության դեպքում 256 DMX ծրագիրը թույլ կտա AC սինուսային ալիքի 1/2 -ը միացնել 8000us- ի համար: Ես գուշակության և ստուգման միջոցով 8000 -ի եկա: 1000000us/60hz/2 = 8333 մաթեմատիկա անելը, որպեսզի դա ավելի լավ թիվ լինի, բայց 333us լրացուցիչ գլխի առկայությունը թույլ է տալիս TRIAC- ին բացել, և ծրագրի ցանկացած ցնցում, հավանաբար, լավ գաղափար է:

Arduino 1.5.3 -ում նրանք տեղափոխեցին HardwareSerial.cpp ֆայլի գտնվելու վայրը: Այն այժմ /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp- ն է: Դուք պետք է մեկնաբանեք այս ամբողջը, եթե բլոկը սկսվում է 39 -րդ տողից. # #Եթե սահմանված է (USART_RX_vect)

Հակառակ դեպքում դուք կհայտնվեք այս սխալով. Core/core.a (HardwareSerial0.cpp.o). «_Vector_18» գործառույթում ՝

Քայլ 6: Փաթեթավորեք այն

Փաթեթավորում
Փաթեթավորում
Փաթեթավորում
Փաթեթավորում
Փաթեթավորում այն
Փաթեթավորում այն

Ես վերցրեցի Menards- ի մոխրագույն նախագծի տուփը `իրենց էլեկտրական բաժնում: Էլեկտրական խրոցակի անցքերը կտրելու համար ես օգտագործել եմ փոխադարձ սղոց: Գործը ստացել է թատրոնի c- սեղմիչ, որը ամրացված է վերևում `կախման նպատակով: Կարգավիճակի լույսերը յուրաքանչյուր մուտքի և ելքի համար, որոնք կօգնեն ախտորոշել, երբ որևէ խնդիր կա: Սարքի տարբեր նավահանգիստները բացատրելու համար օգտագործվել է պիտակ ստեղծող: Յուրաքանչյուր վարդակից կից թվերը ներկայացնում են DMX ալիքի համարը: Ես միացրեցի տպատախտակն ու տրանսֆորմատորը ինչ -որ տաք սոսինձով: LED- ները խրված են տեղում led բռնակներով:

Խորհուրդ ենք տալիս: