发表于:2010/5/24 13:54:52
#0楼
0 引言
直流系统闪光继电器的主要作用是提供闪光电源,当开关事故跳闸发出事故音响后,值班人员可根据指示灯闪烁情况迅速判断跳闸回路,及时处理故障。电磁式闪光继电器存在的问题是闪烁频率和占空比不稳定,受外接指示灯的内阻影响较大。指示灯内阻大会出现闪光继电器不动作现象,指示灯内阻小可能会出现占空比过大,给人以指示灯常亮的错觉。典型的问题是普通指示灯更换为发光二极管指示灯后,内阻变大,闪光继电器不动作,为解决这一问题设计了无触点闪光继电器,对电磁式闪光继电器进行更换。
1 硬件设计
无触点闪光继电器由开关电源、单片机p89lpc901、大功率场效应管等电子元件组成,原理图如图1。 p89lpc901是一款只有8个引脚的微控制器,适合于许多要求高集成度、低成本的场合,可以满足多方面的性能要求,内部集成了128字节ram数据存储器、1kb的flash程序存储器、7.373mhz振荡器、复位电路和电压比较器等系统级的功能,这样可大大减少元件的数目和电路板面积并降低系统的成本。
单片机除了电源引脚,还用到了p0.4、p1.2、p3.0这3个引脚,其中p3.0脚输出2hz脉冲信号,通过光藕q817驱动场效应管k1462。场效应管导通时信号母线+220v经场效应管和电流采样电阻r1输出到闪光母线,场效应管截至时闪光母线失电。此时有指示灯接入闪光母线就会以2hz的频率闪烁,当闪光母线外接负荷过大或是碰到信号母线-220v,大的电流经过电阻r1,当r1上的电压超过1.23v时,会通过r2由单片机p0.4脚检测到并立即切断输出,起到过流保护功能。p1.2脚驱动发光二极管作为工作状态指示,正常时以2hz的频率闪烁,过流时常亮。
电路的电源采用常见的成品开关电源即可,都支持较大范围的交直流输入。因为普通开关电源的工作原理都是把交流电整流为直流,再变为高频交流,整流后输出,所以直接输入直流220v也是能正常工作的。要求低压侧能提供和高压侧隔离的12v,0.1a的电源给电路工作,输出的电源地和闪光母线接到一起,方便检测输出电流,也为场效应管的驱动提供回路。12v电源经过三端稳压7133输出3.3v电压给单片机提供电源,12v电源是驱动场效应管用的,实际应用时电压范围在12v~15v之间电路都能正常工作。
![图]()
图1:无触点闪光继电器电路原理图
单片机p89lpc901内部电压比较器p0.4是正向输入端,通过设定cn1选vref为反向输入端,vref是单片机内部比较器参考电压,vref=1.23(1±10%)v。p0.4电压大于vref时比较器输出1,否则输出0,使能比较器中断ec1,当比较器输出变化时产生中断,这就是保护动作的原理,保护动作10秒后打开输出,如果还是超电流保护再次动作,直到外部故障消失,实现了保护自动复归。电阻r1功率选5w,电阻为0.56ω时过流保护值为1.23/0.56(a),约2.2a,正常使用时够用了,改变r1的阻值可改变过流定值。场效应管选k1462,其主要参数为:900v、8a、150w,装配时加个散热器。
2 软件设计
软件用keil c51编写,主程序只是对端口、定时器和电压比较器初始化,定时中断子程序负责脉冲输出和保护自动复归,比较器中断子程序负责实现保护功能,设置比较器中断优先级最高,使得过流保护动作时间小于10µs。具体源程序如下:
#include //单片机头文件
bit pro=0; //保护状态:0-正常,1-动作
unsigned char data num1; //计数1,用于指示灯闪烁
unsigned int data num2; //计数2,用于保护延时自动复归
sbit led=p1^2; //指示灯
sbit fla=p3^0; //脉冲输出
//初始化端口子程序
void io_init(void)
{
p0m1=0x30; //p0输入
p0m2=0x00;
p1m1=0x24; //p1.2开漏
p1m2=0x04;
p3m1=0x00; //p3准双向
p3m2=0x00;
}
//初始化定时器子程序
void timer_init(void)
{
tmod=0x11; //定时器0配置为模式1
tamod=0x00;
th0=0x6f; //10ms,根据波特率和单片机计算出
tl0=0xfe;
et0=1; //允许定时器0中断
tr0=1; //打开定时器0
}
//初始化比较器子程序
void cmp_init(void)
{
unsigned int data i; //延时计数用
pt0ad=0x30;
cmp1=0x28; //使能比较器
for(i=0;i
cmp1&=0xfe; //清除比较器的中断标志
ec=1; //使能比较器中断
}
//主函数
void main(void)
{
led=0;
fla=1;
io_init(); //端口初始化
cmp_init(); //比较器初始化
timer_init(); //定时器0初始化
ip1h=0x04; //比较器优先级最高
ea=1; //开中断
while(1);
}
//定时中断0子程序
void timer0int(void) interrupt 1
{
th0=0x6f; //10ms,根据波特率和单片机计算出
tl0=0xfe;
num1++; //计数1,用于指示灯闪烁
num2++; //计数2,用于保护延时自动复归
if(num1>24 && pro==0) //闪烁周期50ms,频率2hz
{
num1=0;
fla=!fla; //脉冲输出反向
led=!fla; //led指示和脉冲输出反向
}
if(num2>1000)pro=0; //保护动作延时10s自动复归
}
//比较器中断子程序
void cmpint(void) interrupt 8
{
num2=0; //保护动作,自动计时清零
fla=1; //禁止输出
led=0; //指示灯亮
pro=1; //保护动作标志置位
cmp1&=0xfe; //清除比较器中断标志
}
3 结束语
电磁式闪光继电器使用继电器作为闪光输出器件,不能实现主动闪光,否则继电器频繁动作,使用寿命很短。单片机控制的无触点闪光继电器可以实现主动闪光,闪烁频率固定为2hz,且带有自动复归的过流保护功能,使用效果很好。在替换电磁式闪光继电器时,拆除原闪光继电器和试验按钮接线,接入无触点闪光继电器,把试验指示灯直接接入闪光母线,指示灯会一直闪烁指示闪光母线状态,省去了定期按试验按钮试验闪光继电器这项工作。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=116285&Name=zhouchs
直流系统闪光继电器的主要作用是提供闪光电源,当开关事故跳闸发出事故音响后,值班人员可根据指示灯闪烁情况迅速判断跳闸回路,及时处理故障。电磁式闪光继电器存在的问题是闪烁频率和占空比不稳定,受外接指示灯的内阻影响较大。指示灯内阻大会出现闪光继电器不动作现象,指示灯内阻小可能会出现占空比过大,给人以指示灯常亮的错觉。典型的问题是普通指示灯更换为发光二极管指示灯后,内阻变大,闪光继电器不动作,为解决这一问题设计了无触点闪光继电器,对电磁式闪光继电器进行更换。
1 硬件设计
无触点闪光继电器由开关电源、单片机p89lpc901、大功率场效应管等电子元件组成,原理图如图1。 p89lpc901是一款只有8个引脚的微控制器,适合于许多要求高集成度、低成本的场合,可以满足多方面的性能要求,内部集成了128字节ram数据存储器、1kb的flash程序存储器、7.373mhz振荡器、复位电路和电压比较器等系统级的功能,这样可大大减少元件的数目和电路板面积并降低系统的成本。
单片机除了电源引脚,还用到了p0.4、p1.2、p3.0这3个引脚,其中p3.0脚输出2hz脉冲信号,通过光藕q817驱动场效应管k1462。场效应管导通时信号母线+220v经场效应管和电流采样电阻r1输出到闪光母线,场效应管截至时闪光母线失电。此时有指示灯接入闪光母线就会以2hz的频率闪烁,当闪光母线外接负荷过大或是碰到信号母线-220v,大的电流经过电阻r1,当r1上的电压超过1.23v时,会通过r2由单片机p0.4脚检测到并立即切断输出,起到过流保护功能。p1.2脚驱动发光二极管作为工作状态指示,正常时以2hz的频率闪烁,过流时常亮。
电路的电源采用常见的成品开关电源即可,都支持较大范围的交直流输入。因为普通开关电源的工作原理都是把交流电整流为直流,再变为高频交流,整流后输出,所以直接输入直流220v也是能正常工作的。要求低压侧能提供和高压侧隔离的12v,0.1a的电源给电路工作,输出的电源地和闪光母线接到一起,方便检测输出电流,也为场效应管的驱动提供回路。12v电源经过三端稳压7133输出3.3v电压给单片机提供电源,12v电源是驱动场效应管用的,实际应用时电压范围在12v~15v之间电路都能正常工作。
图1:无触点闪光继电器电路原理图
单片机p89lpc901内部电压比较器p0.4是正向输入端,通过设定cn1选vref为反向输入端,vref是单片机内部比较器参考电压,vref=1.23(1±10%)v。p0.4电压大于vref时比较器输出1,否则输出0,使能比较器中断ec1,当比较器输出变化时产生中断,这就是保护动作的原理,保护动作10秒后打开输出,如果还是超电流保护再次动作,直到外部故障消失,实现了保护自动复归。电阻r1功率选5w,电阻为0.56ω时过流保护值为1.23/0.56(a),约2.2a,正常使用时够用了,改变r1的阻值可改变过流定值。场效应管选k1462,其主要参数为:900v、8a、150w,装配时加个散热器。
2 软件设计
软件用keil c51编写,主程序只是对端口、定时器和电压比较器初始化,定时中断子程序负责脉冲输出和保护自动复归,比较器中断子程序负责实现保护功能,设置比较器中断优先级最高,使得过流保护动作时间小于10µs。具体源程序如下:
#include //单片机头文件
bit pro=0; //保护状态:0-正常,1-动作
unsigned char data num1; //计数1,用于指示灯闪烁
unsigned int data num2; //计数2,用于保护延时自动复归
sbit led=p1^2; //指示灯
sbit fla=p3^0; //脉冲输出
//初始化端口子程序
void io_init(void)
{
p0m1=0x30; //p0输入
p0m2=0x00;
p1m1=0x24; //p1.2开漏
p1m2=0x04;
p3m1=0x00; //p3准双向
p3m2=0x00;
}
//初始化定时器子程序
void timer_init(void)
{
tmod=0x11; //定时器0配置为模式1
tamod=0x00;
th0=0x6f; //10ms,根据波特率和单片机计算出
tl0=0xfe;
et0=1; //允许定时器0中断
tr0=1; //打开定时器0
}
//初始化比较器子程序
void cmp_init(void)
{
unsigned int data i; //延时计数用
pt0ad=0x30;
cmp1=0x28; //使能比较器
for(i=0;i
cmp1&=0xfe; //清除比较器的中断标志
ec=1; //使能比较器中断
}
//主函数
void main(void)
{
led=0;
fla=1;
io_init(); //端口初始化
cmp_init(); //比较器初始化
timer_init(); //定时器0初始化
ip1h=0x04; //比较器优先级最高
ea=1; //开中断
while(1);
}
//定时中断0子程序
void timer0int(void) interrupt 1
{
th0=0x6f; //10ms,根据波特率和单片机计算出
tl0=0xfe;
num1++; //计数1,用于指示灯闪烁
num2++; //计数2,用于保护延时自动复归
if(num1>24 && pro==0) //闪烁周期50ms,频率2hz
{
num1=0;
fla=!fla; //脉冲输出反向
led=!fla; //led指示和脉冲输出反向
}
if(num2>1000)pro=0; //保护动作延时10s自动复归
}
//比较器中断子程序
void cmpint(void) interrupt 8
{
num2=0; //保护动作,自动计时清零
fla=1; //禁止输出
led=0; //指示灯亮
pro=1; //保护动作标志置位
cmp1&=0xfe; //清除比较器中断标志
}
3 结束语
电磁式闪光继电器使用继电器作为闪光输出器件,不能实现主动闪光,否则继电器频繁动作,使用寿命很短。单片机控制的无触点闪光继电器可以实现主动闪光,闪烁频率固定为2hz,且带有自动复归的过流保护功能,使用效果很好。在替换电磁式闪光继电器时,拆除原闪光继电器和试验按钮接线,接入无触点闪光继电器,把试验指示灯直接接入闪光母线,指示灯会一直闪烁指示闪光母线状态,省去了定期按试验按钮试验闪光继电器这项工作。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=116285&Name=zhouchs
欢迎光临我的BLOG