基于DSP的SPWM不对称规则采样算法的分析与实现
摘要:本文以高性能数字信号处理芯片TMS320F2812为核心,设计生成了基于不对称规则采样算法的SPWM波形,键盘输入参数设定调制波频率。本文首先分析了不对称规则算法的原理,接着设计了基于TMS320F2812芯片的软件设计流程,最后在数字示波器上显示了实验波形,验证了设计的有效性和可行性。
1 引言 在三相逆变器中,SPWM(Sinusoidal Pulse Width Modulation)技术是最为先进的控制算法之一,SPWM 波用于控制逆变器功率器件的开关时刻。SPWM 技术最初是用模拟电路构成三角波和正弦波发生电路,接着用比较器来确定他们的交点,这种实现方法电路复杂,精度较差。后来人们采用单片机来实现,但由于单片机在硬件计算速度和算法计算量方面的局限,往往无法兼顾计算的精度和速度。由于DSP 具有强大的运算能力,能够完全兼顾控制的精度和速度,越来越多的应用选择使用DSP。用DSP 产生多相正弦波有多种方法,如采用D/A 转换器,使用DSP 外接D/A 转换器可以输出频率较高的正弦波,但是这种方法浪费硬件资源,因为需要几相正弦波就需要几个D/A 转换器,而且在每次计算每个D/A 采样点的正弦值时都需要占用CPU,不利于系统整体性能的提高。TMS320F2812 是TI 公司推出的用于工业控制的新型32 位定点DSP,最高主频150MHz,拥有丰富的外设,利用其内部硬件电路---事件管理器模块中的全比较单元,采用SPWM 算法,可以非常方便的产生高精度的、实时性强、可在线调节、带死区控制的三相正弦SPWM 波形,从而实现三相逆变器的SPWM 控制。
2. SPWM 算法原理
PWM 技术利用全控型器件的导通和关断把电压变成一定形状的电压脉冲序列,实现变压、变频控制并且消除谐波,而SPWM 算法是以获得正弦电压输出为目标的一种脉宽调制技术。 为了得到正弦波,需要输出一组连续的幅值相等而宽度不相等的矩形波,实现过程为:正弦调制波与三角载波相交,交点产生控制功率开关器件的信号,经相应驱动电路来控制功率开关器件的通断,从而得到一系列等幅而且脉冲宽度正比于对应区间正弦波曲线函数值的矩形脉冲,即SPWM 波形。 用软件方式实现SPWM 的算法包括:自然采样法,规则采样法(对称规则采样法,不对称规则采样法)。自然采样法在计算SPWM 波的脉宽时要解超越方程,不适合用于实时控制。在实际控制应用中,为减少谐波分量,多采用不对称规则采样法(如图1 所示)。实践证明,不对称规则采样法所形成的阶梯波比对称规则采样法更接近于正弦波,特别是当载波比N=3或3 的倍数时,前者的输出电压中不存在偶次谐波分量,其它高次谐振波分量的幅值也较小,并且当逐渐增大调制率,使脉宽调制向输出方波过渡时,采用不对称规则采样,不会像自然采样那样产生基波幅值跳跃的现象。所谓不对称规则采样法,是指既在三角波的顶点位置又在底点位置对正弦波进行采样,此阶梯波与三角波的交点所确定的脉宽,在一个三角波的周期内的位置是不对称的,。在这里,采样周期Ts 是三角波周期Tt 的1/2,即Ts=Tt/2。
k1 为偶数时是顶点采样,k2 为奇数时是底点采样。而非对称规则采样法在一个载波周期里采样两次正弦波数值,该采样值更真实地反映了实际的正弦波数值。这是单相SPWM 波形生成的数学模型,三相正弦电压彼此相位差2π / 3 ,要用三条相位相差2π / 3的正弦调制波与同一三角形载波来生成三相SPWM 波形,可以推得以下公式:
对于触发时间的求解公式,根据输入调制频率可计算载波比N。为了增强系统的运行速度,当选定载波比N 后,正弦函数sin(kπ / N)在三角载波各顶点和底点时刻的采样值可先计算制成表格,放入ROM 中,供程序在线运算时调用。可以根据负载压频U/f 曲线实时计算调制比M值。由于三相交流输入相位相差2π / 3,从正弦函数表中查询某一时刻k 值的函数值sin(kπ / N) ,赋给U 相后,查表指针向前移动2π / 3 ,查得sink(1π /N+2π /3),得到V相,指针再向前移动2π / 3 ,查得sin(k1π / N + 4π / 3) ,得到W 相。
3.DSP 实现不对称规则采样算法的原理
在本文中我们通过TI 公司32 bit 控制器TMS320F2812 来实现SPWM 算法。TMS320F2812的波形发生器属于DSP 芯片的外部事件管理模块,占用CPU 的时间很少,可以方便地生成6路带编程死区和输出极性的PWM 波[2]。通过对比较单元的寄存器进行适当的设置可以方便地生成所需的SPWM 波。 TMS320F2812 有两个事件管理器模块(EVA 或EVB),每个EV 都内含2 个通用定时器,三个全比较单元,死区单元及输出逻辑,事实上一个事件管理器模块就可以生成三相六路SPWM 脉冲波形。为了产生PWM 输出,通过设定通用定时器T1(我们使用EVA 中的T1)的周期寄存器T1PR,并选择通用定时器T1 处于连续增/减计数模式,以产生SPWM 算法中的对称三角波载波信号。定时器计数器T1CNT 从0 递增到T1PR,然后再从T1PR 递减到0,循环计数,同时比较寄存器(CMPRx ,x=1、2、3)的值不断地与定时器计数器的值进行比较,当两个值发生匹配后,比较单元的输出信号送入PWM 电路中的对称/非对称波行形发生器,由它产生一路PWM 脉冲信号,再经过死区单元以及输出逻辑后,产生一对具有可编程死区的可以驱动同一桥臂IGBT 的互补信号PWMy,y+1。当两个功率器件串连放在主电路中组成一个桥臂时,上下两个器件绝对不能同时导通,否则会发生短路。因此导通上一桥臂的PWM 须互不重叠,这就要求一个器件导通前,另一个器件要完全关闭,所以需要一个延迟的死区时间。如图2 示,比较单元1、2、3 的对称/非对称波形发生器提供的输入信号PHn(n=1,2,3)作为死区单元的输入,对于每一个输入信号PHn ,死区单元产生两路输出: PHx 和PHx_。如果死区单元未被使能,那这两路输出的信号是完全相同的;当死区单元使能时,两路输出信号的跳变沿被一段死区时间间隔开。
4.DSP 软件设计
整个程序分为主程序和中断子程序两大部分。主程序任务是:初始化启动系统后,扫描键盘输入,更新调制波频率fm,根据调制波频率fm计算载波比N 和定时器T1 周期寄存器的值,由负载压频U/f 曲线计算调制比M,并将N 值,M 值等信息显示液晶显示屏上;除主程序外一共开放了三个中断,分别是: ①定时器T1 中断子程序:完成三个比较寄存器(CMPRx ,x=1、2、3)的计算、赋值,用于更新PWM1~PWM6 的占空比。②定时器T2 周期中断,用于扫描按键,更新调制波频率fm。 ③PDPA 中断,用于保护功率模块,一旦PDPA 脚为低便封锁PWM1~PWM6。主程序流程图与中断子程序流程是程序的主要组成部分,详细见图(3)、图(4)。
5.实验波形及结论
通过键盘设定调制波频率,我们设定为25Hz,用数字示波器测量PWM1/CMP1 引脚,所得实验波形如图5 所示。从图中可知,PWM 波形的占空比是按正弦规律实时变化的,所得正弦调制波频率也期望值一致,系统同时实现了死区功能。实践证明,以TMS320F2812 为核心基于不对称规则采样算法的SPWM 波的设计是成功的。该系统具有很好的控制精度和较强的实时响应,实时控制能力。
|