Halo semuanya! Artikel ini membahas tentang cara merakit dan menerapkan dimmer untuk mengontrol pencahayaan. Skema adalah yang paling sederhana. Dirancang untuk listrik AC 220 volt, kontrol - sinyal analog 0-5 volt (arduino) atau 0-3,3 volt (esp8266).

1. Dimmer untuk lampu pijar, pada transistor:
Skema:

Komposisi:
Q1 - Transistor IGBT IRG4BC30UD (diperlukan radiator)
D1 - dioda penyearah
D2 - jembatan dioda
Z 10V - 10 volt dioda zener
4N25 - optocoupler
R 100K dan R 10K - resistor
C 4.7 - kapasitor
Prinsip operasi: amplifikasi sinyal PWM dengan transistor Arduino.
Contoh kerja:
2. Dimmer pada triac, cocok untuk lampu pijar dan LED dimmable:
Skema:

Komposisi:
BT 139 - Triac
MOC 3021 dan 4N25 - Optocouplers
R300, R10K, R50K - Resistor
Prinsip operasi: INT0 - input ke arduino (pin2) yang dikonfigurasi untuk menyela, ia menerima sinyal bahwa fase melewati nol (detektor nol).
OUT - output dari arduino (pin3) dari mana sinyal keterlambatan tiba di triac.
Parameter peredupan diatur melalui port serial (0-255 #)
Contoh: 99 #
Program untuk arduino 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 .
, , .