大家好! 本文是关于如何组装和应用调光器来控制照明的。 该方案是最简单的。 设计用于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 .
, , .