家用调光器的家用调光器

大家好! 本文是关于如何组装和应用调光器来控制照明的。 该方案是最简单的。 设计用于220伏交流电源,控制-0-5伏模拟信号(arduino)或0-3.3伏(esp8266)。



1.晶体管上用于白炽灯的调光器:

方案:



组成:

Q1-IGBT晶体管IRG4BC30UD(需要散热器)
D1-整流二极管
D2-二极管电桥
Z 10V-10伏稳压二极管
4N25-光耦合器
R 100K和R 10K-电阻器
C 4.7-电容器

工作原理:用arduino晶体管放大pwm信号。

工作示例:


2.双向可控硅上的调光器,适用于白炽灯和LED可调光灯:

方案:



组成:

BT 139-双向可控硅
MOC 3021和4N25-光耦合器
R300,R10K,R50K-电阻器

工作原理:INT0-配置为中断的arduino(pin2)的输入,它接收一个信号,指示相位通过零(零检测器)。
OUT-从arduino(pin3)输出,延迟信号从该输出到达双向可控硅。

通过串口(0-255#)设置调光参数
示例:99#

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 .

, , .


-


Source: https://habr.com/ru/post/zh-CN410467/


All Articles