Мазмуну:

4 Ch DMX Dimmer: 6 кадам
4 Ch DMX Dimmer: 6 кадам

Video: 4 Ch DMX Dimmer: 6 кадам

Video: 4 Ch DMX Dimmer: 6 кадам
Video: Soldering iron with automatic tin wire 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, 5v жөнгө салуучу
  6. BTA24-600, 600V 25A TRIAC
  7. 20MHz кристалл
  8. 9V электр менен камсыздоо

Жолдо бир нече тоскоолдуктар жана сабактар алынды

  • Эгерде сиз реестр боюнча эксперт болбосоңуз, ATMEGA328P менен карманыңыз
  • Туура эмес optocouplers. Zero Cross кереги жок
  • Жогорку каналдар туруксуз болчу. 16 МГцтен 20 МГцке которуу бул маселени чечти
  • DMX статусунун жарыгы болушу мүмкүн эмес, анткени үзгүлтүккө чалуу абдан тез болушу керек болчу
  • DC күчү өтө туруктуу болушу керек, ар кандай толкун DMX сигналын абдан ызы -чууга алып келет

TRIAC дизайны MRedmonдон келген, рахмат.

2 -кадам: Райондук дизайн

Райондук дизайн
Райондук дизайн

Мен схеманы иштеп чыгуу үчүн Macта Fritzing 7.7 колдондум.

Жогорудагы MAX485 DMX сигналын Arduino окуй турган нерсеге айландыруу үчүн колдонулат.

Сол жактагы 4N35 AC сигналынын нөл крестин аныктоо үчүн колдонулат, андыктан Arduino Sine толкунунун өндүрүшүн качан өчүрүү керек экенин билет. Программалык камсыздоо бөлүмүндө аппараттык жана программалык камсыздоо кандайча аракеттенери жөнүндө көбүрөөк маалымат.

Мен бул проект Европада 230В жана 50Гц менен иштейби деген суроону алдым. Мен Европада жашабайм жана бул дизайнды текшерүү үчүн ал жакка көп барбайм. Бул иштеши керек, жөн гана ар кандай жыштыктын кечигүүсү үчүн коддун жарыктыгын тактоо линиясын өзгөртүү керек.

3 -кадам: Коваринин Райондук Дизайн

Коваринин Райондук Дизайн
Коваринин Райондук Дизайн
Коваринин Райондук Дизайн
Коваринин Райондук Дизайн

Менин веб -сайтымды түзүү процесси аркылуу мен бир нече электрондук почта аркылуу сүйлөшүүлөрдү жүргүзө алдым. Алардын бири Ковари Андрей менен болгон, ал бул долбоордун негизинде схеманы иштеп чыккан жана анын дизайны менен бөлүшкүсү келген. Мен схеманын конструктору эмесмин, бирок бул Eagle долбоору. Эгер сиз аны колдонсоңуз, ал сиз үчүн кандай иштээрин айтып бериңиз.

4 -кадам: Джакомонун схемасы

Джакомонун схемасы
Джакомонун схемасы

Мезгил -мезгили менен адамдар мага бул үйрөткүч менен кылган кызыктуу адаптацияларын билдирип турушат жана мен аларды баарыңар менен бөлүшүшүм керек деп ойлодум.

Giacomo микросхеманы өзгөрттү, ошондуктан борбордук траптык трансформатор талап кылынган жок. ПКБ бир тараптуу жана үйдө эки тараптуу кыла албагандар үчүн дагы жеткиликтүү чечим болушу мүмкүн (бир аз кыйын).

5 -кадам: Программалык камсыздоо

Программалык камсыздоо
Программалык камсыздоо

Мен кесиби боюнча программист -инженермин, ошондуктан бул бөлүк эң деталдуу.

Жаз: Arduino биринчи жолу жүктөлгөндө, setup () ыкмасы чакырылат. Ал жерде мен кийинчерээк колдонула турган бир нече өзгөрмөлөрдү жана чыгаруу жерлерин койдум. zeroCrossInterupt () AC оң терс чыңалууга өткөн сайын чакырылат/ чуркайт. Бул ар бир канал үчүн zeroCross желегин орнотот жана таймерди баштайт. Loop () ыкмасы дайыма түбөлүк деп аталат. Чыгууну күйгүзүү үчүн TRIAC 10 микросекундга гана иштетилиши керек. Эгерде ал TRIAC жана zeroCross ишке кирише турган болсо, анда AC фазасынын аягына чейин өндүрүш күйгүзүлөт.

Мен бул долбоорду баштоо үчүн Интернетте бир нече мисалдар бар болчу. Мен таба албаган эң башкы нерсе, бир нече TRIAC чыгышы болду. Башкалар кечигүү функциясын PWM чыгаруу үчүн колдонушкан, бирок бул менин учурда иштебейт, анткени ATMEGA дайыма DMXти угушу керек. Мен муну TRIACти нөл-айкаштан кийин көп мс ылдамдатуу менен чечтим. ТРИАКты нөлгө жакын жакындатуу менен күнөө толкуну көбүрөөк чыгат.

Бул жерде 120VAC күнөө жарымы осциллографта кандай көрүнөт, жогоруда.

ISP814 үзгүлтүккө 1 туташкан. Ошентип, AC позитивден терске же тескерисинче өтөт деген сигналды алганда, ал ар бир канал үчүн zeroCrossту чындыкка коюп, секундомерди баштайт.

Loop () ыкмасында, ал нөл канаттын чын экенин жана анын активдешүү убактысы өтүп кеткенин текшерип, TRIACти 10 микросекундка импульстайт. Бул TRIAC күйгүзүү үчүн жетиштүү. TRIAC күйгүзүлгөндөн кийин, zeroCross чейин күйүп турат. Жарык DMX 3% тегерегинде болгондо жаркырап турмак, андыктан мен аны алдын алуу үчүн кесүүнү кошуп койгом. Бул Ардуинонун өтө жай иштешине алып келди жана импульс кээде акыркы 4% толкундун ордуна кийинки күнөө толкунун козгойт.

Ошондой эле циклда () мен абалдын диоддорунун PWM маанисин койгом. Бул светодиоддор Arduino тарабынан чыгарылган ички PWMди колдоно алышат, анткени биз ACC zeroCross жөнүндө тынчсыздануунун кажети жок. PWM орнотулгандан кийин, Arduino башка акылмандыкка чейин ошол жаркырактыкта уланат.

Жогорку комментарийлерде айтылгандай, DMX үзүлүшүн 2 -пинде колдонуу жана 20МГцте иштөө үчүн Arduino тиркемесинин айрым файлдарын түзөтүүгө туура келет. HardwareSerial.cpp ичинде коддун бир бөлүгү жок кылынышы керек, бул бизге өзүбүздүн үзгүлтүккө чалуубузду жазууга мүмкүндүк берет. Бул ISR ыкмасы DMX үзгүлтүккө учуроо үчүн коддун ылдый жагында. Эгерде сиз Arduino программасын провайдер катары колдоно турган болсоңуз, анда өзгөртүүлөрдү HardwareSerial.cppке кайтарууну унутпаңыз, антпесе нан тактасындагы ATMEGA328 жеткиликсиз болуп калат. Экинчи өзгөртүү - жеңилирээк. Board.txt файлын жаңы 20 МГц саат ылдамдыгына өзгөртүү керек.

жарыктык [ch] = карта (DmxRxField [ch], 0, 265, 8000, 0);

Жарыктык 8000ге жетет, анткени бул 60 Гцте AC AC синус толкунунун 1/2 микросекундунун өлчөмү. Ошентип, 256 DMX толук жарыктыгында, программа 8000us үчүн AC синус толкунунун 1/2 калтырат. Мен болжолдоо жана текшерүү аркылуу 8000 менен келдим. 1000000us/60hz/2 = 8333 математикасын жасоо, бул жакшы сан болушу мүмкүн, бирок 333usтун үстүндө болушу TRIACтын ачылышына мүмкүндүк берет жана программанын кандайдыр бир дүрбөлөңү, балким, жакшы идея.

Arduino 1.5.3 боюнча алар HardwareSerial.cpp файлынын жайгашкан жерин которушту. Бул азыр

Болбосо, бул ката менен бүтөсүз: core/core.a (HardwareSerial0.cpp.o): "_vector_18" функциясында:

6 -кадам: Аны таңгактоо

Таңгактоо
Таңгактоо
Таңгактоо
Таңгактоо
Таңгактоо
Таңгактоо

Мен Менардардын электр бөлүмүндөгү боз долбоордун кутусун алдым. Электр сайгычтарынын тешиктерин кесүү үчүн поршендик арааны колдондум. Корпустун үстүнө театрдын с-кыскычын илип коюшту. Качандыр бир көйгөй бар болсо, диагноз коюуга жардам берүү үчүн ар бир киргизүү жана чыгаруу үчүн абал жарыктары. Этикетка жасоочу түзмөктөгү ар кандай портторду түшүндүрүү үчүн колдонулган. Ар бир сайгычтын жанындагы сандар DMX каналынын номерин билдирет. Мен схеманы жана трансформаторду ысык клей менен чаптадым. Светодиоддор кармагычтар менен тыгылып калган.

Сунушталууда: