微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于PIC单片机的SPWM控制技术

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

时间:09-17 来源:互联网 点击:
1 引言

在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控制。

2 面积等效的SPWM控制算法

目前生成SPWM波的控制算法主要有4种。

1)自然采样法;

2)对称规则采样法;

3)不对称规则采样法;

4)面积等效法。

理论分析后知自然采样法和面积等效法相对于规则采样法谐波较小,对谐波的抑制能力较强。又因为PIC单片机片内无较大空间实现在线运算,所以自然采样法不利于软件实现。本文的试验系统采用面积等效法实现SPWM控制,其原理如图1所示。



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

脉宽产生的基本公式为:



式中:M为调制度;N为载波比,即半个周期内的脉冲个数,实验中N取64;k取值为0~63。

由式(1)计算出的实际脉宽转换成计时步阶后生成64个值的正弦表存入PIC的ROM中以供调用。产生的SPWM脉宽表是一个由窄到宽,再由宽到窄的64个值的表。

3 软硬件结合试验系统

以PIC单片机内部的两个外围功能模块(CCP)为基础,利用该模块具有的PWM功能,软件控制两路SPWM波形的输出。再将这两路SPWM波利用互补导通原则变换成4路,经隔离放大后驱动IGBT逆变器,实现对输出的控制。

3.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位预分频器和后分频器。



逆变部分采用自关断器件IGBT实现单相全桥逆变。IGBT是全控型电力电子器件,它的控制级为绝缘栅场效应晶体管,输出级为双级功率晶体管,因而它具有两者的优点而克服了两者的缺点。它开关频率相对高,驱动功率小,构成的功率交换器输出电压纹波小,线路简单,是当今最具有应用前景的功率器件。

3.2 软件设计

3.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。

3.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所示。  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top