三相H桥SVPWM算法介绍

本文详细介绍了空间矢量脉宽调制(SVPWM)在三相H桥逆变器中的应用原理及实现过程。SVPWM通过合成稳定的旋转磁场牵引转子旋转,影响电机转动方向和力矩。文章深入解析了坐标变换、矢量合成等关键步骤,并提供了基于STM32的算法实现思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我见过有SVPWM有用于单相H桥逆变的、三电平逆变器、多电平逆变器的。这里着重点用于三相H桥逆变器。他们不同之处在于,开关状态越多,空间矢量图越大。

1 算法介绍

下图是三相H逆变器拓扑结构

以下是直流无刷电机的简化逻辑结构。图中,由于控制电机的电路是三相H桥逆变电路,故用三位数字表达H桥的导通状态,分别表示a相、b相、c相。

总的来说,就是旋转的磁场可以引导转子旋转。要理解上图,推荐下载硬石STM32的开源资料。理解直流无刷电机之前,我觉得需要学习两相步进电机。

上面的三项H桥拓扑结构,调制方式主要分为SPWM和SVPWM。SVPWM英文名是space-vector pulse width modulation。空间矢量的概念,需要结合电机磁场的旋转来理解。我们需要合成一个稳定旋转的磁场,牵引转子的旋转。合成磁场的方向,和abc三相的电流导通模式有关,影响着电机转动的方向;而合成磁场的大小,和绕组中导通电流有关,会影响转动力矩。

2 算法的实现过程

2.1 坐标变换

2.1.1 alpha-beta坐标轴转换为abc

\begin{bmatrix} U_a\\ U_b\\ U_c \end{bmatrix}=\begin{bmatrix} 1 &0 \\ -\frac{1}{2} & \frac{\sqrt{3}}{2}\\ -\frac{1}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix}\begin{bmatrix} U_\alpha\\ U_\beta \end{bmatrix}

2.1.2 Abc坐标轴转换为alpha-beta

\begin{bmatrix} U_\alpha \\ U_\beta \end{bmatrix}=\sqrt{\frac{2}{3}}\begin{bmatrix} 1 &-\frac{1}{2} &-\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} U_a\\ U_b\\ U_c \end{bmatrix}

2.2 矢量合成

本逆变器的开关管只有6个,可以用8个空间矢量描述逆变器的开关状态。Vref为参考矢量,代表着定子绕组通电形成的合成磁场的大小和方向。Ts是采样周期。把8个空间矢量分别标号,V1为100,V2:110,V3:010,V4:011,V5:001,V6:101,V7:111,V0:000。

上图,可以进一步转化为下图的形式。参考矢量Vref可以当作是转子的旋转磁场。

上图称为逆变器的空间矢量图。

空间矢量图被空间矢量划分为6个扇区,分别命名为第I扇区、第II扇区、第III扇区、第IV扇区、第V扇区、第VI扇区。

顺时针旋转,参考矢量会分别经过第I扇区、第VI扇区、第V扇区、第IV扇区、第III扇区、第II扇区。

逆时针旋转,参考矢量会分别经过第I扇区、第II扇区、第III扇区、第IV扇区、第V扇区、第VI扇区。

当参考矢量旋转到第I扇区,可以用V1、V2、V7、V0四个空间矢量合成参考矢量,但是要先通过调整占空比,把矢量幅值缩小。

根据伏秒平衡,可得以下公式。

\left\{\begin{matrix} V_{ref}T_s=V_1T_1+V_2T_2+V_0T_0\\ T_s = T_1+T_2+T_0 \end{matrix}\right.

公式中,V1、V2、V0是用于合成参考矢量的作用矢量。T1、T2、T0分别是V1、V2、V0的作用时间。Ts是采样周期。

因为逆变器的状态只有8种,假如需要无限逼近参考矢量,则要用很高频率的PWM波。

 

2.2.1 时间计算-第I扇区

 

\left\{\begin{matrix} V_{ref\alpha}T_s=V_{1\alpha}T_1+V_{2\alpha}T_2+V_{0\alpha}T_0 \\V_{ref\beta}T_s=V_{1\beta}T_1+V_{2\beta}T_2+V_{0\beta}T_0 \\ T_s = T_1+T_2+T_0 \end{matrix}\right.

代入

\left\{\begin{matrix} V_1=\left ( 1,0 \right ) \\ V_2=\left ( \frac{1}{2}, \frac{\sqrt3}{2} \right ) \end{matrix}\right.

可得

\left\{\begin{matrix} V_{ref\alpha}T_s=T_1 + \frac{1}{2}T_2 \\ V_{ref\alpha}T_s=\frac{\sqrt 3}{2}T_2 \end{matrix}\right.

2.2.2 时间计算-第II扇区

 

2.2.3 时间计算-第III扇区

2.2.4 时间计算-第IV扇区

2.2.5 时间计算-第V扇区

2.2.6 时间计算-第VI扇区

 

 

2.3 发出PWM

上面介绍默认SVPWM使用三段式模式,在Ts采样周期内,首先V0作用T0时间,然后V1作用T1时间,最后V2作用T2时间。接下来是下一个Ts时间段。

V0->V1->V2

以下是五段式:

V0->V1->V2->V1->V0

以下是七段式:

V0->V1->V2->V7->V2->V1->V0

这种过渡,一方面可以减少低频谐波、降低滤波器的设计难度;另一方面,可以降低开关在切换过程中的电压变化。

 

下一步是在STM32中实现本算法……

 

开源了SVPWM算法,但是未测试验证过,硬件上手头只有STM32的最小系统板,就暂时没做实验了。

https://github.com/xxJian/STM32_Based_SVPWM

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值