前言
永磁同步电机控制相关文章分为两个系列

Simulink永磁同步电机控制仿真系列
永磁同步电机控制笔记系列
其中Simulink永磁同步电机控制仿真系列文章以simulink仿真模型为基础,倾向于完整的分析某个专题。永磁同步电机控制笔记系列倾向于细节,比如某个具体的模块或控制环节。两个系列均通过简单的语言解释电机控制相关技术,每一篇文章都力求有深度,通过专题文章的方式记录分享自己的思考,希望更多人收益。
经典的svpwm把逆变器可以输出的电压范围划分为6个扇区,对于参考电压矢量,先计算矢量在哪个扇区,然后根据不同扇区计算合成参考电压矢量所需的有效发波时间t1,t2,最后把t1,t2映射为三个桥臂的导通时间。
中点平移法svpwm则是先把电压矢量分解为三相电压,然后根据三相电压的大小上下平移电压,使电压输出范围最大化。相比较经典的svpwm实现方法,该方法计算量小,并且个人认为,原理更容易理解。

1、思考
svpwm调制方式常常和spwm调制方式放在一起对比,了解过这两种调制方式的朋友应该知道,两种方式都是为了把三相交流电压转化为等效的pwm占空比。并且,svpwm有着更高的电压利用率,svpwm调制方式下,非过调制工况,输出线电压最大幅值等于母线电压,spwm调制方式下,输出线电压幅值等于0.5*sqrt(3)倍的母线电压。如今在相关领域svpwm已经成为主流。
那么svpwm为什么能够实现比spwm更高的电压利用率呢?或者说如何才能尽可能的提高母线电压利用率呢?

1.1、限制spwm电压利用率的原因是什么
已知给定三相电压分别为Va,Vb,Vc;母线电压为Vdc,pwm定时器计数周期为period,三相占空比duty_a,duty_b,duty_c和三相电压有如下关系。

duty_a = Va / Vdc * period + 0.5;
duty_b = Vb / Vdc * period + 0.5;
duty_c = Vc / Vdc * period + 0.5;

我们知道,定时器能够输出的pwm波占空比范围是0-period,为了保证占空比在有效范围内。必须有:

-0.5*Vdc <= Va <= 0.5*Vdc
-0.5*Vdc <= Vb <= 0.5*Vdc
-0.5*Vdc <= Vc <= 0.5*Vdc

上述关系无关于调制方式,对于spwm,svpwm或者其他调制方式,上述关系都成立。只是,对于spwm调制,Va,Vb,Vc为正弦波,由Vd,Vq经过ipark变换得到Vα,Vβ,然后再经过iclark变换得到。
也就是说,如果使用spwm调制,直接把三相电压转换为占空比,允许的最大相电压幅值为0.5倍母线电压。此时,因为三相电压为相位差120度的正弦波,所以最大线电压幅值为0.5*sqrt(3)*Vdc

1.2、如何提高电压利用率
上文说了,三相输出电压受到母线电压限制,每一相电压的最大幅值都无法超过0.5Vdc,那么有没有办法提高相电压的幅值呢?答案是没有。 不过好消息是,相电压的最大幅值无法超过0.5Vdc,并不是说线电压无法超过0.5*sqrt(3)*Vdc,线电压是相电压的sqrt(3)倍,成立的前提条件是,相电压是相位差120度的正弦波。而在电机控制中,影响结果的是电流,而影响电流大小的是线电压(两端之间的电压产生电流)。只要能够保证线电压波形正弦,就能够保证相电流波形正弦,相电流波形正弦,就能够保证输出转矩平稳。至于相电压波形,并不重要。
当然,说相电压波形不重要也是不严谨的。毕竟,线电压是由两相电压相减得到的。严谨一点说,因为相电压两两相减得到线电压,所以,要让线电压正弦,只需要,三相电压的基频是相位差120度的正弦波,在这个基础上,三相电压可以叠加任何波形。而线电压是相电压基频正弦波的sqrt(3)倍。
对于上述描述,可以用实验证明。
10hz,幅度0.5,相位差120度的三相正弦波

生成10hz,幅度0.5,相位差120度的三相正弦波

频率10hz幅度为0.1的余弦波

三相同时叠加频率10hz幅度为0.1的余弦波

叠加后波形

基波减去余弦波后波形如图

上图为叠加前ab两相相减,下图为叠加后ab两相相减,结果一致

上图为叠加前ab两相相减,下图为叠加后ab两相相减,结果一致。
综上,为了提高母线电压利用率(尽可能增加线电压幅值),我们可以在相电压上叠加某种波形,只需,当相电压整体较大时,叠加一个负电压让整体下移,当相电压整体较小时,叠加一个正电压让整体上移,就可以保证在相电压不超过正负0.5Vdc时,输出更大的线电压。
那么,叠加一个什么样的电压,才是最合理的呢?
为了让输出的相电压不超过边界,在相电压基频幅度很大时,就要叠加一个绝对值较大的负电压,即,整体下移。在相电压基频幅度很小时(值为负),就要叠加一个绝对值较大的正电压,即,整体上移。
考虑该方法的核心思想是上下平移参考点,相比较spwm,参考点一直为0,我称该方法为中点平移法。

2、代码分析
2.1、matlab代码实现
simulink中使用matlab function实现svGen模块。代码如下:

function duty_3   = svGen(Valpha,Vbeta,Vdc)

Valpha_Pu = Valpha/Vdc;
Vbeta_Pu = Vbeta/Vdc;

Vabc_Pu = zeros(3,1);
duty = zeros(3,1);

Vabc_Pu(1) = Valpha_Pu;
Vabc_Pu(2) = -0.5 * Valpha_Pu  + sqrt(3)/2 * Vbeta_Pu;
Vabc_Pu(3) = -0.5 * Valpha_Pu  - sqrt(3)/2 * Vbeta_Pu;

Vmax_Pu = max(Vabc_Pu);
Vmin_Pu = min(Vabc_Pu);

Vcom_Pu = 0.5 * (Vmax_Pu + Vmin_Pu);

duty(1) = Vabc_Pu(1) - Vcom_Pu + 0.5;
duty(2) = Vabc_Pu(2) - Vcom_Pu + 0.5;
duty(3) = Vabc_Pu(3) - Vcom_Pu + 0.5;

duty_3 = duty;

2.2、实现过程分析
模块的输入为αβ轴电压Vα,Vβ和母线电压Vdc,模块输出为pwm占空比。
对于输入量Valpha,Vbeta,单位V;先根据母线电压转换为标幺值。
然后进行逆clark变换,得到标幺的三相电压Vabc_Pu.对于spwm调制,直接把Vabc_Pu加偏置输出即可。但是为了更高的母线电压利用率,此处进行了更多处理。
下一步找当前时刻三相电压中的最大值和最小值Vmax_Pu,Vmin_Pu.
随后计算中点,Vcom_Pu,此处为关键部分。
最后,输出的占空比为相电压减去中点电压,在加0.5的偏置,把占空比从-0.5到0.5,抬高到0-1.
试想,如果无论在任何时候,都认为中点是0,那么当某一相相电压基波幅度达到0.5Vdc时,该相输出占空比即达到100%.但是若中点为当前最大值与最小值的一半,某一相为0.5Vdc,另外两相分别为0.5Vdc*sin(-30°),0.5Vdc*sin(270°),即-0.25Vdc,-0.25Vdc.此时的中点电压为0.125Vdc,输出占空比为0.5-0.125+0.5 = 0.875,还没有到100%,同时,其他各时刻在中点未平移时,输出占空比未到100%,故相电压基波幅值还可以继续增加。

2.3、算法仿真分析
相电压幅度0.5Vdc

以相电压幅度0.5Vdc时为例,分析波形。

占空比输出

三相占空比输出如图所示,同经典svpwm调制方法波形近似,输出占空比波形为马鞍波。值得注意的是,符合上述分析,输出最大占空比未达到100%.

相电压叠加三倍频率三角波

我们知道,经典svpwm马鞍波是基波和与基波呈三倍频率关系的三角波的叠加,我们显示出中点平移法svpwm与基频叠加的Vcom_Pu,可以看到,该方法叠加的波形也是与基波程3倍频关系的三角波。

3、要点分析
上文中提到,中点平移法svpwm通过上下平移中点的方法扩大相电压基波幅度范围。显然无论如何平移输出范围依然是有限的,那么,这么范围如何确定呢?在向下平移中点的时候,要保证输出的相电压最小值不小于-0.5Vdc,向上平移中点的时候,要考虑相电压最大值不大于0.5Vdc.无论如何平移,某个时刻输出电压的最大值减去输出电压的最小值要满足,Vmax - Vmin <= Vdc,当 Vmax - Vmin == Vdc时,平移之后的电压最大值刚好是0.5Vdc,最小值-0.5Vdc,此时达到逆变器能够输出的理论极限。
在这里插入图片描述

绘出Vmax - Vmin波形如上图红色曲线所示,对比三相电压基波波形,容易看出,Vmax - Vmin最大值出现在某相电压过零0,此时另外两相电压方向相反,大小相等。
分析Vmax - Vmin = Vdc时,相电压基波幅值。
以A相相位为0时为例,此时A相幅值为0,B、C两相大小相等,相位分别为120°,-120°,两相幅值之差等于Vdc,此时Amp*sin(120°) = 0.5Vdc,其中Amp为相电压幅度,可以计算Amp = 1/sqrt(3) = 0.577;
相电压幅度0.577

另相电压幅度为0.577,运行仿真。占空比最大值1,最小值0;校验正确。同经典svpwm调制结论一致。

上面仿真使用的svpwm模块为Simulink永磁同步电机控制仿真系列九中模型子模块,想要的朋友可以在下面链接下载。
Simulink永磁同步电机控制仿真系列九模型

经典svpwm方法理论参考永磁同步电机控制笔记:空间矢量调制svpwm实现及分析