MBD笔记:SPWM技术(三)
SPWM算法实现
SPWM是什么
SPWM核心思想:用等幅不等宽的矩形脉冲序列等效替代标准正弦波,依靠电感(电机绕组 / 滤波电感)积分平滑作用,还原出近似正弦的交流电压波形.
SPWM底层原理,是 底层等效原理(面积等效准则):相同时间段内,矩形脉冲的面积和正弦波对应区间面积相等,则二者作用效果近似一致. 我们把整个正弦周期切分成无数小段,每一小段用一个直流脉冲填充,调节脉冲宽度,让脉冲面积匹配该段正弦曲线围成的面积;脉冲高度固定为直流母线电压Udc ,只改变宽度.
MCU通过载波对比法,实现SPWM,载波是高频对称三角波. 比较逻辑:
- 调制波电压 > 三角载波电压 → 功率管导通,输出Udc 高电平;
- 调制波电压 < 三角载波电压 → 功率管关断,输出 0 低电平;
输出的高低电平脉冲串,脉宽严格跟随正弦波幅值变化,正弦波峰值位置脉宽最宽、过零点脉宽最窄.
常规SPWM算法实现
常规SPWM控制,将三角载波和对称的三相正弦调制波作比较,且生成PWM波形,本质是一种相电压控制方式.
定义三相正弦相电压:
\[\tag{26} \begin{cases} V_{am} = V_m \sin \omega t \\ V_{bm} = V_m \sin\left(\omega t - \dfrac{2}{3}\pi\right) \\ V_{cm} = V_m \sin\left(\omega t + \dfrac{2}{3}\pi\right) \end{cases} \]
载波\(V_s\)是幅值\(V_{sm}\)、频率\(f_c\)的三角载波.
载波信号频率\(f_c\)与调制波信号频率f之比,称为载波比:
正弦调制信号与三角载波信号的幅值之比,称为调制深度:
工程上,对SPWM的逆变器常采用电压平均模型的方法,进行输出基波电压的计算.
当 \(f_c \gg f\) 且 \(m_m\le 1\)时,相电压基波幅值\(V_m\)满足:
此时,\(V_m\)随着调制深度线性变化.
对于三相电压源逆变器,以A相桥为例,
1)当\(V_m > V_{sm}\)时,\(s_a=1,s_a'=0\),即上桥臂导通,下桥臂断开;
2)当\(V_m < V_{sm}\)时,\(s_a=0,s_a'=1\),即下桥臂导通,上桥臂断开;
\(m_f=9\)时,三相逆变器SPWM示意图:

注:从上到下分别是:\(V_a,V_b,V_c,V_s\)波形;\(V_{AO}\)波形;\(V_{AN}\)波形
谐波分量:指信号里除了基波(我们想要的频率)之外,其他所有频率的成分. 它是逆变器输出里最核心的干扰源之一.
产生原因:PWM逆变电路使用(三角)载波对正弦信号进行调制,所以必然产生和载波有关的谐波分量.
其中,
当\(n=1,3,5,...\)时,\(k=3(2m-1)±1, m=1,2,3,...\);
当\(n=2,4,6,...\)时,\(k=6m+1, m=0,1,2,...\)(或者\(k=6m-1, m=1,2,3,...\));
可知,载波频率整数倍处的高次谐波不再存在,因为\(k\neq 0\). SPWM谐波分布有明显的“集簇”特性,即一组一组地集中分布于载波频率的整数倍频率两侧.
由于3的整数倍次谐波属于零序分量,故逆变器输出电压中不再存在3 的整数倍次谐波(即3次谐波).
为什么说 “逆变器输出电压中不再存在3 的整数倍次谐波”?
因为逆变器输出的是线电压(2相之间电压,如\(U_{ab}\)),而不是相电压(如\(U_a\))
设三相输出的3次谐波:
线电压:\(U_{ab}=U_a-U_b\)
线电压3次谐波分量:\(U_{ab(3)}=U_{a(3)}-U_{b(3)}=V_3 \sin(3\omega t)-V_3 \sin(3\omega t)=0\)
同理,\(U_{bc(3)=U_{ca(3)}}=0\)
所以说逆变器输出电压中不存在3次谐波.
- 仿真模型
参数设置:三角载波频率(PWM开关频率)\(f_{pwm}=5kHz\);正弦调制波频率\(f=50Hz\),幅值1,调制深度\(m_f=0.7\);
三角载波Carrier Wave中Time value设为[0 1/Fc/4 3/Fc/4 1/Fc] ( \(Fc=f_{pwm}=5kHz\) ).
Output values设为[0 -1 1 0];直流侧电压\(U_{dc}=700V\).
模型采用变步长 ode23tb 算法,最大仿真步长(Max Step Size)设为0.00001,其余不变.


- 仿真结果
得到相电压\(U_a\)为6节拍阶梯波形

基于三次谐波注入的实现
三次谐波注入的目的:
三相SPWM逆变电路,在线性调制区内,输出电压基波有效值\(\dfrac{\sqrt 6}{4}m_fU_{dc}\),幅值\(\dfrac{\sqrt 3}{2}m_fU_{dc}\),直流电压利用率0.866. 为提高电压利用率,可以考虑在调制波中 注入三次谐波分量.
调制波:
当 \(\omega t = \dfrac{2k+1}{3},k=1,3,5,...\)时,\(sin3\omega t=0\),三次谐波分量对调制波不会产生影响.
注意:调制波注入三次谐波后的平顶波 = 基波 + 三次谐波.
为了尽可能获取调制波最大幅值(极值处取得最值),以A相电压为例,下面进行推导.
根据费马定理(微分中值定理),如果\(f(x)\)在点\(x_0\)处取得极值,则\(f'(x)=0\).
而连续可导函数最值,只能在极值处取得. 因此,我们先求极值:
该方程有2个位置数:\(\omega t\) 极值点位置,\(V_{m3}\)三次谐波幅值. 一个方程2个位置数,通常有无数解.
我们先假设峰值出现在\(\omega t = \frac{π}{3}\)(人为选定),代入(32),求出,
证明取得最大幅值思路:需要验证2点:
1)\(\omega t = \frac{π}{3}\) 处,函数取得最大值
2)验证不削波,即相电压峰值≤直流母线限制(Udc/2)
证明过程略.
为了获得最大调制深度,在\(V_{m3}=\frac{1}{6}V_{m1},\omega t = π/3\)条件下,我们可以将\(V_{am}\)拉到母线允许的最大值Vdc/2,
可求出,
调制波电压幅值从\(\frac{1}{2}Udc\)增大到了\(\frac{1}{\sqrt 3}Udc\),电压幅值增加了 15.48% .
注意:三次谐波注入本身,并不会改变基波幅值;但是,为了充分利用母线,提高调制深度,通常在三次谐波注入后,会人为提高基波幅值. 这看起来就像是调制波幅值变大了.
如何理解调制波幅值变大了?
设\(v=U_msin\theta + \frac{U_m}{6}sin3\theta\),基波峰值就是\(U_m\).
不加谐波时,正弦峰值 = 基波幅值,基波最大只能拉到Vdc/2(因为有正负,正负峰值相减 ≤ Vdc);
注入三次谐波后,同等\(U_m\)合成马鞍波峰值压低至\(\frac{\sqrt 3}{2}U_m\),这样就有了电压余量;
于是,我们可以人为放大基波系数到\(U_{m2}\),让马鞍波峰值刚好触碰到母线上限\(U_{dc}/2\),从而最终基波幅值常规 SPWM 极限值大 15.47% ,调制深度更高、输出电压 / 转矩更大.
基于零序分量注入的实现
为了提高直流电压的利用率,也可以考虑在调制波信号中注入零序分量. 调制波表达式:
其中,\(V_0\) 是零序分量,范围:\(-1-V_{min}\le V_0\le 1-V_{max}\)
其中,\(V_{max}=max\{V_{am},V_{bm},V_{cm}\}, V_{min}=min\{V_{am},V_{bm},V_{cm}\}\),零序信号在此区间内任意选取即可.
注:
- 取值范围是标幺化(Per Unit)后的表达式,标幺化之后基波幅值[-1, 1];标幺化之前,基波幅值[-Udc/2,Udc/2](未注入三次谐波)或者[-Udc/√3, Udc/√3](注入三次谐波).
- 前面 MBD笔记:三相PMSM数学模型(一) 讲过,零序分量是指三相电压 / 电流中幅值相等、相位完全相同的部分.
下面是\(V_0\)几种典型取值.
均值零序信号
取极值的均值:
其中,\(V_{max}=max\{V_a,V_b,_Vc\}\)三相瞬时电压最大值,\(V_{min}=min\{V_a,V_b,_Vc\}\)三相瞬时电压最小值.
特点:原来的正弦信号中由于注入了一定的高次谐波信号,波顶被削平,因此提高了线性调节范围.
- 仿真模型
在基于三次谐波注入的模型基础上,修改SPWM子模块如下:

- 仿真结果
以A相为例,仿真得到零序信号\(V_0\),原始信号\(V_{m1}\)(即\(V_a*mf\)),合成参考信号\(V_{m1}+V_0\)

注:黄线\(V_{m1}\),红线\(V_{m1}+V_0\),蓝线\(V_0\)
可以看出,原来的正弦信号(黄线),由于注入高次谐波信号(蓝线,均值零序信号),其波顶被削平了(红线).
极值零序信号
取极大值或者极小值作为零序信号.
极大值:
极小值:
特点:调制波每个周期在波峰或波谷有一段时间状态不变,因此可减小开关损耗,但正负半周波形不对称.
- 仿真模型
在基于三次谐波注入的模型基础上,修改SPWM子模块如下:

- 仿真结果

可以看出,原理的正弦信号,由于注入高次谐波,每个周期在波峰有一段区间状态保持不变,且正负半周波形不对称.
交替零序信号
如果某一瞬间\(V_0\)极大值的幅值大于极小值的幅值,那么取极大值作为零序信号,否则,取极小值作为零序信号.
i.e. 零序信号取3相正弦信号瞬时值幅值最大的那个.
- 仿真模型
在基于三次谐波注入的模型基础上,修改SPWM子模块如下:

matlab fcn:
实现公式(41)
function V0 = fcn(Vmax, Vmin)
if (abs(Vmax) >= abs(Vmin))
V0 = 1-Vmax;
else
V0 = -1-Vmin;
end
end
- 仿真结果

调制波每个周期在波峰和波谷处各有π/10状态保持不变,但正负半周波形保持对称,同时也保留了基于均值信号方法所具有的调制范围大的有点.

浙公网安备 33010602011771号