查看完整版本: 基于PIC单片机的SPWM控制技术

liyf 发表于 2014-10-5 10:28:27

基于PIC单片机的SPWM控制技术

基于PIC单片机的SPWM控制技术

引言
    在UPS等电力电子设备中,控制方法是核心技术。早期的控制方法使得输出为矩形波,谐波含量较高,滤波困难。SPWM技术较好地克服了这些缺点。目前SPWM的产生方法很多,汇总如下。
    1)利用分立元件,采用模拟、数字混和电路生成SPWM波。此方法电路复杂,实现困难且不易改进;
    2)由SPWM专用芯片SA828系列与微处理器直接连接生成SPWM波,SA828是由规则采样法产生SPWM波的,相对谐波较大且无法实现闭环控制;
    3)利用CPLD(复杂可编程逻辑器件)设计,实现数字式SPWM发生器;
    4)基于单片机实现SPWM,此方法控制电路简单可靠,利用软件产生SPWM波,减轻了对硬件的要求,且成本低,受外界干扰小。
    而当今单片机的应用已经从单纯依赖于51系列单片机向其它多种单片机发展,尤其以嵌入式PIC单片机的发展应用更为广泛。PIC单片机含具有PWM功能的外围功能模块(CCP),利用此模块更容易通过软件实现SPWM,且具有更快的执行速度。本文采用软硬件结合设计的方法,利用面积等效法,并且基于PIC单片机实现对试验逆变系统的SPWM控制。
1 面积等效的SPWM控制算法
    目前生成SPWM波的控制算法主要有4种。
1)自然采样法;
2)对称规则采样法;
3)不对称规则采样法;
4)面积等效法。
    理论分析后知自然采样法和面积等效法相对于规则采样法谐波较小,对谐波的抑制能力较强。又因为PIC单片机片内无较大空间实现在线运算,所以自然采样法不利于软件实现。本文的试验系统采用面积等效法实现SPWM控制,其原理如图1所示。

图1 SPWM面积等效算法

    利用正弦波小块面积S1与脉冲面积S2相等原则,将正弦波的正半周分为N等分,则每一等分的宽度为π/N弧度,利用面积等效法计算出半个周期内N个不同的脉宽值,将产生的脉宽数列以列表形式存于PIC单片机的ROM中,以供程序调用。
    脉宽产生的基本公式为


式中:M为调制度;
N为载波比,即半个周期内的脉冲个数,实验中N取64;
k取值为0~63。
    由式(1)计算出的实际脉宽转换成计时步阶后生成64个值的正弦表存入PIC的ROM中以供调用。产生的SPWM脉宽表是一个由窄到宽,再由宽到窄的64个值的表。
2 软硬件结合试验系统
    以PIC单片机内部的两个外围功能模块(CCP)为基础,利用该模块具有的PWM功能,软件控制两路SPWM波形的输出。再将这两路SPWM波利用互补导通原则变换成4路,经隔离放大后驱动IGBT逆变器,实现对输出的控制。
2.1 硬件设计
    试验硬件系统如图2所示。选择PIC单片机的中档系列,该系列单片机的主要特点有:
1)具有高性能的RISCCPU;
2)除程序分支指令为两个周期外,其余均为单周期指令,且仅有35条单字指令;
3)8K×14个FLASH程序存储器,368×8个数据存储器(RAM)字节;
4)中断能力强,达到14个中断源;
5)外围功能模块丰富,含2个16位寄存器的CCP模块,具有PWM功能;
6)含3个定时器,其中与PWM功能相关的定时器2(即TMR2)带有8位周期寄存器,且带有8位预分频器和后分频器。


图2 硬件试验系统

    逆变部分采用自关断器件IGBT实现单相全桥逆变。IGBT是全控型电力电子器件,它的控制级为绝缘栅场效应晶体管,输出级为双级功率晶体管,因而它具有两者的优点而克服了两者的缺点。它开关频率相对高,驱动功率小,构成的功率交换器输出电压纹波小,线路简单,是当今最具有应用前景的功率器件。
2.2 软件设计
2.2.1 PIC单片机的设置
    试验中设置SPWM的频率为20kHz,并外接20MHz晶振信号,计算得指令周期即计时步阶为0.2μs。PIC单片机CCP外围功能模块的PWM功能实现主要依靠相关寄存器值的设定,且以定时器2(TMR2)作为PWM的时基。相关寄存器的设置如下。
1)SPWM周期的设定由寄存器PR2设定
(PWM)周期=(PR2+1)×4×Tosc×(TMR2)预分频(4)
试验中Tosc为20MHz,为提高分辨率,TMR2预分频设为1:1,由此计算得PR2=0XF9;
2)定时器TMR2的控制寄存器T2CON设定 因为SPWM频率高,周期短,在每个周期内完成脉宽的调整比较困难,故在此寄存器中设置后分频为1:3,这样每输出3个相同脉宽的SPWM波后改变一次脉宽值;
3)2个CCP模块的控制寄存器CCP1CON及CCP2CON的设定 两个CCP模块控制寄存器的设置类似,选择CCP模块作用于PWM功能模式,即bit3:0=11ⅹⅹ。
4)CCPR1L脉宽写入寄存器 写入的脉宽值在下个TMR2周期开始时转至CCPR1H,通过读CCPR1H的脉宽值来改变PWM脉宽。
5)寄存器TRISC 对应于CCP1和CCP2的输入输出设置,应设置为输出形式,即TRISC的bit2:1=00。
2.2.2 SPWM波形产生的实现过程
    软件控制PIC单片机使之产生SPWM波形?首先将之前设置的寄存器值写入相关寄存器,当PIC的PWM功能开启后TMR2从0开始计数,同时CCP模块引脚输出高电平。
    当TMR2≥CCPR1L时,PWM功能引脚开始输出低电平。
    当TMR2≥PR2时,则TMR2=0,重新开始另一个周期计数,PWM功能引脚开始输出高电平。同时TMR2的中断标志位被系统置高,即TMR2IF=1,转去执行中断服务程序。
    因实验中设置TMR2后分频为1:3,故在3个PR2周期后程序才转去执行中断服务程序。在中断服务程序中查找脉宽表,将下一个脉宽值写入寄存器CCPR1L中。下个周期输出的PWM的脉宽即为刚写入CCPR1L中的脉宽值,也就是说脉宽的变化在中断程序中实现,中断程序流程如图3所示。


图3 中断服务程序流程图

    程序中利用标志位F实现SPWM输出在CCP1和CCP2中的转换。在F=1时,CCP1输出PWM波形,CCP2设置输出为0电平;在F=0时,CCP2输出PWM波形,CCP1设置输出为0电平。
3 试验结果与分析
    由PIC单片机产生的SPWM波可由示波器测出。由于SPWM频率为20kHz,程序中又设置每3个脉宽相等,故在示波器中不能清楚地看到脉宽从最小到最大的完整的变化过程。由PIC单片机的CCP1引脚输出SPWM波形的一段如图4所示。这段波形中的脉宽由窄逐渐变宽,符合SPWM的变化规律。


图4 SPWM波形的一段

    试验中由PIC单片机的两个CCP模块产生两路SPWM波,将这两路SPWM波变换成4路后经隔离驱动逆变系统的IGBT。产生的两路SPWM波形分别对应正弦波的正负半波,完整周期的两路SPWM互补波形如图5所示。


图5 两路互补的SPWM波

    试验系统在直流电压为30V时负载运行所得正弦波如图6所示,可知周期为19.9ms,满足工频要求。


图6 负载正弦波

    试验系统为单相全桥逆变系统,这种工作模式有明显的倍频效应。倍频效应有利滤波,也可以降低器件的开关频率,减小开关损耗。又因为本试验系统采用面积等效法,相对于规则采样法谐波抑制能力较强。谐波分析后可在低电压时基本无偶次谐波,且所含奇次谐波幅值较小,能满足UPS逆变系统对谐波的要求。
4 结语
    本文介绍的基于PIC单片机的SPWM控制技术很好地把软硬件技术结合在一起,针对规则采样法谐波大的缺点,利用面积等效法较好地抑制了谐波。本文给出了具体的硬件试验系统及软件设计,分析试验结果波形后表明此方法输出谐波较小,在对输出波形质量要求较高的UPS逆变系统中有较强的实用价值。如今PIC单片机应用越来越广泛,电力电子技术发展越来越快速的阶段,这种软硬件结合的控制技术在其它很多应用领域也有较大的发展空间。

李小路 发表于 2021-6-23 15:13:19

谢谢分享!:D
页: [1]
查看完整版本: 基于PIC单片机的SPWM控制技术