مرحبا بالجميع! تتناول هذه المقالة كيفية تجميع المخفتات وتطبيقها للتحكم في الإضاءة. المخططات هي الأبسط. مُصمم لطاقة تيار متردد 220 فولت ، تحكم - إشارة تناظرية 0-5 فولت (اردوينو) أو 0-3.3 فولت (esp8266)

1. باهتة للمصابيح المتوهجة ، على الترانزستور:
مخطط:

التكوين:
Q1 - الترانزستور IGBT IRG4BC30UD (مطلوب المبرد)
D1 - ديود المعدل
D2 - جسر الصمام الثنائي
Z 10V - ديود زينر 10 فولت
4N25 - optocoupler
R 100K و R 10K - المقاومات
ج 4.7 - مكثف
مبدأ التشغيل: تضخيم إشارة pwm بترانزستور اردوينو.
مثال العمل:
2. باهتة على الترياك ، مناسبة للمصابيح المتوهجة و LED عاكس:
مخطط:

التكوين:
BT 139 - ترياك
MOC 3021 و 4 N25 - Optocouplers
R300 ، R10K ، R50K - المقاومات
مبدأ التشغيل: INT0 - الإدخال إلى arduino (pin2) الذي تم تكوينه للمقاطعة ، يتلقى إشارة بأن المرحلة تمر من خلال صفر (كاشف صفري).
OUT - خرج من اردوينو (pin3) الذي تصل منه إشارة التأخير إلى الترياك.
يتم تعيين معلمة التعتيم عبر المنفذ التسلسلي (0-255 #)
مثال: 99 #
برنامج اردوينو UNO//#include <EEPROM.h>
int dimming=100,ac_dimm;
char incomB='0';
String openhab="";
void setup()
{
Serial.begin(9600);
Serial.println("Setup...");
pinMode(3,OUTPUT); // Set AC Dimmer
delay(1000);
Serial.println("Start 0-255#");
attachInterrupt(0, start_dimming, RISING); //pin 2
myPrint();
}
void loop()
{
myIncoming();
}
void myIncoming()
{
if(Serial.available()>0)
{
incomB=Serial.read();
if(incomB=='\n' || incomB=='#')
{
if(openhab.toInt()>=0 && openhab.toInt()<256)
{
dimming=openhab.toInt();
}
openhab="";
myPrint();
}
else
openhab+=incomB;
}
}
void start_dimming()
{
if(dimming>ac_dimm)
ac_dimm++;
if(dimming<ac_dimm)
ac_dimm--;
if(ac_dimm>1)
{
delayMicroseconds(999);
delayMicroseconds(31*(256-ac_dimm));
digitalWrite(3, HIGH);
delayMicroseconds(20);
digitalWrite(3, LOW);
//Serial.println("test");
}
}
void myPrint()
{
Serial.print("dimming = ");
Serial.println(dimming);
}
( ) RC .
, , .