مرحبا بالجميع! تتناول هذه المقالة كيفية تجميع المخفتات وتطبيقها للتحكم في الإضاءة. المخططات هي الأبسط. مُصمم لطاقة تيار متردد 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 .
, , .