فهرست مطالب:

4 Ch DMX Dimmer: 6 مرحله
4 Ch DMX Dimmer: 6 مرحله

تصویری: 4 Ch DMX Dimmer: 6 مرحله

تصویری: 4 Ch DMX Dimmer: 6 مرحله
تصویری: DIY Stage Lighting (from a garden pot?!?) | STAGE FLOODS | PAR CANS 2024, جولای
Anonim
4 چشمی DMX Dimmer
4 چشمی DMX Dimmer

مفهوم طراحی و ایجاد یک دیمر قابل حمل است.

الزامات:

  • DMX512 قابل کنترل
  • 4 کانال
  • قابل حمل
  • آسان برای استفاده

من این ایده را به استادم در WSU پیشنهاد دادم زیرا می خواستم اشتیاق خود را برای تئاتر و رایانه ترکیب کنم. این پروژه کمی شبیه پروژه ارشد من در گروه تئاتر عمل کرد. اگر نظر یا س questionالی دارید ، خوشحال می شوم کمکتان کنم.

توسعه آینده می تواند شامل کانال های بیشتر ، اتصال دهنده 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 ، Optocoupler TRIAC. نه ZeroCross.
  3. گیرنده MAX458 یا SN75176BP ، DMX
  4. ISP814 ، AC Optocoupler
  5. 7805 ، تنظیم کننده 5 ولت
  6. BTA24-600 ، 600V 25A TRIAC
  7. کریستال 20 مگاهرتز
  8. منبع تغذیه 9 ولت

چند مانع و درس آموخته در طول راه

  • اگر متخصص ثبت نام نیستید ، از ATMEGA328P استفاده کنید
  • اپتوکوبلرهای اشتباه شما صفر کراس را نمی خواهید
  • کانالهای بالا ناپایدار بودند. تغییر از 16 مگاهرتز به 20 مگاهرتز این مشکل را حل کرد
  • نمی توان چراغ وضعیت DMX داشت زیرا تماس وقفه باید بسیار سریع باشد
  • قدرت DC باید بسیار پایدار باشد ، هرگونه امواج باعث می شود سیگنال DMX بسیار پر سر و صدا شود

طراحی TRIAC از MRedmon بود ، با تشکر.

مرحله 2: طراحی مدار

طراحی مدار
طراحی مدار

من از Fritzing 7.7 در Mac برای طراحی مدار خود استفاده کردم.

MAX485 در بالا برای تبدیل سیگنال DMX به چیزی که آردوینو می تواند بخواند استفاده می شود.

4N35 در سمت چپ برای تشخیص صفر صفر سیگنال AC استفاده می شود ، بنابراین آردوینو می داند در چه زمانی خروجی موج سینوسی را کم می کند. در مورد نحوه تعامل سخت افزار و نرم افزار در قسمت نرم افزار بیشتر بدانید.

من این سوال را دارم که آیا این پروژه در اروپا با 230V و 50Hz کار می کند؟ من در اروپا زندگی نمی کنم و اغلب به آنجا سفر نمی کنم تا بتوانم این طرح را آزمایش کنم. باید کار کند ، فقط باید خط زمان بندی روشنایی کد را برای تاخیر زمان فرکانس مختلف تغییر دهید.

مرحله 3: طراحی مدار کواری

طراحی مدار کواری
طراحی مدار کواری
طراحی مدار کواری
طراحی مدار کواری

از طریق راه اندازی وب سایت خود ، من توانستم چند مکالمه ایمیلی داشته باشم. یکی با کواری آندری بود که بر اساس این پروژه یک طراحی مدار انجام داد و می خواست طرح خود را به اشتراک بگذارد. من طراح صفحه مدار نیستم اما این پروژه ایگل است. در صورت استفاده از آن به من اطلاع دهید که چگونه کار می کند.

مرحله 4: طراحی مدار جیاکومو

طراحی مدار جیاکومو
طراحی مدار جیاکومو

هر از گاهی مردم با اقتباس های هیجان انگیزی که با این برنامه آموزشی انجام داده اند به من پیام می دهند و من فکر کردم که باید آنها را با همه شما به اشتراک بگذارم.

جیاکومو مدار را تغییر داد ، بنابراین نیازی به ترانسفورماتور ضربه گیر مرکزی نبود. PCB یک طرفه است و می تواند راه حل مقرون به صرفه تری برای افرادی باشد که نمی توانند در خانه دو طرفه انجام دهند (کمی دشوار است).

مرحله 5: نرم افزار

نرم افزار
نرم افزار

من یک مهندس نرم افزار در تجارت هستم ، بنابراین این قسمت دقیق ترین است.

Summery: وقتی اولین بار آردوینو راه اندازی شد ، متد setup () نامیده می شود. در آنجا تعدادی از متغیرها و مکانهای خروجی را تنظیم کردم تا بعداً مورد استفاده قرار گیرد. zeroCrossInterupt () هر بار که AC از ولتاژ مثبت به منفی عبور می کند/ اجرا می شود. پرچم zeroCross را برای هر کانال تنظیم کرده و زمان سنج را شروع می کند. روش حلقه () به طور مداوم برای همیشه نامیده می شود. برای روشن کردن خروجی ، TRIAC فقط باید 10 میکروثانیه فعال شود. اگر زمان فعال کردن TRIAC و zeroCross فرا رسیده باشد ، خروجی تا پایان مرحله AC روشن می شود.

چند مثال در اینترنت وجود داشت که من برای شروع این پروژه از آنها استفاده کردم. اصلی ترین چیزی که من نتوانستم پیدا کنم داشتن چندین خروجی TRIAC بود. دیگران از عملکرد تأخیر برای PWM خروجی استفاده کردند ، اما در مورد من کار نمی کند زیرا ATMEGA باید دائماً به DMX گوش دهد. من این مسئله را با ضربه زدن به TRIAC در میلی ثانیه پس از صفر متقاطع حل کردم. با ضربه زدن به TRIAC به صفر متقابل ، بیشتر موج sin تولید می شود.

در اینجا شکل موج نیمی از 120VAC روی اسیلوسکوپ ، در بالا نشان داده شده است.

ISP814 به قطع 1 متصل است. بنابراین هنگامی که سیگنال دریافت می کند که AC از مثبت به منفی تبدیل می شود یا برعکس ، zeroCross را برای هر کانال روی true قرار می دهد و کرنومتر را شروع می کند.

در روش حلقه () ، همه کانالها را بررسی می کند که zeroCross صحیح باشد و زمان فعال شدن آن به پایان رسیده است و TRIAC را به مدت 10 میکرو ثانیه می زند. این برای روشن شدن TRIAC کافی است. هنگامی که TRIAC روشن است تا صفر کراس روشن می ماند. هنگامی که DMX حدود 3 was بود ، چراغ چشمک می زد ، بنابراین من برای جلوگیری از آن ، برش را به آن اضافه کردم. این امر باعث شد که آردوینو بسیار کند باشد و پالس بعضی مواقع به جای 4 درصد موج بعدی ، موج گناه بعدی را آغاز می کند.

همچنین در حلقه () مقدار PWM LED های وضعیت را تنظیم می کنم. این LED ها می توانند از PWM داخلی تولید شده توسط آردوینو استفاده کنند زیرا ما مجبور نیستیم نگران zeroCross AC باشیم. پس از تنظیم PWM ، آردوینو تا روشنایی دیگر به همان روشنایی ادامه می دهد.

همانطور که در نظرات بالا ذکر شد ، برای استفاده از وقفه DMX در پین 2 و اجرا در 20 مگاهرتز ، باید برخی از فایل های برنامه Arduino را ویرایش کنید. در HardwareSerial.cpp یک تکه کد باید حذف شود ، این به ما اجازه می دهد تا تماس وقفه خود را بنویسیم. این روش ISR در پایین کد برای رسیدگی به وقفه DMX قرار دارد. اگر می خواهید از Arduino به عنوان برنامه نویس ISP استفاده کنید ، مطمئن شوید که تغییرات خود را به HardwareSerial.cpp برگردانید ، در غیر این صورت ATMEGA328 روی تخته نان غیرقابل دسترسی است. دومین تغییر ساده تر است. فایل boards.txt باید به سرعت کلاک جدید 20 مگاهرتز تغییر کند.

روشنایی [ch] = نقشه (DmxRxField [ch] ، 0 ، 265 ، 8000 ، 0) ؛

میزان روشنایی به 8000 می رسد زیرا این مقدار میکرو ثانیه 1/2 موج سینوسی AC در 60 هرتز است. بنابراین در روشنایی کامل 256 DMX ، برنامه 1/2 موج سینوسی AC را برای 8000 درجه روشن می گذارد. من از طریق حدس و بررسی 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 شروع شود:

در غیر این صورت با این خطا روبرو می شوید: core/core.a (HardwareSerial0.cpp.o): در عملکرد "_vector_18":

مرحله 6: بسته بندی آن

بسته بندی آن
بسته بندی آن
بسته بندی آن
بسته بندی آن
بسته بندی آن
بسته بندی آن

من جعبه خاکستری پروژه را در Menards در قسمت برق آنها برداشتم. من از یک اره رفت و برگشتی برای برش سوراخ های دوشاخه برق استفاده کردم. این کیف دارای یک گیره c تئاتر است که به منظور آویزان کردن به بالا متصل شده است. چراغهای وضعیت برای هر ورودی و خروجی برای کمک به تشخیص در صورت وجود هرگونه مشکل. از برچسب ساز برای توضیح پورت های مختلف دستگاه استفاده شد. اعداد کنار هر پلاگین نشان دهنده شماره کانال DMX است. مدار و ترانس را با مقداری چسب حرارتی وصل کردم. LED ها با نگهدارنده های led در جای خود چسبیده اند.

توصیه شده: