8031单片机控制SCR导通角一法

🏠 首页 《无线电》杂志 1994年 🔗 第10期 🔗 第32页 分类:无线电技术自学经验交流 🔗 阳水苟 🔗

自控设备中,经常要用到晶闸管作执行元件,图1是8031单片机控制晶闸管触发脉冲的一种接口电路。

图1
图1 🔍原图 (1133×361)

我们知道,晶闸管的控制角α正比于时间t,即α=wt。所以微机只要将调节计算所得的控制角α转换为定时时间,就完全可以用计时方式准确地确定触发时刻。图1中,8031单片机的INT0用作过零信号检测端,每次检测到过零信号引起中断,中断服务程序即给片内定时器T0重装定时初值,然后单片机返回主程序干其它事情。当定时器T0计数满溢出引起中断,就通过P1.6引脚输出触发脉冲。设置定时器的初值,就可任意改变晶闸管的导通角。如果把T0设置成16位定时器,系统便可获得足够高的控制精度。

过零信号由L拾取,L为电源变压器的一个次级绕组。交流电压10V用全桥整流后经两组反串并联的二极管削波,三极管3DK4把它整形成图2所示波形注入8031单片机INT0端。触发脉冲从8031单片机P1.6端输出,脉冲用3DK4、3DG84C功率放大后通过脉冲变压器MB去触发晶闸管。值得一提的是,由于脉冲变压器与交流回路联接,它的初次级间必须具备良好的绝缘。

图2
图2 🔍原图 (312×197)

系统程序清单如下。0EH、0FH单元存放着控制角α折算成的数字量,即T0初值。

初始化程序

SETB IT0;INT0下降沿触发

MOV TMODM,#01H;T0为16位定时器

MOV 0EH,#dataL;控制数字量低8位

MOV 0FH,#dataH;控制数字量高8位

MOV IE,#83H;CPU开放中断

RET

INT0中断服务程序

PUSH ACC;A内容入栈保护

MOV A,0EH;重装定时初值

MOV TL

MOV A,0FH

MOV TH0

SETB TR0;开T0

POP ACC;保护内容出栈

RETI;中断返回

T0中断服务程序

CLR P1.6;P1.6输出脉冲

MOV R2,#data;脉冲宽度由R2中的数据控制

DEL:DJNZ R2,DEL

SETB P1.6

CLR TR0;关T0

RETI;中断返回

不难看出,脉冲产生的整个过程是完全由软件支配着的。系统产生的触发脉冲可以达到很宽的移相范围。输出脉冲宽度由一个8位二进制数控制,若8031单片机晶振为6MHz,最大输出脉冲宽度可达1ms。

由于信号过零引起中断对主程序而言可说是随机的,为保证在每个周期都能准确地触发晶闸管,过零中断服务必须享有最高优先权。系统过零中断选择8031单片机的INT0,单片机复位时按自然优先级已获最高优先权,所以毋需在软件中设定。(阳水苟)