若再使矩形波的幅值等于输入正弦波的幅值
Urm,并使每段矩形波的面积等于对应段
的正弦波的面积,那么,便可以得到矩形波脉宽的值为:
由于脉冲宽度是按照正弦波的规律变化,故可把这些脉冲宽度
DK 的值编制成数值表,
再用单片机通过查表输出脉冲序列。实验时,可采用载波频率
fc=25 kHz,交流频率 fs=50
Hz,载波比 N=fdfs 来确定正弦波离散点的个数,即一个周期内的脉冲个数(设 N=500)。为
了节省表的存储空间,实际编程时,可保存半个周期内的正弦波离散点,即保存
N/2 个
点,然后用交替的方式输出
SPWM 波形来控制逆变桥的工作。
4.2 SPWM 的软件实现
本系统以
PIC16FXX 单片机为核心,晶振选用 20 MHz,指令周期为 0.2μs,SPWM
波驱动开关管的工作频率为
25 kHz,那么,单片机中寄存器的初始化设置如下:
首先设置
PORTC 为输出模式,即 TRISC=0X00。设置 CCP 模块为 PWM 功能。同时必须
在
CCPXCON 寄存器中设置 CCP 模块为 PWM 模式,即 CCPxM3:CPxM0=11XX。
然 后 再 通 过
PR2 来 确 定 PWM 的 开 关 周 期 寄 存 器 , 并 使
TSFMW=(PR2+1)×4TOSC(TMR2 PrescaleValue),fSPWM=1/TSPMW。因为工作频率 f=25
kHz,故 PR2=0XC7;且工作周期寄存器 CCPRxL 的值是可变的。
在程序初始化完成之后,系统中的定时寄存器
TMR2 将启动并开始工作,此时,PWM
单元的引脚输出为高电平;当
TMR2>CCPRxl 时,PWM 单元的引脚开始输出低电平;当
TMR2=PR2 时,TMR2 被归 0,并重新开始下一个周期计数,同时 PWM 单元重新输出高电
平。当
TMR2 的中断标志位 TMR2IF 被置高电平时,系统将执行定时中断服务程序,图 4 所
示是其
SPWM 流程图。中断程序 完成查找正弦表值和 A/D 取样值后,再进行 PI 调节,即
可得出修正值,并将该修正值写入
CCPRxL 寄存器中。图 5 所示是该 SPWM 逆变器电源的
输出波形图。
5 结束语
试验表明,基于
HC 单片机控制的逆变器电源可满足小功率逆变器的要求,而且可用
单片机实现数字化
SPWM 波的控制。本方式不但比传统的模拟控制方式具有一定的优越性,
而且该逆变器电源的效率更高、体积更小,同时还具有设计灵活、性能可靠,输出稳定,谐
波小等优点。