电机驱动(二)——SVPWM

4 篇文章 1 订阅
2 篇文章 0 订阅

电机驱动(二)——SVPWM


version : v1.0 「2022.7.28」 最后补充


author: Y.Z.T.


摘要: 简要介绍FOC驱动从坐标变换到SVPWM 各个部分在MATLAB仿真和硬件平台实现的学习过程


备注: ❗️面向自己的笔记 , 有的地方可能说的不是很清晰




⭐️ 目录



3️⃣ SVPWM 控制流程

S V P W M { 输 入 V α 和 V β 输 出 三 相 定 时 器 的 p w m SVPWM \begin{cases} 输入V_\alpha 和 V_\beta\\ 输出三相定时器的pwm \end{cases} SVPWM{VαVβpwm

控制流程:

①获取 V α V_\alpha Vα V β V_\beta Vβ

②根据 V α V_\alpha Vα V β V_\beta Vβ 判断当前扇区

③计算相邻两个矢量 , 每个矢量的作用时长

④通过矢量作用时长计算出定时器的高电平时间

⑤通过定时器每个高电平时间计算出每个通道的CCR值


3.1 引入

  • 首先我们需要在三相线圈里面产生正弦的交流电流 ,来产生旋转的磁场 , 进而控制转子的转动 ;
  • 而三相正弦电流 由三相正弦电压产生 , 但是我们的供电是直流供电的方式
  • 通过mos管控制 , 只有 通和不通两种状态 , 所以通过平均值等效的方式, 将正弦波转换为pwm波
  • 最终实现 , 通过直流mos管的开关 , 来模拟正弦的电压信号

正弦波转换成pwm波

image-20221005141253629

用上面坐标系中的正弦波和三角波的交点投影到下面的坐标轴,以此确定PWM的占空比变化规律,这样合成的PWM波,经过低通滤波器之后,其实就等效为了一个正弦波


3.2 空间电压矢量

  • 前面提到了6步换向的驱动方式 , 通过ABC三个桥臂的组合 , 总共有8个状态.
  • 即有8个矢量方向, 通过相邻两个矢量的合成 , 就可以合成任意方向的矢量
3.2.1 等效电路

image-20221015211910937


示例: 以(110) 和 (011)为例

image-20221016215020022



3.2.2 八个矢量对应的电压关系

image-20221015212111169



3.3.3合成矢量 U U U

三相电压矢量 U a 、 U b 、 U c U_a 、U_b、U_c UaUbUc 合成矢量 U U U

image-20221016225049166

补充:

  • 可以看到合成后的矢量的模 U d c U_{dc} Udc , 但六个方向矢量的模却是 2 3 U d c \frac{2}{3}U_{dc} 32Udc
  • 这是因为, 在从***x - y坐标系*** 等幅变换到*** α − β \alpha - \beta αβ 坐标系***的过程中 , 进行了缩放 (即矢量长度缩小了1.5倍)
  • 但是这种缩放 , 并不影响最后的占空比结果


3.3.4 小结

小结:

  • 八个电压矢量中, 000111零矢量 ;
  • 其他6个矢量将整个空间划分成了6个扇区
  • 为了减少管子在开关过程中的损耗 , 要保证每次都只改动一个桥臂的动作
  • 所以六个矢量的大小都是 2 3 V d c \frac{2}{3}V_{dc} 32Vdc

image-20221203182651642



3.3 怎么合成任意向量

通过合理配置六个基向量 , 在一个PWM周期中的作用的时间 , 就能合成出任意的空间电压矢量

image-20221018150449621

其中 :

  • U r e f U_{ref} Uref 表示合成的空间电压矢量;
  • T s T_s Ts 表示一个PWM的作用周期;
  • T x T_x Tx T y T_y Ty 分别表示 X 方 向 矢 量 X方向矢量 X Y 方 向 矢 量 Y方向矢量 Y的作用时长

小结:

  • T x T_x Tx T y T_y Ty 的比值决定合成矢量的方向 ;

  • 空矢量决定了力矩的大小;

  • 当空矢量作用时间长的时候 , 合成矢量就小 , 电压就小 ; 电压小,电流也小 , 电机的扭矩就变小;


3.4 扇区判断

前面提到 , SVPWM的输入是 V α V_\alpha Vα V β V_\beta Vβ , 我们需要通过 V α V_\alpha Vα V β V_\beta Vβ 来获取角度信息, 进行扇区判断。

3.4.1 由 V α V_\alpha Vα V β V_\beta Vβ 获取角度信息

ABC三相电压
{ V a = V m   ×   cos ⁡ θ V b = V m   ×   cos ⁡ ( θ   − 2 3 π ) V b = V m   ×   cos ⁡ ( θ   + 2 3 π ) \begin{cases} V_a = V_m\ \times \ \cos{\theta} \\ V_b = V_m\ \times \ \cos{(\theta\ - \frac{2}{3}\pi)}\\ V_b = V_m\ \times \ \cos{(\theta\ + \frac{2}{3}\pi)} \end{cases} Va=Vm × cosθVb=Vm × cos(θ 32π)Vb=Vm × cos(θ +32π)

  • 其中 V m V_m Vm 为相电压有效值

α \alpha α - β \beta β 坐标系中 V α V_\alpha Vα V β V_\beta Vβ 表达式
{ V α = V a ⋅ cos ⁡ 0 ∘ −   V b ⋅ cos ⁡ π 3   −   V c ⋅ cos ⁡ π 3 V β   =   V a ⋅ cos ⁡ 9 0 ∘ +   V b ⋅ cos ⁡ π 6   −   V c ⋅ cos ⁡ π 6 \begin{cases} V_\alpha =V_a\cdot\cos{0^{\circ}} -\ V_b \cdot\cos{\frac{\pi}{3}}\ -\ V_c\cdot\cos{\frac{\pi}{3} }\\ V_\beta\ =\ V_a\cdot\cos{90^{\circ}} +\ V_b \cdot\cos{\frac{\pi}{6}}\ -\ V_c\cdot\cos{\frac{\pi}{6} } \end{cases} {Vα=Vacos0 Vbcos3π  Vccos3πVβ = Vacos90+ Vbcos6π  Vccos6π

将ABC三相电压代入得
{ V α = 2 3 V m ⋅ ( c o s θ −   1 2 ⋅ cos ⁡ ( θ − 2 3 π )   −   1 2 ⋅ cos ⁡ ( θ + 2 3 π ) V α = 2 3 V m ⋅ ( 3 2 ⋅ cos ⁡ ( θ − 2 3 π )   −   3 2 ⋅ cos ⁡ ( θ + 2 3 π ) \begin{cases} V_\alpha =\frac{2}{3}V_m\cdot(cos{\theta} -\ \frac{1}{2} \cdot\cos({\theta-\frac{2}{3}\pi})\ -\ \frac{1}{2} \cdot\cos({\theta+\frac{2}{3}\pi})\\ V_\alpha =\frac{2}{3}V_m\cdot(\frac{\sqrt{3}}{2} \cdot\cos({\theta-\frac{2}{3}\pi})\ -\ \frac{\sqrt{3}}{2} \cdot\cos({\theta+\frac{2}{3}\pi})\\ \end{cases} {Vα=32Vm(cosθ 21cos(θ32π)  21cos(θ+32π)Vα=32Vm(23 cos(θ32π)  23 cos(θ+32π)

化简得
{ V α = V m ⋅ cos ⁡ θ V β = V m ⋅ sin ⁡ θ \begin{cases} V_\alpha = V_m \cdot\cos{\theta}\\ V_\beta = V_m \cdot\sin{\theta} \end{cases} {Vα=VmcosθVβ=Vmsinθ

提取出角度信息
θ = arctan ⁡ ( V β V α ) \theta = \arctan{(\frac{V_\beta}{V_\alpha})} θ=arctan(VαVβ)


3.4.2 扇区判断原理

扇区判断的原理是根据**矢量的角位置 θ \theta θ**确定矢量在哪个区间


六个扇区对应的角度

扇区角度消除 arctan ⁡ \arctan arctan
I 0   < arctan ⁡ ( V β V α ) <   6 0 ∘ 0\ <\arctan{(\frac{V_\beta}{V_\alpha})}<\ 60^{\circ} 0 <arctan(VαVβ)< 60 0 < V β V α < 3 0 < \frac{V_\beta}{V_\alpha}< \sqrt{3} 0<VαVβ<3
II 6 0 ∘   < arctan ⁡ ( V β V α ) <   12 0 ∘ 60^{\circ}\ <\arctan{(\frac{V_\beta}{V_\alpha})}<\ 120^{\circ} 60 <arctan(VαVβ)< 120 ∣ V β V α ∣ > 3 | \frac{V_\beta}{V_\alpha} |> \sqrt{3} VαVβ>3
III 12 0 ∘   < arctan ⁡ ( V β V α ) <   18 0 ∘ 120^{\circ}\ <\arctan{(\frac{V_\beta}{V_\alpha})}<\ 180^{\circ} 120 <arctan(VαVβ)< 180 − 3 < V β V α < 0 -\sqrt{3} < \frac{V_\beta}{V_\alpha}< 0 3 <VαVβ<0
IV 18 0 ∘   < arctan ⁡ ( V β V α ) <   24 0 ∘ 180^{\circ}\ <\arctan{(\frac{V_\beta}{V_\alpha})}<\ 240^{\circ} 180 <arctan(VαVβ)< 240 0 < V β V α < 3 0 < \frac{V_\beta}{V_\alpha}< \sqrt{3} 0<VαVβ<3
V 24 0 ∘   < arctan ⁡ ( V β V α ) <   27 0 ∘ 240^{\circ}\ <\arctan{(\frac{V_\beta}{V_\alpha})}<\ 270^{\circ} 240 <arctan(VαVβ)< 270 ∣ V β V α ∣ > 3 | \frac{V_\beta}{V_\alpha}| > \sqrt{3} VαVβ>3
VI 27 0 ∘   < arctan ⁡ ( V β V α ) <   36 0 ∘ 270^{\circ}\ <\arctan{(\frac{V_\beta}{V_\alpha})}<\ 360^{\circ} 270 <arctan(VαVβ)< 360 − 3 < V β V α < 0 -\sqrt{3} < \frac{V_\beta}{V_\alpha}< 0 3 <VαVβ<0

由波形图像可获取 V α V_\alpha Vα V β V_\beta Vβ 在各个扇区的值

image-20221015230944109

汇总得

扇区 V β V_\beta Vβ V α V_\alpha Vα代入 V α V_\alpha Vα V β V_\beta Vβ , 化简 V β V α \frac{V_\beta}{V_\alpha} VαVβ
I V β V_\beta Vβ > 0 V α V_\alpha Vα > 0 V β V α < 3 \frac{V_\beta}{V_\alpha}< \sqrt{3} VαVβ<3
II V β V_\beta Vβ > 0 V α V_\alpha Vα > 0 V β ∣ V α ∣ > 3 \frac{V_\beta}{|V_\alpha |}> \sqrt{3} VαVβ>3
III V β V_\beta Vβ > 0 V α V_\alpha Vα < 0 V β − V α < 3 \frac{V_\beta}{-V_\alpha}< \sqrt{3} VαVβ<3
IV V β V_\beta Vβ < 0 V α V_\alpha Vα < 0 V β V α < 3 \frac{V_\beta}{V_\alpha}< \sqrt{3} VαVβ<3
V V β V_\beta Vβ < 0 V α V_\alpha Vα < 0 V β ∣ V α ∣ > 3 \frac{V_\beta}{|V_\alpha |}> \sqrt{3} VαVβ>3
VI V β V_\beta Vβ < 0 V α V_\alpha Vα > 0 − V β V α < 3 \frac{-V_\beta}{V_\alpha}< \sqrt{3} VαVβ<3

进行不等式展开

扇区 V β V_\beta Vβ值(A相)原不等式展开 (B相)(C相)
I V β V_\beta Vβ > 0 V β V α < 3 \frac{V_\beta}{V_\alpha}< \sqrt{3} VαVβ<3 3 2 V α − 1 2 V β \frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ > 0 − 3 2 V α − 1 2 V β -\frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ < 0
II V β V_\beta Vβ > 0 V β ∣ V α ∣ > 3 \frac{V_\beta}{|V_\alpha|}> \sqrt{3} VαVβ>3 3 2 V α − 1 2 V β \frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ < 0 − 3 2 V α − 1 2 V β -\frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ < 0
III V β V_\beta Vβ > 0 V β V α < 3 \frac{V_\beta}{V_\alpha}< \sqrt{3} VαVβ<3 3 2 V α − 1 2 V β \frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ < 0 − 3 2 V α − 1 2 V β -\frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ > 0
IV V β V_\beta Vβ < 0 V β V α < 3 \frac{V_\beta}{V_\alpha}< \sqrt{3} VαVβ<3 3 2 V α − 1 2 V β \frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ < 0 − 3 2 V α − 1 2 V β -\frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ > 0
V V β V_\beta Vβ < 0 V β ∣ V α ∣ > 3 \frac{V_\beta}{| V_\alpha |}> \sqrt{3} VαVβ>3 3 2 V α − 1 2 V β \frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ > 0 − 3 2 V α − 1 2 V β -\frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ > 0
VI V β V_\beta Vβ < 0 − V β V α < 3 \frac{-V_\beta}{V_\alpha}< \sqrt{3} VαVβ<3 3 2 V α − 1 2 V β \frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ > 0 − 3 2 V α − 1 2 V β -\frac{\sqrt{3}}{2}V_\alpha -\frac{1}{2}V_\beta 23 Vα21Vβ < 0

如上所示:
将ABC三相在α-β 坐标系下 , 建立以 V β V_\beta Vβ轴为参考的坐标系

image-20221016160413780

新的坐标系在MATLAB中的仿真

image-20221016153027213

如上所示:

  • 可以观察到 , 在每一个扇区都存在 两条曲线在 其中一侧 , 一条曲线在另一侧
  • 通过判断这三条曲线 与 0的关系即可确定当前所在的扇区.


3.4.3 小结

通过以上的计算结论 , 可以通过以下三个数值来判断扇区。
{ V a = V β V b = 3 2 V α − 1 2 V β V c = − 3 2 V a − 1 2 V β \begin{cases} V_a = V_\beta \\ V_b = \frac{\sqrt{3}}{2}V_\alpha - \frac{1}{2}V_\beta\\ V_c = -\frac{\sqrt{3}}{2}V_a - \frac{1}{2}V_\beta \end{cases} Va=VβVb=23 Vα21VβVc=23 Va21Vβ

  • V a V_a Va > 0时, 令 A = 1; else A = 0;
  • V b V_b Vb > 0时 , 令B = 1; else B = 0;
  • V c V_c Vc > 0 时, 令C = 1; else C = 0;
  • N = 4C + 2B + A ,
  • 通过N , 与各个扇区进行唯一的对应 , 且对ABC 三相利用一个二进制数字进行表示

扇区 − 3 2 V a − 1 2 V β -\frac{\sqrt{3}}{2}V_a - \frac{1}{2}V_\beta 23 Va21Vβ ( C)\ 3 2 V α − 1 2 V β \frac{\sqrt{3}}{2}V_\alpha - \frac{1}{2}V_\beta 23 Vα21Vβ (B) V β V_\beta Vβ (A)N=4C+2B+A
I0113
II0011
III1015
IV1004
V1106
VI0102


3.5 电压利用率

结论放前面: SVPWM的电压利用率是100%


3.5.1 公式与结论

首先电压利用率的公式:
直 流 母 线 电 压 利 用 率 = 输 出 线 电 压 幅 值 直 流 母 线 电 压 (公式1) 直流母线电压利用率 = \frac{输出线电压幅值}{直流母线电压} \tag{公式1} 线=线线(1)
前面提到ABC三相电压空间矢量
{ U a = U m   ×   cos ⁡ θ U b = U m   ×   cos ⁡ ( θ   − 2 3 π ) U b = U m   ×   cos ⁡ ( θ   + 2 3 π ) \begin{cases} U_a = U_m\ \times \ \cos{\theta} \\ U_b = U_m\ \times \ \cos{(\theta\ - \frac{2}{3}\pi)}\\ U_b = U_m\ \times \ \cos{(\theta\ + \frac{2}{3}\pi)} \end{cases} Ua=Um × cosθUb=Um × cos(θ 32π)Ub=Um × cos(θ +32π)

三相电压合成的空间矢量(即输出电压)
U = U a   + U b ⋅ e j 2 π 3   + U c ⋅ e − j 2 π 3   = 3 2 U m ⋅ e j θ (结论1) U = U_a \ +U_b\cdot e^{j\frac{2\pi}{3}} \ +U_c\cdot e^{-j\frac{2\pi}{3}}\ = \frac{3}{2}U_m\cdot e^{j\theta}\tag{结论1} U=Ua +Ubej32π +Ucej32π =23Umejθ(1)

小结:

  • 可以看到 , U U U 是一个幅值为相电压峰值1.5倍的旋转空间矢量
  • 且空间矢量 U U U在三相坐标轴 (a , b , c)上投影是对称的三相正弦量

合成空间矢量 U U U的推导过程 (记住结论就行 , 过程随便看看)

image-20221017222645146

3.5.2 小结
  • 三相正弦电压合成的空间矢量的幅值是相电压幅值的 3 2 \frac{3}{2} 23

  • 三相的相电压幅值最高为 2 U d c 3 \frac{2U_{dc}}{3} 32Udc (怎么来的可以看前面提到的这个表格)

  • 所以合成矢量电压幅值 U = 2 U d c 3   ×   3 2   = U d c U =\frac{2U_{dc}}{3}\ \times\ \frac{3}{2}\ = U_{dc} U=32Udc × 23 =Udc

  • 代入**(公式1)**得 , 直 流 母 线 电 压 利 用 率 = U d c U d c = 100 % 直流母线电压利用率 = \frac{U_{dc}}{U_{dc}} = 100\% 线=UdcUdc=100%



3.6 矢量作用时间计算

3.6.1 第一扇区
image-20221024223117346
  • 已知条件

{ ∣ U 4 ∣ = ∣ U 6 ∣ = 2 3 ∣ U d c ∣   U r e f ⋅ T s   =   U 4 ⋅ T 4   +   U 6 ⋅ T 6   +   U 0 ⋅ T 0 U r e f × cos ⁡ θ = U α U r e f × sin ⁡ θ = U β \begin{cases} \left |U_4 \right | = \left | U_6\right | = \frac{2}{3}\left | U_{dc}\right | \\ \ \\ U_{ref}\cdot T_s \ = \ U_4\cdot T_4\ +\ U_6\cdot T_6\ +\ U_0\cdot T_0 \\ \\ U_{ref}\times \cos{\theta} = U_\alpha \\ \\ U_{ref}\times \sin{\theta} = U_\beta \end{cases} U4=U6=32Udc UrefTs = U4T4 + U6T6 + U0T0Uref×cosθ=UαUref×sinθ=Uβ


  • 将目标矢量 U r e f U_{ref} Uref 投影到相邻两个矢量 U 4 和 U 6 U_4和U_6 U4U6

{ U r e f × cos ⁡ θ = ∣ U 4 ∣ × T 4 T s + ∣ U 6 ∣ × T 6 T s × cos ⁡ π 3   U r e f × sin ⁡ θ = ∣ U 6 ∣ × T 6 T s × sin ⁡ π 3 \begin{cases} U_{ref}\times \cos{\theta} = \left | U_4\right | \times \frac{T_4}{T_s} + \left | U_6\right | \times \frac{T_6}{T_s}\times\cos{\frac{\pi}{3}}\\ \ \\ U_{ref} \times \sin{\theta} = \left | U_6\right | \times \frac{T_6}{T_s}\times\sin{\frac{\pi}{3}} \end{cases} Uref×cosθ=U4×TsT4+U6×TsT6×cos3π Uref×sinθ=U6×TsT6×sin3π


  • 代入已知条件得

{ U α   ⋅ T s =   2 3 ⋅ U d c ( T 4   +   T 6 ⋅ 1 2 ) U β   ⋅ T s =   2 3 ⋅ U d c ⋅ T 6 ⋅ 3 2 \begin{cases} U_\alpha\ \cdot T_s= \ \frac{2}{3}\cdot U_{dc}(T_4\ +\ T_6\cdot\frac{1}{2})\\ \\ U_\beta\ \cdot T_s=\ \frac{2}{3}\cdot U_{dc}\cdot T_6\cdot \frac{\sqrt{3}}{2} \end{cases} Uα Ts= 32Udc(T4 + T621)Uβ Ts= 32UdcT623


  • 整理解得

{ T 6   =   3 ⋅ T s U d c ⋅ U β T 4   =   3 ⋅ T s U d c ( 3 2 U α   −   1 2 U β ) T 0   =   T s   −   T 6   −   T 4 \begin{cases} T_6\ = \ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot U_\beta\\ \\ T_4\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}(\frac{\sqrt{3}}{2}U_\alpha\ -\ \frac{1}{2}U_\beta)\\ \\ T_0\ =\ T_s\ -\ T_6\ -\ T_4 \end{cases} T6 = Udc3 TsUβT4 = Udc3 Ts(23 Uα  21Uβ)T0 = Ts  T6  T4



3.6.2 第二扇区
image-20221024223134420

注意此时的角度定义


  • 将目标矢量 U r e f U_{ref} Uref 投影到相邻两个矢量$U_6 $ 和 U 2 U_2 U2

{ U r e f × cos ⁡ ( θ   −   π 3 ) = ∣ U 6 ∣ × T 6 T s + ∣ U 2 ∣ × T 2 T s × cos ⁡ π 3 U r e f × sin ⁡ ( θ   −   π 3 )   =   ∣ U 2 ∣   ×   T 2 T s   ×   sin ⁡ π 3 \begin{cases} U_{ref}\times \cos({\theta}\ -\ \frac{\pi}{3}) = \left | U_6\right | \times \frac{T_6}{T_s} + \left | U_2\right | \times \frac{T_2}{T_s}\times\cos{\frac{\pi}{3}}\\ \\ U_{ref}\times \sin({\theta}\ -\ \frac{\pi}{3})\ =\ |U_2|\ \times\ \frac{T_2}{T_s}\ \times\ \sin{\frac{\pi}{3}} \end{cases} Uref×cos(θ  3π)=U6×TsT6+U2×TsT2×cos3πUref×sin(θ  3π) = U2 × TsT2 × sin3π


  • 最终整理解得

{ T 2   =   3 ⋅ T s U d c ⋅ ( − 3 2 U α   +   1 2 U β ) T 6   =   3 ⋅ T s U d c ( 3 2 U α   +   1 2 U β ) T 0   =   T s   −   T 2   −   T 6 \begin{cases} T_2\ = \ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot(-\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) \\ \\ T_6\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}(\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta)\\ \\ T_0\ =\ T_s\ -\ T_2\ -\ T_6 \end{cases} T2 = Udc3 Ts(23 Uα + 21Uβ)T6 = Udc3 Ts(23 Uα + 21Uβ)T0 = Ts  T2  T6



3.6.3 第三到第六扇区

计算方法与上面都是一样的, 直接给出最终结果


  • 第三扇区

{ T 3   =   − 3 ⋅ T s U d c ⋅ ( 3 2 U α   +   1 2 U β ) T 2   =   3 ⋅ T s U d c ⋅ U β T 0   =   T s −   T 2   −   T 3 \begin{cases} T_3\ =\ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot(\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) \\ \\ T_2\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot U_\beta\\ \\ T_0\ = \ T_s-\ T_2\ -\ T_3 \end{cases} T3 = Udc3 Ts(23 Uα + 21Uβ)T2 = Udc3 TsUβT0 = Ts T2  T3


  • 第四扇区

{ T 1   =   − 3 ⋅ T s U d c ⋅ U β T 3   =   3 ⋅ T s U d c ⋅ ( − 3 2 U α   +   1 2 U β ) T 0   =   T s −   T 1   −   T 3 \begin{cases} T_1\ =\ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot U_\beta \\ \\ T_3\ = \ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot(-\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) \\ \\ T_0\ = \ T_s-\ T_1\ -\ T_3 \end{cases} T1 = Udc3 TsUβT3 = Udc3 Ts(23 Uα + 21Uβ)T0 = Ts T1  T3


  • 第五扇区

{ T 5   =   − 3 ⋅ T s U d c ⋅ ( − 3 2 U α   +   1 2 U β ) T 1   =   − 3 ⋅ T s U d c ⋅ ( 3 2 U α   +   1 2 U β ) T 0   =   T s −   T 1   −   T 5 \begin{cases} T_5\ =\ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot (-\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) \\ \\ T_1\ = \ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot(\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) \\ \\ T_0\ = \ T_s-\ T_1\ -\ T_5 \end{cases} T5 = Udc3 Ts(23 Uα + 21Uβ)T1 = Udc3 Ts(23 Uα + 21Uβ)T0 = Ts T1  T5


  • 第六扇区

{ T 4   =   3 ⋅ T s U d c ⋅ ( 3 2 U α   +   1 2 U β ) T 5   =   − 3 ⋅ T s U d c ⋅ U β T 0   =   T s −   T 4   −   T 5 \begin{cases} T_4\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot (\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) \\ \\ T_5\ = \ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot U_\beta \\ \\ T_0\ = \ T_s-\ T_4\ -\ T_5 \end{cases} T4 = Udc3 Ts(23 Uα + 21Uβ)T5 = Udc3 TsUβT0 = Ts T4  T5



3.6.4 小结

设每个扇区中先作用的矢量为Tx , 后作用的矢量为Ty

扇区N T x T_x Tx T y T_y Ty
IN = 3 T 4   =   3 ⋅ T s U d c ( 3 2 U α − 1 2 U β ) T_4\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}(\frac{\sqrt{3}}{2}U_\alpha-\frac{1}{2}U_\beta) T4 = Udc3 Ts(23 Uα21Uβ) T 6   =   3 ⋅ T s U d c ⋅ U β T_6\ = \ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot U_\beta T6 = Udc3 TsUβ
IIN = 1 T 2   =   3 ⋅ T s U d c ⋅ ( − 3 2 U α   +   1 2 U β ) T_2\ = \ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot(-\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) T2 = Udc3 Ts(23 Uα + 21Uβ) T 6   =   3 ⋅ T s U d c ( 3 2 U α   +   1 2 U β ) T_6\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}(\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) T6 = Udc3 Ts(23 Uα + 21Uβ)
IIIN = 5 T 2   =   3 ⋅ T s U d c ⋅ U β T_2\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot U_\beta T2 = Udc3 TsUβ T 3   =   − 3 ⋅ T s U d c ⋅ ( 3 2 U α   +   1 2 U β ) T_3\ =\ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot(\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) T3 = Udc3 Ts(23 Uα + 21Uβ)
IVN = 4 T 1   =   − 3 ⋅ T s U d c ⋅ U β T_1\ =\ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot U_\beta T1 = Udc3 TsUβ T 3   =   3 ⋅ T s U d c ⋅ ( − 3 2 U α   +   1 2 U β ) T_3\ = \ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot(-\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) T3 = Udc3 Ts(23 Uα + 21Uβ)
VN = 6 T 1   =   − 3 ⋅ T s U d c ⋅ ( 3 2 U α   +   1 2 U β ) T_1\ = \ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot(\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) T1 = Udc3 Ts(23 Uα + 21Uβ) T 5   =   − 3 ⋅ T s U d c ⋅ ( − 3 2 U α   +   1 2 U β ) T_5\ =\ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot (-\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) T5 = Udc3 Ts(23 Uα + 21Uβ)
VIN = 2 T 4   =   3 ⋅ T s U d c ⋅ ( 3 2 U α   +   1 2 U β ) T_4\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot (\frac{\sqrt{3}}{2}U_\alpha\ +\ \frac{1}{2}U_\beta) T4 = Udc3 Ts(23 Uα + 21Uβ) T 5   =   − 3 ⋅ T s U d c ⋅ U β T_5\ = \ -\frac{\sqrt{3}\cdot T_s}{U_{dc}}\cdot U_\beta T5 = Udc3 TsUβ

T 4   =   3 ⋅ T s U d c ( 3 2 U α − 1 2 U β ) T_4\ =\ \frac{\sqrt{3}\cdot T_s}{U_{dc}}(\frac{\sqrt{3}}{2}U_\alpha-\frac{1}{2}U_\beta) T4 = Udc3 Ts(23 Uα21Uβ)

补充:

  • 可以看到 , 整理出来的作用时间的表达式 与 之前扇区判断三相电压表达式类似

  • 可以进一步整理 , 方便后续与代码中的部分对应起来

  • 假设 K = 3 ⋅ T s U d c K= \frac{\sqrt{3}\cdot T_s}{U_{dc}} K=Udc3 Ts
    { U a = U β U b = 3 2 U α − 1 2 U β U c = − 3 2 U a − 1 2 U β K = 3 ⋅ T s U d c \begin{cases} U_a = U_\beta \\ U_b = \frac{\sqrt{3}}{2}U_\alpha - \frac{1}{2}U_\beta\\ U_c = -\frac{\sqrt{3}}{2}U_a - \frac{1}{2}U_\beta\\ K= \frac{\sqrt{3}\cdot T_s}{U_{dc}} \end{cases} Ua=UβUb=23 Uα21UβUc=23 Ua21UβK=Udc3 Ts


进一步整理出下表

扇区 T 0 T_0 T0 T 1 T_1 T1 T 2 T_2 T2 T 3 T_3 T3 T 4 T_4 T4 T 5 T_5 T5 T 6 T_6 T6 T 7 T_7 T7
I ( T s − T 4 − T 6 ) / 2 (T_s-T_4-T_6)/2 (TsT4T6)/2000 K ⋅ U b K\cdot U_b KUb0 K ⋅ U a K\cdot U_a KUa ( T s − T 4 − T 6 ) / 2 (T_s-T_4-T_6)/2 (TsT4T6)/2
II ( T s − T 2 − T 6 ) / 2 (T_s-T_2-T_6)/2 (TsT2T6)/20 − K ⋅ U b -K\cdot U_b KUb000 − K ⋅ U c -K\cdot U_c KUc ( T s − T 2 − T 6 ) / 2 (T_s-T_2-T_6)/2 (TsT2T6)/2
III ( T s − T 2 − T 3 ) / 2 (T_s-T_2-T_3)/2 (TsT2T3)/20 K ⋅ U a K\cdot U_a KUa K ⋅ U c K\cdot U_c KUc000 ( T s − T 2 − T 3 ) / 2 (T_s-T_2-T_3)/2 (TsT2T3)/2
IV ( T s − T 1 − T 3 ) / 2 (T_s-T_1-T_3)/2 (TsT1T3)/2 − K ⋅ U a -K\cdot U_a KUa0 − K ⋅ U b -K\cdot U_b KUb000 ( T s − T 1 − T 3 ) / 2 (T_s-T_1-T_3)/2 (TsT1T3)/2
V ( T s − T 1 − T 5 ) / 2 (T_s-T_1-T_5)/2 (TsT1T5)/2 K ⋅ U c K\cdot U_c KUc000 K ⋅ U b K\cdot U_b KUb0 ( T s − T 1 − T 5 ) / 2 (T_s-T_1-T_5)/2 (TsT1T5)/2
VI ( T s − T 4 − T 5 ) / 2 (T_s-T_4-T_5)/2 (TsT4T5)/2000 − K ⋅ U c -K\cdot U_c KUc − K ⋅ U a -K\cdot U_a KUa0 ( T s − T 4 − T 5 ) / 2 (T_s-T_4-T_5)/2 (TsT4T5)/2

3.7 七段式SVPWM

3.7.1矢量作用顺序
  • 我们都知道一个任意方向和大小的矢量需要8个矢量的作用时长
  • 为了确保每次在一个开关周期内, 只改变一个桥臂的开关 , 需要确定每个扇区内的矢量作用顺序
  • 即矢量从起点到终点的路线 , 这里选用的是七段式的SVPWM

以第一扇区为例:

image-20221026155400889
  • 可以看到可以从 U 4 U_4 U4的方向开始***(0-4-6-7-6-4-0), 也可以从 U 6 U_6 U6的方向开始 (7-6-4-0-4-6-7)***
  • 两种方式唯一的不同就是零向量的插入方式不同

注意: 不能直接先走完其中一个再走另一个 , 那样谐波比较大


同样的方法可以得到其他扇区矢量作用顺序

image-20221026164413339



3.7.2 矢量切换时间
  • 在知道了矢量的作用顺序之后 , 就可以把矢量的作用时间换成桥臂的开关时间
  • 即可以确定A、B、C三相桥臂的切换时间点
3.7.2.1 第一扇区

还是以第一扇区为例:

简单计算确定,七段SVPWM每段的作用时长 ;

(0-4-6-7-6-4-0)矢量持续时间如下图所示

image-20221026170331272


  • 其中 S a S_a Sa S b S_b Sb S c S_c Sc 分别是三相桥臂的开关状态
  • 各段的作用时间分别是( T s − T 4 − T 6 4 、 T 4 2 、 T 6 2 、 T s − T 4 − T 6 2 、 T 6 2 、 T 4 2 、 T s − T 4 − T 6 4 \frac{T_s-T_4-T_6}{4}、\frac{T_4}{2}、\frac{T_6}{2}、\frac{T_s-T_4-T_6}{2}、\frac{T_6}{2}、\frac{T_4}{2}、\frac{T_s-T_4-T_6}{4} 4TsT4T62T42T62TsT4T62T62T44TsT4T6)

由上图可以看出, 三相桥臂的切换时间(送入定时器的比较值)
{ S a 切 换 时 间 = T s − T 4 − T 6 4 S b 切 换 时 间 = T s − T 4 − T 6 4 + T 4 2 = T s + T 4 − T 6 4 S c 切 换 时 间 = T s − T 4 − T 6 4 + T 4 2 + T 6 2 = T s + T 4 + T 6 4 \begin{cases} S_a切换时间 = \frac{T_s-T_4-T_6}{4} \\ \\ S_b切换时间= \frac{T_s-T_4-T_6}{4}+\frac{T_4}{2}=\frac{T_s+T_4-T_6}{4}\\ \\ S_c切换时间=\frac{T_s-T_4-T_6}{4}+\frac{T_4}{2}+\frac{T_6}{2}=\frac{T_s+T_4+T_6}{4} \end{cases} Sa=4TsT4T6Sb=4TsT4T6+2T4=4Ts+T4T6Sc=4TsT4T6+2T4+2T6=4Ts+T4+T6


3.7.2.2 第二扇区

image-20221026171916073

桥臂切换时间
{ S a 切 换 时 间 = T s + T 2 − T 6 4 S b 切 换 时 间 = T s − T 2 − T 6 4 S c 切 换 时 间 = T s + T 2 + T 6 4 \begin{cases} S_a切换时间 = \frac{T_s+T_2-T_6}{4} \\ \\ S_b切换时间= \frac{T_s-T_2-T_6}{4}\\ \\ S_c切换时间=\frac{T_s+T_2+T_6}{4} \end{cases} Sa=4Ts+T2T6Sb=4TsT2T6Sc=4Ts+T2+T6


3.7.2.3 第三扇区

image-20221026172600625

桥臂切换时间
{ S a 切 换 时 间 = T s + T 2 + T 3 4 S b 切 换 时 间 = T s − T 2 − T 3 4 S c 切 换 时 间 = T s + T 2 − T 3 4 \begin{cases} S_a切换时间 = \frac{T_s+T_2+T_3}{4} \\ \\ S_b切换时间= \frac{T_s-T_2-T_3}{4}\\ \\ S_c切换时间=\frac{T_s+T_2-T_3}{4} \end{cases} Sa=4Ts+T2+T3Sb=4TsT2T3Sc=4Ts+T2T3


3.7.2.4 第四扇区

image-20221026172841132

桥臂切换时间
{ S a 切 换 时 间 = T s + T 1 + T 3 4 S b 切 换 时 间 = T s + T 1 − T 3 4 S c 切 换 时 间 = T s − T 1 − T 3 4 \begin{cases} S_a切换时间 = \frac{T_s+T_1+T_3}{4} \\ \\ S_b切换时间= \frac{T_s+T_1-T_3}{4}\\ \\ S_c切换时间=\frac{T_s-T_1-T_3}{4} \end{cases} Sa=4Ts+T1+T3Sb=4Ts+T1T3Sc=4TsT1T3


3.7.2.5 第五扇区

(0-1-5-7-7-5-1-0)

image-20221026173223407

桥臂切换时间
{ S a 切 换 时 间 = T s + T 1 − T 5 4 S b 切 换 时 间 = T s + T 1 + T 5 4 S c 切 换 时 间 = T s − T 1 − T 5 4 \begin{cases} S_a切换时间 = \frac{T_s+T_1-T_5}{4} \\ \\ S_b切换时间= \frac{T_s+T_1+T_5}{4}\\ \\ S_c切换时间=\frac{T_s-T_1-T_5}{4} \end{cases} Sa=4Ts+T1T5Sb=4Ts+T1+T5Sc=4TsT1T5


3.7.2.6 第六扇区

(0-4-5-7–7-5-4-0)

image-20221026173359789

桥臂切换时间
{ S a 切 换 时 间 = T s − T 4 − T 5 4 S b 切 换 时 间 = T s + T 4 + T 5 4 S c 切 换 时 间 = T s + T 4 − T 5 4 \begin{cases} S_a切换时间 = \frac{T_s-T_4-T_5}{4} \\ \\ S_b切换时间= \frac{T_s+T_4+T_5}{4}\\ \\ S_c切换时间=\frac{T_s+T_4-T_5}{4} \end{cases} Sa=4TsT4T5Sb=4Ts+T4+T5Sc=4Ts+T4T5


3.8 MATLAB仿真

3.8.1 svpwm模块与函数代码
3.8.1.1 仿真框图

image-20221030203017724

如图所示:

  • 输入 V d 和 V q V_d和V_q VdVq期望以及角度信息
  • 经过反park变换svpwm运算模块后 输出三相桥臂的切换时间

3.8.1.2代码实现

将前面扇区判断, 矢量作用时长计算的公式结果写入代码即可

%输入输出
function [T_Sa,T_Sb,T_Sc,sector] = fsvpwm(V_alpha,V_beta,Udc,Tpwm)

%输出全部转换为单精度浮点型
sector = single(0);         %扇区N值
T_Sa = single(0);           %桥臂切换时间
T_Sb = single(0);           %桥臂切换时间
T_Sc = single(0);           %桥臂切换时间


%========中间变量(用于判断扇区与矢量作用时间)================
    
    %用于判断扇区
    Vref1 = V_beta;							          %A         
    Vref2 = (sqrt(3)*V_alpha - V_beta)/2;             %B	    
    Vref3 = (-sqrt(3)*V_alpha - V_beta)/2;            %C
    
    
    %用于计算矢量作用时长
    K = sqrt(3)*Tpwm/Udc;   
    
    X = K*Vref1;                
    Y = K*Vref2;
    Z = K*Vref3;
    
%==========扇区判断================

% N = 4C + 2B + A
  if (Vref1>0)
	   sector = single(1);
  end
  if (Vref2>0)
	   sector = sector+single(2);
  end
  if (Vref3>0)
       sector = sector+single(4);
  end

  
%======== 矢量作用时间计算 ===================

% 设每个扇区中先作用的矢量为Tx , 后作用的矢量为Ty
switch (sector)   
    case 1
        Tx = -Y; Ty = -Z;           %第二扇区
	case 2
        Tx = -Z; Ty = -X;           %第六扇区
	case 3
        Tx = Y; Ty = X;             %第一扇区
	case 4
        Tx = -X; Ty = -Y;           %第四扇区
	case 5  
        Tx = X; Ty = Z;             %第三扇区
    otherwise
        Tx = Z; Ty = Y;             %第五扇区
end


%防止过调制,采用比例缩小的方法 (确保Tx + Ty 不超过Tpwm)
if Tx+Ty > Tpwm        
    Tx = Tx*Tpwm/(Tx+Ty);
    Ty = Ty*Tpwm/(Tx+Ty);
else
    Tx = Tx;
    Ty = Ty;
end


%==========桥臂切换时间计算================

ta = (Tpwm-(Tx+Ty))/4.0;
tb = ta+Tx/2;
tc = tb+Ty/2;

switch (sector)
    case 1                  %第二扇区
        T_Sa=tb;
        T_Sb=ta;
        T_Sc=tc; 
        
    case 2                  %第六扇区
        T_Sa=ta;
        T_Sb=tc;
        T_Sc=tb; 
       
    case 3                  %第一扇区
        T_Sa=ta;
        T_Sb=tb;
        T_Sc=tc; 
        
    case 4                  %第四扇区
        T_Sa=tc;
        T_Sb=tb;
        T_Sc=ta;
        
    case 5                  %第三扇区
        T_Sa=tc;
        T_Sb=ta;
        T_Sc=tb;
        
   case 6                   %第五扇区
       T_Sa=tb;
       T_Sb=tc;
       T_Sc=ta;
 end
end

    


3.8.1.3 仿真结果
image-20221030210955136

调制波形与扇区波形

image-20221030211914632

如图所示

  • 因为内部中点电位随零序波动,SVPWM模块调制后的波形是马鞍波
  • 各个扇区对应的调制波形 , 符合之前的计算结果


3.8.2 开环电机驱动仿真

通过之前的坐标变换svpwm模块 , 现在已经可以实现开环驱动电机转动

3.8.2.1 仿真框图

控制流程

  • 输入期望值 U d 和 U q U_d和U_q UdUq , 通过svpwm模块进行调制 , 输出三相桥臂切换时间
  • 输入模拟的定时器, 输出三相互补的六路pwm
  • 送入全桥, 驱动电机

控制框图

image-20221031150849186

模拟定时器输出方波

image-20221031153653656



3.8.2.2 仿真结果

三相电流波形与速度角度波形

image-20221031160630150
  • 三相定子电流呈现较好的正弦特性
  • 在到达给定转速后, 转速稳定

三相互补六路pwm波形

image-20221031161354232



3.9 硬件平台

image-20221031234403976


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值