background image

 
  若再使矩形波的幅值等于输入正弦波的幅值

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 波的控制。本方式不但比传统的模拟控制方式具有一定的优越性,

而且该逆变器电源的效率更高、体积更小,同时还具有设计灵活、性能可靠,输出稳定,谐
波小等优点。