输出共有12路,其中P1.0~P1.3控制A相,P1.4~P1.7控制B相,HSO.0,HSO.1,P2.6,P2.7控制C相。输出经过光控可控硅MOC3061进行隔离,又经一级双向晶闸管驱动后,加在双向晶闸管的控制级,控制双向晶闸管的导通,进而控制电容器的投切。输出电路如图4所示。
从80C196KC的输出管脚输出的信号电流只有几个μA,不足以驱动后边的光电耦合器,所以加一个TTL芯片5407作为电流驱动元件。MOC3061是常用的双向晶闸管输出的光电耦合器,他的输出端是光敏双向晶闸管,当光电耦合器的输入端有15 mA电流流入时,晶闸管即导通。MOC3061的输出端还配有过零检测电路,用于控制晶闸管过零触发,以减少用电器在接通时对电网的影响。
2 软件设计
系统的软件采用了高级语言PL/M-96嵌入汇编语言编写,采用模块化结构设计。对于实时性要求较高的部分如A/D转换部分,由于汇编语言具有灵活性好、代码转换速度快等特点,同时80C196KC的指令系统效率高,执行速度快,因此采用汇编语言来编写A/D转换程序,其他部分采用高级语言编写,程序可读性好。
整个软件共包括7部分,他们分别是:主程序、A/D转换子程序、投切子程序、电压投切子程序、电流计算子程序、输出子程序、软件定时器中断服务程序。下面介绍主程序及A/D转换子程序的设计。
2.1 主程序设计
主程序流程图如图5所示。
2.2 A/D转换子程序
数据采样是通过A/D转换与软件定时器的中断服务程序相结合完成的。每个周期测量开始由主程序确定模拟通道;用软件定时器定时,然后启动A/D转换。软件定时器定时时间到进入软件定时器中断服务程序,由软件定时器中断服务程序中返回主程序完成一个周期的采样过程。
A/D转换子程序流程图如图6所示。
系统中软件定时器中断子程序是采用高级语言PL/M语言来编写的,附程序如下:
定时20 ms程序:
hso_command=18h;/*采用软件定时器0,中断方式*/
hso_time=timer1+15000; /*定时20 ms*/
3 结 语
该补偿器无触点、不发热、小冲击、过零投切、安全可靠、免维护。控制部分采用了80C196KC单片机为核心的控制器,实现了自动补偿、无人值守。他解决了以往有触点投切工作不可靠、故障率高、维护量大、使用寿命短等特点。