Простий диммер на Ардуіно

Діммер на базі Arduino — це одне з сотень простих і цікавих пристроїв, за допомогою якого можна плавно змінювати мережеве напруга від 0 до номінального значення. Кожен користувач Arduino знайде застосування настільки корисною самоделке, а досвід, отриманий під час складання своїми руками, поповнить багаж знань.

Схема і принцип її роботи

Як і більшість недорогих диммеров, дана схема працює за рахунок фазового регулювання напруги, що досягається шляхом примусового відкривання силового ключа — симистора. Принцип дії схеми наступний. Arduino на програмному рівні формує імпульси, частота яких підлаштовується опором потенціометра. Керуючий імпульс з виведення P1 проходить через оптопару MOC3021 і надходить на керуючий електрод сімістора. Він відкривається і пропускає струм до переходу напівхвилі мережевої напруги через нуль, після чого закривається. Потім приходить наступний імпульс і цикл повторюється. Завдяки зсуву керуючих імпульсів, в навантаженні формується обрізана по фронту частина синусоїди.

Щоб симистор відкривався відповідно до заданого алгоритму, частота проходження імпульсів повинна бути засінхронізірована з напругою мережі 220 В. Іншими словами Arduino повинен знати, в який момент синусоїда напруги проходить через нуль. Для цього в диммерами на елементах R3, R4 і PC814 реалізована ланцюг зворотного зв’язку, сигнал з якої надходить на висновок P2 і аналізується мікро контролером. У ланцюг детектора нуля доданий резистор R5 на 10 кому, який потрібен для підживлення вихідного транзистора оптопари.

Один силовий висновок симистора підключається до фазного проводу, а до другого — підключається навантаження. Нульовий провід мережі 220 В безпосередньо слід від клемника J1 до J2, а потім до навантаження. Застосування оптопар необхідно для гальванічної розв’язки силовий і низьковольтної частини схеми підсвічування. Потенціометр (на схемі не показаний) середнім висновком підключається на будь-який аналоговий вхід Arduino, а двома крайніми — на +5 В і «загальний».

Друкована плата і деталі збірки

Мінімум радіоелементів дозволяє сконструювати односторонню друковану плату, розмір якої не перевищує 20х35 мм. Як видно з малюнка на ній відсутній змінний резистор, щоб радіоаматор міг самостійно підібрати потенціометр відповідного форм-фактора і визначити місце його кріплення до корпусу готового підсвічування. Підключення до Arduino здійснюється через дроти, які запаюють у відповідні отвори на платі.

Для збірки своїми руками діммера, керованого Arduino, знадобляться наступні радіоелементи і деталі:

  1. Симистор BT136-600D, здатний витримувати зворотне напруга до 600 В і пропускати в навантаження струм до 4 А (природно з попередніми монтажем на радіатор). У схемі можна застосувати симистор і з більшою здатністю навантаження. Головне — забезпечити відведення тепла від його корпусу і правильно підібрати струм на керуючий електрод (довідковий параметр). При підключенні до навантаження електроприладу великої потужності ширину друкованих провідників в силовій частині схеми необхідно буде перерахувати. Як варіант, силові доріжки можна продублювати з іншого боку плати.
  2. Оптопара MOC3021 з сімісторний виходом.
  3. Оптопара PC814 з транзисторним виходом.
  4. Резистори номіналом 1 кОм, 220 Ом, 10 кОм потужністю 0,25 Вт та 2 резистора на 51 кОм потужністю 0,5 Вт.
  5. Змінний резистор на 10 кОм.
  6. Клемні колодки — 2 шт., З двома роз’ємами і кроком 5 мм.

Всі необхідні файли за проектом знаходяться в ZIP-архіві: dimmer-arduino.zip

Алгоритм управління Arduino

Програма управління симистором створена на базі таймера Timer1 і бібліотеки Cyber.Lib, завдяки чому відсутній вплив на роботу інших програмних кодів. Принцип її дії наступний. При переході напруги через нуль «від низу до верху» таймер перенастраивается на зворотний перехід «зверху вниз» і починає відлік часу відповідно до значення змінної «Dimmer». У момент спрацьовування таймера Arduino формує керуючий імпульс і симистор відкривається. При наступному переході через нуль симистор перестає пропускати струм і очікує чергове спрацьовування таймера. І так 50 разів в секунду. За регулювання затримки на відкривання симистора відповідає змінна «Dimmer». Вона зчитує і обробляє сигнал з потенціометра і може приймати значення від 0 до 255.

Область застосування діммера на Arduino

Звичайно, використовувати дорогий Arduino для управління яскравістю галогенних ламп — надлишково. Для цієї мети краще замінити звичайний вимикач диммером промислового виготовлення. Діммер на Arduino здатний вирішувати більш серйозні завдання:

  • керувати будь-якими видами активного навантаження (температурою нагріву паяльника, проточного водонагрівача і т. д.) з точним утриманням заданого параметра;
  • одночасно виконувати кілька функцій. Наприклад, забезпечувати плавне включення вранці (відключення ввечері) світла, а також контролювати температуру і вологість тераріуму.

Побачити яким чином змінюється напруга в навантаженні можна за допомогою осцилографа. Для цього до вихідних клем діммера припаюють резистивний дільник, завдяки якому сигнал в контрольній точці повинен зменшитися приблизно в 20 разів. Після цього до делителю під’єднують щупи осцилографа і подають харчування на схему. Змінюючи положення ручки потенціометра, на екрані осцилографа можна спостерігати наскільки плавно Arduino управляє симистором і присутні при цьому високочастотні перешкоди.

Авторство вищенаведених матеріалів належить Youtube каналу AlexGyver.

Ссылка на основную публикацию