Სარჩევი:

4 Ch DMX Dimmer: 6 ნაბიჯი
4 Ch DMX Dimmer: 6 ნაბიჯი

ვიდეო: 4 Ch DMX Dimmer: 6 ნაბიჯი

ვიდეო: 4 Ch DMX Dimmer: 6 ნაბიჯი
ვიდეო: 1. Q Light Controller + კონტროლერი პლუს QLC + -თან დაიწყო. ფიქრები და ფუნქციები 2024, ნოემბერი
Anonim
4 ჩ DMX დიმერი
4 ჩ DMX დიმერი

კონცეფციაა პორტატული მბზინავის დიზაინის შექმნა და შექმნა.

მოთხოვნები:

  • DMX512 კონტროლირებადი
  • 4 არხი
  • პორტატული
  • ადვილად გამოსაყენებელი

ეს იდეა შევთავაზე ჩემს პროფესორს WSU- ში, რადგან მინდოდა თეატრისა და კომპიუტერისადმი ჩემი ვნებების გაერთიანება. ეს პროექტი ოდნავ ჰგავდა ჩემს უფროს პროექტს თეატრალურ განყოფილებაში. თუ თქვენ გაქვთ რაიმე კომენტარი ან შეკითხვა, მე სიამოვნებით დაგეხმარებით.

მომავალი განვითარება შეიძლება შეიცავდეს მეტ არხს, 5 პინიან DMX კონექტორს, DMX პასტროუსს, 8 დიპლომატს არხის შესაცვლელად, ბეჭდური მიკროსქემის დაფა.

მე გადმოვიღე ეს პროექტი https://danfredell.com/df/Projects/Entries/2013/1/6_DMX_Dimmer.html იმიტომ, რომ ის მაინც პოპულარულია. ასევე დავკარგე iWeb თესლის ფაილი, ასე რომ ადვილად ვეღარ გავაახლებ მას. კარგი იქნება, თუ ადამიანებს საშუალება ექნებათ ერთმანეთს გაუზიარონ თავიანთი შეკითხვები პროექტზე.

ნაბიჯი 1: აპარატურის შეგროვება

აპარატურის შეკრება
აპარატურის შეკრება

გამოყენებული აპარატურა: უმეტესობა შეკვეთილია Tayda Electronics– ისგან. მე მომწონს ისინი დიგიკეიზე უფრო მცირე და ადვილად გასაგები შერჩევის გამო.

  1. ATMEGA328, მიკროკონტროლი
  2. MOC3020, TRIAC Optocoupler. არა ZeroCross.
  3. MAX458 ან SN75176BP, DMX მიმღები
  4. ISP814, AC ოპტოწყვილერი
  5. 7805, 5 ვ რეგულატორი
  6. BTA24-600, 600V 25A TRIAC
  7. კრისტალი 20 MHz
  8. 9V კვების ბლოკი

გზაზე რამდენიმე დაბრკოლება და გაკვეთილი

  • თუ არ ხართ რეგისტრაციის ექსპერტი, მიჰყევით ATMEGA328P- ს
  • არასწორი ოპტოწყვილები. თქვენ არ გინდათ ნულოვანი ჯვარი
  • მაღალი არხები არასტაბილური იყო. 16 მჰც – დან 20 მჰც – ზე გადასვლამ გადაჭრა ეს საკითხი
  • შეუძლებელია DMX სტატუსის შუქის არსებობა, რადგან შეწყვეტის ზარი უნდა იყოს ძალიან სწრაფი
  • DC სიმძლავრე უნდა იყოს უკიდურესად სტაბილური, ნებისმიერი ტალღა გამოიწვევს DMX სიგნალის გახდას ძალიან ხმაურიან

TRIAC დიზაინი მოვიდა MRedmon– დან, მადლობა.

ნაბიჯი 2: სქემის დიზაინი

წრიული დიზაინი
წრიული დიზაინი

მე გამოვიყენე Fritzing 7.7 Mac– ზე, ჩემი სქემის შესაქმნელად.

MAX485 ზედა ნაწილში გამოიყენება DMX სიგნალის გადასაყვანად Arduino– ს წაკითხვად.

4N35 მარცხნივ გამოიყენება AC სიგნალის ნულოვანი ჯვრის გამოსავლენად, ასე რომ არდუინომ იცის, რა დროს შეამციროს სინუსური ტალღის გამომუშავება. უფრო მეტი იმის შესახებ, თუ როგორ ურთიერთქმედებს აპარატურა და პროგრამული უზრუნველყოფა პროგრამული უზრუნველყოფის განყოფილებაში.

მე მივიღე კითხვა, იმუშავებს თუ არა ეს პროექტი ევროპაში 230V და 50Hz? მე არ ვცხოვრობ ევროპაში და არც ხშირად ვმოგზაურობ იქ, რომ შევძლო ამ დიზაინის გამოცდა. ის უნდა მუშაობდეს, თქვენ უბრალოდ უნდა შეცვალოთ კოდის სიკაშკაშის დროის ხაზი სხვადასხვა სიხშირის დროის დაყოვნებისთვის.

ნაბიჯი 3: კოვრის სქემის დიზაინი

კოვრის სქემის დიზაინი
კოვრის სქემის დიზაინი
კოვრის სქემის დიზაინი
კოვრის სქემის დიზაინი

ჩემი ვებსაიტის შექმნის პროცესის განმავლობაში მე შევძელი რამდენიმე ელ.ფოსტის საუბარი. ერთი იყო კოვარი ანდრეისთან, რომელმაც გააკეთა სქემის დიზაინი ამ პროექტის საფუძველზე და სურდა თავისი დიზაინის გაზიარება. მე არ ვარ მიკროსქემის დიზაინერი, მაგრამ ეს არწივის პროექტია. ნება მომეცით ვიცი როგორ მუშაობს თქვენთვის, თუ თქვენ იყენებთ მას.

ნაბიჯი 4: ჯაკომოს სქემის დიზაინი

ჯაკომოს სქემის დიზაინი
ჯაკომოს სქემის დიზაინი

დროდადრო ხალხი გამომიგზავნის იმ საინტერესო ადაპტაციებით, რაც მათ გააკეთეს ამ სასწავლო ინსტრუქციით და მივხვდი, რომ თქვენ უნდა გაგიზიაროთ ისინი.

ჯაკომომ შეცვალა წრე, ამიტომ ცენტრალურ ტრანსფორმატორს არ სჭირდებოდა. PCB არის ცალმხრივი და შეიძლება იყოს უფრო ხელმისაწვდომი გამოსავალი მათთვის, ვისაც არ შეუძლია ორმაგი მხარე სახლში (ცოტა რთული).

ნაბიჯი 5: პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა

მე პროფესიით პროგრამული უზრუნველყოფის ინჟინერი ვარ, ამიტომ ეს ნაწილი არის ყველაზე დეტალური.

Summery: როდესაც Arduino პირველად ჩატვირთავს setup () მეთოდს ეწოდება. იქ შევქმენი რამოდენიმე ცვლადი და გამომავალი ადგილი, რომელიც მოგვიანებით გამოვიყენებ. zeroCrossInterupt () ეწოდება/ გადის ყოველ ჯერზე, როდესაც AC გადადის დადებითიდან უარყოფით ძაბვაზე. ის დააყენებს zeroCross დროშას ყველა არხისთვის და დაიწყებს ტაიმერს. მარყუჟის () მეთოდს უწოდებენ მუდმივად სამუდამოდ. გამომავალი ჩართვისთვის TRIAC მხოლოდ 10 მიკროწამში უნდა გააქტიურდეს. თუ დროა დაიწყოს TRIAC და zeroCross მოხდა, გამომავალი ჩართული იქნება AC ფაზის დასრულებამდე.

იყო რამოდენიმე მაგალითი ინტერნეტით, რომლითაც მე ვიწყებდი ამ პროექტის დაწყებას. მთავარი, რაც მე ვერ ვიპოვე, იყო TRIAC– ის მრავალჯერადი გამომუშავება. სხვებმა გამოიყენეს შეფერხების ფუნქცია PWM გამომავალი, მაგრამ ეს არ იმუშავებდა ჩემს შემთხვევაში, რადგან ATMEGA უნდა უსმენდეს DMX– ს ყოველთვის. მე ეს მოვაგვარე TRIAC– ის იმპულსით ამდენ ms– ზე ნულოვანი ჯვრის შემდეგ. TRIAC- ის ნულოვანი ჯვართან მიახლოებით უფრო მეტი ცოდვის ტალღა გამოდის.

აი, როგორ გამოიყურება ნახევარი 120VAC ცოდვის ტალღა ოსცილოსკოპზე, ზემოთ.

ISP814 უკავშირდება შეწყვეტას 1. ასე რომ, როდესაც ის იღებს სიგნალს, რომ AC გადადის პოზიტიურიდან უარყოფითზე ან პირიქით, ის ადგენს zeroCross თითოეული არხის ნამდვილს და იწყებს წამზომი.

მარყუჟის () მეთოდით, ის ამოწმებს ყველა არხს, არის თუ არა zeroCross ჭეშმარიტი და მისი გააქტიურების დრო გავიდა, ის პულსირებს TRIAC 10 მიკროწამს. ეს საკმარისია იმისათვის, რომ ჩართოთ TRIAC. TRIAC ჩართვის შემდეგ ის დარჩება zeroCross– მდე. სინათლე ციმციმებდა, როდესაც DMX იყო დაახლოებით 3%, ასე რომ მე დავამატე შეკვეთა, რომ თავიდან ავიცილო. ეს გამოწვეული იყო, რომ არდუინო იყო ძალიან ნელი, და პულსი ზოგჯერ გამოიწვევს მომდევნო ცოდვის ტალღას ტალღის ბოლო 4% -ის ნაცვლად.

ასევე მარყუჟში () მე დავაყენე სტატუსის LED- ების PWM მნიშვნელობა. ამ LED- ებს შეუძლიათ გამოიყენონ Arduino– ს მიერ გამომუშავებული შიდა PWM, რადგან ჩვენ არ გვჭირდება ფიქრი AC– ის zeroCross– ზე. PWM- ის დაყენებისთანავე Arduino გააგრძელებს ამ სიკაშკაშეს მანამ, სანამ სხვა ბრძენებს არ ეტყვიან.

როგორც აღინიშნა ზედა კომენტარებში იმისათვის, რომ გამოიყენოთ DMX შეწყვეტა პინ 2 -ზე და გაუშვათ 20 MHz თქვენ მოგიწევთ Arduino პროგრამის ზოგიერთი ფაილის რედაქტირება. HardwareSerial.cpp– ში კოდის ნაწილი უნდა წაიშალოს, ეს გვაძლევს საშუალებას დავწეროთ ჩვენი შეწყვეტის ზარი. ეს ISR მეთოდი არის კოდის ბოლოში, რათა გაუმკლავდეს DMX შეფერხებას. თუ თქვენ აპირებთ გამოიყენოთ Arduino როგორც პროვაიდერი პროგრამისტი, დარწმუნდით, რომ დააბრუნეთ თქვენი ცვლილებები HardwareSerial.cpp, წინააღმდეგ შემთხვევაში პურის დაფაზე ATMEGA328 მიუწვდომელი იქნება. მეორე ცვლილება უფრო ადვილია. Boards.txt ფაილი უნდა შეიცვალოს 20 მჰც ახალი საათის სიჩქარით.

სიკაშკაშე [ch] = რუკა (DmxRxField [ch], 0, 265, 8000, 0);

სიკაშკაშე ასახავს 8000 -ს, რადგან ეს არის მიკროწამი 1/2 AC სინუსური ტალღის 60 ჰერცზე. სრული სიკაშკაშე 256 DMX პროგრამა დატოვებს 1/2 AC სინუს ტალღას ჩართული 8000us. 8000 გამოვიცანი გამოცნობისა და შემოწმების საშუალებით. 1000000us/60hz/2 = 8333 მათემატიკის გაკეთება, რაც შეიძლება უკეთესი რიცხვი იყოს, მაგრამ თავზე დამატებით 333us- ის გაშვება საშუალებას აძლევს TRIAC- ს გახსნას და პროგრამის ნებისმიერი დარტყმა ალბათ კარგი იდეაა.

Arduino 1.5.3– ზე, რომ მათ გადაინაცვლეს HardwareSerial.cpp ფაილის ადგილმდებარეობა. ახლა ეს არის

წინააღმდეგ შემთხვევაში თქვენ დაასრულებთ ამ შეცდომას: core/core.a (HardwareSerial0.cpp.o): ფუნქციაში `_vector_18 ':

ნაბიჯი 6: შეფუთვა

შეფუთვა
შეფუთვა
შეფუთვა
შეფუთვა
შეფუთვა
შეფუთვა

მე ავიღე ნაცრისფერი პროექტის ყუთი მენარდში მათ ელექტრო განყოფილებაში. გამოსაყენებელი ხერხი გამოვიყენე ელექტრული დანამატის ხვრელების ამოსაკვეთად. საქმეს მოჰყვა თეატრის c-clamp მიმაგრებული თავზე ჩამოკიდებული მიზნით. სტატუსი ანათებს ყველა შეყვანისა და გამოსვლისთვის, რათა დაგეხმაროთ დიაგნოზის დადგენაში, თუკი ოდესმე პრობლემაა. ეტიკეტის მწარმოებელი გამოიყენებოდა მოწყობილობაზე არსებული სხვადასხვა პორტების ასახსნელად. თითოეული დანამატის გვერდით რიცხვები წარმოადგენს DMX არხის ნომერს. მიკროსქემის დაფა და ტრანსფორმატორი დავამატე ცხელი წებოთი. LED- ები გამყარებულია ადგილზე led დამჭერებით.

გირჩევთ: