基于 Simulink 的 SVPWM 仿真
这是我大四上学期一节实验课的内容。
参考自:
- 彻底搞懂两电平SVPWM调制原理及其仿真_木修于淋_bilibili
- Matlab利用simulink搭建SVPWM_第一部分_机灵的大不懂_bilibili
- Matlab利用simulink搭建SVPWM_第二部分_机灵的大不懂_bilibili
结合了两位 up 主的方法,搭建了一个 MATLAB / Simulink 下的 SVPWM 仿真模型。
模型概览
SVPWM 简介
交流电动机需要输入三相正弦电流的最终目的是在电动机空间形成 圆形旋转磁场,从而产生恒定的电磁转矩。
以终为始,以圆形旋转磁场为目标,控制逆变器的工作,这种控制方法就叫做 磁链跟踪控制,它是基于电压空间矢量实现的,所以又称 电压空间矢量 PWM(Space Vector PWM,SVPWM)。
具体计算就不详细介绍了,可参见 SVPWM算法原理及详解_丘木木_CSDN。
3/2 变换
根据电压空间矢量的定义,交流电动机定子的三相绕组电压矢量在空间互差 ,为了方便进行扇区判断,这里采用 3/2 变换将三相坐标系映射到两相坐标系中。
3/2 变换的公式是:
其中
据此可搭出:
不过其实 SIMULINK 有提供现成的 3/2 变换模块:
这里输出的 0 用不上,可以接个 Terminator。
将两相坐标转化为极坐标
为了得到电压矢量的角度,以用来判断扇区,需要将两相坐标转化为极坐标。
转化方法:角度是 arctan,模长是平方和开根号(模长在该模型中用不上,这里就是顺便计算一下)。
扇区计算
有了极坐标系下的角度,就可以进行扇区判断了。
0 – 60° 就是扇区Ⅰ,60° – 120° 就是扇区Ⅱ……依次类推。
目前为止,可以接个示波器简单验证一下已经搭建的模型是否正确:
效果
作用时间计算
公式:
但是不知道为什么,我用这个公式搭出来的仿真结果不正确,而用另一套等价的公式一次性就正确了。所以我用的是这套等价的公式:
SIMULINK 搭建:
调制波计算
有了各扇区内两个矢量的作用时间,就可据此与三角载波的关系计算出调制波了。
采用零矢量分散的实现方法。可通过三角形相似定理计算,以第Ⅰ扇区为例:
这里的 Vta
、Vtb
、Vtc
分别相当于 Sa
、Sb
、Sc
。
容易发现计算结果是有规律的。
其他扇区也同理,有规律可循。最终计算结果:
据此可搭出 SIMULINK 模型:
观察一下调制波波形:
触发脉冲计算
有了调制波,将它和三角载波进行比较就能得到逆变桥所需的触发脉冲信号了。
至此,SVPWM 的主要工作就做完了。接下来是将触发脉冲应用到逆变桥中进行验证。
逆变器验证
三相线电压波形:
验证成功。
相关参数
f
表示开关频率(采样频率),Ts
表示开关周期(采样周期),Vdc
表示直流母线电压,m
表示作用时间的系数,其含义相当于利用率。
Ts
体现在三角载波:
Vdc
体现在逆变桥的直流电压输入:
m
体现在输入的标准三相正弦信号,m = sqrt(3)*380/Vdc,其中 380
表示期望输出的相电压幅值:
理论输出线电压幅值是 380 * sqrt(3) ≈ 658,可见结果符合。
与 SPWM 相比较
SVPWM
fundamental
= 520.8
SPWM
fundamental
= 451
520.8 / 451 ≈ 1.15 ,可见 SVPWM 相比于普通的 SPWM,电压输出提高了约 15% 。