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