1.4 PWM控制芯片
样机采用SG3525作为PWM控制芯片。这是一种性能优良、功能齐全和通用性强的单片集成控制芯片。它能够输出两路PWM信号,信号的频率可调、死区时间可以单独设置。芯片内部还含有欠压锁定电路、软启动电路、锁存器,并具有PWM脉冲信号封锁功能和振荡器外部同步功能。它的输出方式为推挽式,不但开关速度更快,而且驱动能力更强。因此,这款芯片被广泛用于开关电源中。
图3SG3525的原理图图3示出了SG3525的内部结构。在应用中,SG3525的脚6和脚5分别接振荡电容和电阻,脚7接一个放电电阻,它决定了死区时问的长短。输出反馈信号加在误差放大器(EA)的反相端脚1,与脚2的参考电压比较后产生误差信号以调制输出信号的脉宽。脚11和脚14输出PWM信号,用以驱动功放MOSFET。当输入电压或负载发生变化时,PWM信号的脉宽会随之而变,以稳定输出电压。脚8接一个电解电容以实现软启动。脚4和脚l0接有从MCU送来的控制信号,当过流或短路时会停止SG3525的振荡输出。脚9与一个比较器的输出端相连。当短路发生时,比较器翻转,将脚9的电平拉低,立即关断输出。
图3 SG3525的原理图
1.5 功放
样机的功放采用全桥电路。由SG3525的脚l1和脚14送来的信号,又各自分成两路。一路直接驱动全桥的下管,另一路经过自举电路倒相后驱动上管。由于SG3525提供的两个信号问存在一个死区,所以防止了同一侧桥臂的上下两管直通。在两个下管的源极与地之间接有一个采样电阻,采到的电流信号用于过载和短路的判断。
2 MCU软件设计
2.1 主要功能的实现方案
(1)蓄电池充电控制充电MOSFET的栅极由MCU的一个I/O口控制。当蓄电池电压低于直充阈值时,MCU跳过PCA,直接输出一个高电平信号打开充电MOSFET,使太阳板不间断地向蓄电池充电。蓄电池电压超过后,MCU接人PCA,改为PWM方式充电。充电的脉宽随着蓄电池电压的升高而逐渐变窄。达到充电上限后,再次跳过PCA,输出一个低电平,完全关断充电。
(2)直流输出控制直流输出MOSFET也由MCU的一个I/O口控制。蓄电池的电压低于欠压阈值时,MCU输出关断信号,停止放电。高于恢复阈值时,输出开启信号。
(3)直流和交流过载保护相关标准对户用太阳能逆变器规定:逆变器过载20%时应输出不少于一分钟,过载50%时输出不少于10S。程序巾定义了一个名为“过载量”的参数,它等于过载电流采样值对持续时间的累积。一旦过载发生,程序便开始计算过载量。当过载量达到设定值时立即关断输出。
(4)直流和交流短路保护当检测到短路发生时,立即启动优先级最高的外中断程序,向SG3525的脚4和脚10送出短路保护信号,关断其输出。同时,切断为逆变器供电的继电器,使逆变器电源中断。
(5)LED指示当检测到太阳板的电压时,“发电”LED点亮。当蓄电池电压降到欠压阈值后,“欠压”LED点亮,只有电压升到恢复阈值,“欠压”LED才会熄灭。无论交流或直流的短路、过载故障发生,“过载”LED都会点亮。必须关机才能使其熄灭。在逆变器正常输出时,“输出”LED点亮。
2.2 主程序流程图
图4是主函数的流程图。单片机上电后先初始化系统,允许中断,开启PCA。随后进入无限循环。
在每个循环中依次完成下列任务:
(1)根据蓄电池电压设置蓄电池的标志位,以决定直流输出管的开关状态。
(2)根据直流开关和交流开关的状态(开或关)设置标志,以决定样机是否开启相应功能。
(3)查询有无过载发生。如果有,则进入过载子程序,计算过载量并进行相应的处理。
(4)根据各种电气参数和工作状态,确定LED指示灯的亮、灭。
在主函数之外,还有6个中断函数。其中定时器0、定时器1和定时器2中断分别为PCA、直流过载保护和交流过载保护提供时基。直流短路中断和交流短路中断都是外中断,一旦进入,会马上切断振荡信号和功率管的电源,以保护样机。PCA中断在下面另作介绍。
图4主程序流程图
图5PCA中断流程图