1 引言
正弦脉宽调制(SPWM)在双向AC/DC转换和交流变频调速中应用的十分广泛。目前实现SPWM调制器的方案很多,采用硬件电路方案结构复杂、调试困难,专用IC方案也存在很多不尽人意之处;采用计算机软件生成的方案,目前较多采用一些规则采样算法,生成近似的SPWM脉冲,误差较大。本文基于自然采样法,提出一种新的计算方法,在常用的控制计算机速度允许的情况下,生成较精确的SPWM脉冲序列。该方案生成的SPWM脉冲序列开关点误差小,占用硬件资源少。
2 自然采样开关点方程描述
2.1 自然采样法
SPWM脉冲生成的基本方法是引用通讯技术中的调制概念,以三角波作为载波,以正弦波作为调制波,正弦波和三角波的交点作为开关点而形成SPWM脉冲。这种采样规则称为自然采样法。其它各种采样法如规则采样等均作为这种采样的一种近似。自然采样法生成的SPWM脉冲如图1(a)、(b)所示。
2.2 开关点方程描述
2.2.1 正弦调制波
设正弦调制波的周期为T=2π,峰值为Um,如图1所示,正弦调制波可描述为:
Ur=Urmsin ωt=Urmsin(2π/T)t=Urmsin t
如设三角载波峰值Utm为1,调制度M = Urm/Utm=Urm,(0<M<1),则:
1.2.2 单极式三角载波
设单极式三角载波峰值Utm=1,周期为Tc,弦波半个周期中有N个三角载波,如图1(a),三角载波可描述为:
式中,k=2N/π, Utm=1,共2N条直线。
2.2.3 双极式三角载波
设双极式三角载波峰值为Utm = 1,正弦波一个周期中有N个三角载波,如图1(b),则三角载载波可描述为:
式中,k=2N/π,Utm=1,共2N + 1条直线。
2.2.4 开关点方程描述
单极式开关点为(1)式和(2)式描述的曲线的交点,即:
求解式(4),可得2N个时刻t,即为要求解的SPWM脉冲中的开关点时刻。
双极式开关点为(1)式和(3)式描述的曲线的交点,即:
求解式(5)可得2N个时刻t,即为要求的SPWM脉冲的开关点时刻。
3 计算方法
3.1 正弦函数的近似
式(4)、 (5)涉及正弦函数的计算,而常用的廉价控制计算机如单板机和单片机等,均不具有三角函数的计算功能.故需对其讲行处理。
将正弦函数展开为幂级数
考虑到实时计算的工作量和级数的收敛速度,取前两项作为近似解,即:
则(1)式可表示为:
3.2 求开关点的叠代公式
将式(6)代人(4)得:
整理并令:
最后可得单极式求开关点的叠代公式:
将式(6)代入式(5),整理并令:
最后可得双极式求开关点叠代公式:
3.3 叠代初值选取和叠代次数
3.3.1 叠代初值
叠代初值的选取是否合适,直接影响到叠代效果。经分析和验算,在本方法中,单极式选取叠代初值为:
双极式选取叠代初值为:
需说明的是,对单极式,第一个点t0=0,则第一次叠代值为B11,如其它各点均叠代m次,则第一点应多叠代一次。或者,取第一点的初值为B11,叠代同样次数,以保证第一点的精度。而对双极式,第一点求值为0,不需叠代。
3.3.2 叠代次数
一般的廉价控制计算机,其计算速度有限。采用该计算方法,叠代次数多则影响计算的实时性。实际应用时,如加上一定的补偿,叠代2到3次即可达到较高的精度。
3.4 叠代值的补偿
取sint的近似值时,考虑到实时计算的工作量,舍去了t5以上各项,带来一定的舍去误差,现设:
则(8)式为:
比较式(8)和(13)不难发现,采用式(8)行叠代,在每个三角波周期T。中求得2个开关点,第一个的值比实际值偏大,而第二个的值比实际值偏小(πM < 2N),则虽然开关点的误差不大,但SPWM脉冲的宽度误差较大。但取sin t的展开式的前3项作为近似值,即采用式(13)作为叠代公式,则在每次叠代中均需计算t’项,计算工作量较大。采角的方法是把式(13)中的最后一项作为补偿量处理,以在增力。计弃不名的情汉下减少误差。
具体的做法是,按式(8)进行叠式,求出每个三角沈周期Tc中的开关点时刻T1、T2,然后以T2、 T2计算补偿量,最后在原甲T1、T2值上减去补偿量,求得实际开关点时刻。对于双极式可同样处理。
4 算例及可行性分析
(1) 算例
以单极性为例,设M=1,N=18进行计算。由于在正弦波周期内SPWM脉冲对称,所以只计算前四分之一正弦波周期的开关点和SPWM脉冲宽度。计算中取叠代次数为2,并进行补偿,计算结果如表1所示。表1中<0.01是指相对误差的绝对值小于0.01。
(2) 法可行性分析
① 误差分析
表1中将自然采样法的准确开关点和脉冲宽度列出和上述计算结果比较,并计算相对误差。不难看出,采用该算法算得开关点非常接近于自然开关点,SPWM脉冲的宽度误差很小,完全符合实际的需要。
② 实时计算分析
采用叠代法其工作量比各种规则采样法大,一般认为实时计算较因难。但采用本文介绍的方法,特别是采用补偿后,在一定精度要求下,其叠代次取得很少,实时计算完全可行的。文献[1]介绍,对一般以GTR为开关器件的系统,载波的频率最大值在1080-1116 Hz之间,这样每个载波周期约为1ms;而分析该算法的工作量,对于8087或8031等单片机,主频为12 MHz时,计算一个开关点的时间为几十μs,一个Tc周期中计算两个开关点最多需100 μs,而且由于波形的对称性,只需计算四分之一的周期参数,不存的问题。另外,在实际系统中,往往采用后台计算的方法,即并非计算一个参数就用一个参数,而是把计算出的参数转化为定时器的时间常数,存人固定区域供定时器调用。这样即使是开关频率很高的系统,对输出而言,充其量也只会产生一个很小的延迟,而对系统的性能不会产生大影响。
实际应用中,对于AC/DC变换系统,M是变数;而对于交流变频调速系统,M、T、 N均为变数。文中设T=2π,则表1的计算值为弧度,对于实际的周期T,可方便地把弧度数转化为实际时间。
5 结束语
本文提出的SPWM脉冲序列计算方法,以自然采样法为依据,开关点和脉宽误差小,精度高。其计算工作量为一般控制型计算机所允许,不影响系统的实时计算。
参考文献:
[1] 陈伯时.电力拖动自动控制系统.北京:机械工业出版社,1992