电机控制要点解疑:SPWM,SVPWM和矢量控制

本文详细介绍了SPWM(正弦脉宽调制)和SVPWM(空间矢量脉宽调制)两种电机控制技术。SPWM通过调整PWM占空比实现输出正弦波电压,而SVPWM则通过考虑电机状态合成旋转磁场所需的电压,从而更高效地控制电机运行。

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

虽然现在做自动驾驶去了,还是有必要把之前一年做电机控制的心得分享一下,也能方便自己日后的参考。

(以下针对反向电动势为正弦的永磁同步电机而言)

 

目录:

1. SPWM和SVPWM

2. 矢量控制(Space Vector)

 

 

1. SPWM和SVPWM

 

抛开各种控制算法等细节,从最朴素的角度出发。我们只需要在A,B,C三相提供120相位差的正弦电压,电机就会稳定的转动起来,调节正弦电压的幅值和频率,就能调节电机的转速和扭矩。这是我们所需要的输出。而我们所提供的输入是稳压直流电源,电机控制中的控制二字指的就是通过6路PWM,控制6个MOS管的开断,来达到直流电源变正弦交流的目的。

 

于是,这就引出了电机控制的核心手段:PWM。接下来介绍SPWM和SVPWM两种技术,这代表了电机控制建模的两种思路。

A. SPWM

先看图:

SPWM的思路简单粗暴,既然输出你想要正弦波,那还不简单,把正弦电压采个样,当前你要多大的电压,我调调PWM的占空比给你就是了。比如这一秒你要1.2V,我给个10%占空比的PWM,12V的电源输出不就成了你要的1.2V了吗?电机参数,当前状态什么的,我才懒得管。

 

B. SVPWM

相比之下,SVPWM考虑问题的视角就完全不一样了。表面上看我们要的输出是三相正弦波,本质上讲是正弦波产生的旋转磁场在带着转子在转动啊。既然要旋转,那还是先看图吧:

 

图中的(001),(101)什么的代表的是6个MOS管的开关状态,你只需要把6个MOS管调到对应的状态,就能得到该方向的电压,作用到电机的转子上带动其旋转,这里就不深究了,到时候自己查表对着做就行了。这里需要强调的是,SVPWM在控制时已经在考虑电机的状态了,比如电机的转子运动到了某个位置,这时需要一个落在扇区1方向的电压来拖动转子的运动,那我就在(100)和(110)之间切换,来合成我们想要的电压呗。相较于SPWM的简单粗暴,SVPWM就考虑的细致入微了。

当然SVPWM的好处也是不言而喻的,在所需电压转动,扇区切换的途中(比如电压从扇区1旋转达到了扇区2),我们只需要把之前的(100)换成(010),而(110)完全不用动,这样就避免的SPWM为达目的,不择手段段,在那疯狂瞎变换MOS开断的疯狂行径,能大大减少MOS开断的损耗。

 

这里提一句,为什么电机控制用的是中心对称PWM而不是边缘触发,因为按着SVPWM的思路走,每次状态变换只需要改变一个MOS管的开关状态,见下图:

 

 

2. 矢量控制(Space Vector)

不多bb:

 

什么Park,Clark变换我就不多说了,之所以我们费尽心思在这搞什么矢量控制,坐标变换,把好好的三相变成旋转的两相X,Y坐标系里面去,是因为变过去了以后,你会发现 Ia, Ib 的幅值固定了,变量被分离到了旋转角θ里面去了。电流的期望值固定了,就可以用PID来控制啦!!! 对,折腾了这么久,我们就是想用PID,这就是电机控制的核心,现代控制虽然好,工业界只爱PID :)

 

 

啰嗦一句,clark还是Park变换里面有个2/3还是2/3 的系数变换,是在做相电压与线电压的变化,首先你要知道PMSM在控制时三相是一直在导通的,而不像BLDC只有两相同时导通。2/3具体推导见下图:

 

 

 

Reference:

1. https://www.zhihu.com/question/26858454

2. https://read01.com/KA66o6.html#.WuyBO6Qvypo

3. https://www.ti.com/lit/an/spra588/spra588.pdf

4. https://www.nxp.com/docs/en/supporting-information/DWF13_AMF_AUT_T0526.pdf

 

 

 

 

 

 

 

### SPWMSVPWM的区别及调制比计算方法 #### 1. **SPWMSVPWM的基本原理** ##### (1) 正弦脉宽调制(SPWMSPWM是一种经典的PWM调制方式,其核心思想来源于采样控制理论中的重要结论——冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。通过生成一系列宽度按照正弦规律变化的矩形波来逼近理想的正弦波输出[^3]。具体而言,SPWM利用三角载波信号与正弦调制波信号进行比较,当调制波高于载波时开关导通;低于载波时开关关闭,形成一组占空比随时间按正弦规律变化的方波序列。 ##### (2) 空间矢量脉宽调制(SVPWMSVPWM则是基于三相电压的空间矢量模型来进行动态控制的一种先进调制技术。它将三相对称坐标系转换至二维平面直角坐标系中表示,并试图让合成磁链轨迹尽可能接近圆形以提升直流侧电压利用率约15%以上[^1]。相比于传统SPWM仅关注单相波形近似度的做法,SVPWM着眼于整体磁场分布优化设计,因而具备更高精度效率优势。 #### 2. **两者主要区别总结** | 特性 | SPWM | SVPWM | |--------------------|-------------------------------------------|------------------------------------------| | 控制对象 | 单独处理每相电流/电压 | 综合考虑三相间的相互作用 | | 输出特性 | 波形较为简单直观 | 更趋近理想圆周运动 | | 实现难度 | 较易实现 | 需要复杂运算 | | 应用场景偏好 | 模拟电路环境下更容易部署 | 数字化处理器件支持下表现优异 | #### 3. **关于调制比(M)** 的定义与计算 无论是在SPWM还是SVPWM体系当中,都存在这样一个关键参数叫做“调制比”,用来描述实际运行过程中允许的最大有效值范围相对于理论极限值之间的比例关系。对于常规意义下的SPWM来说, $$ M_{\text{SPWM}}=\frac{\left|\mathrm{V}_{r}\right| } {\mathrm{~V}_c} $$ 其中$\mathrm{V_r}$代表参考输入信号(通常是期望达到的理想交流电形式),而$ \mathrm{V_c} $ 则指代选定作为基准对比的标准周期函数峰值大小,比如前述提及到的那个高频锯齿状波动曲线的高度差值[^3]。 至于采用SVPWM方案的情形之下,则会稍微有所不同: $$M _{\text{SVPWM}}= \frac{{U_d}}{{U_\max }}$$ 这里${ U_d }$ 表达的是指令需求向量长度,也就是我们想要达成的目标位置距离原点有多远; ${ U_max }$ 是所能提供最大可能覆盖半径尺寸。 --- 以下是基于Python编程语言的一段简单代码示例,用于演示如何根据不同条件分别求解两种模式下的调制比率: ```python import math def spwm_modulation_ratio(V_ref, V_carrier): """Calculate Modulation Ratio under SPWM mode.""" return abs(V_ref)/V_carrier def svpwm_modulation_ratio(Ud, Umax): """Calculate Modulation Ratio under SVPWM mode.""" return Ud/Umax # Example Usage For SPWM Case: voltage_reference_spwm = 100 # Volts carrier_voltage_peak = 200 # Volts mr_spwm = spwm_modulation_ratio(voltage_reference_spwm , carrier_voltage_peak ) print(f"Modulation Ratio Under SPWM Mode Is:{mr_spwm}") # Example Usage For SVPWM Case: desired_vector_length_svpwm = 173.2 # Calculated From Desired Voltage Magnitude In A Three Phase System At Line-Line Value Of 300Vrms maximum_possible_radius = 200 # Based On DC Link Voltage And Other Constraints Within The Converter Design Specifications mr_svpwm = svpwm_modulation_ratio(desired_vector_length_svpwm,maximum_possible_radius) print(f"Modulation Ratio Under SVPWM Mode Is:{mr_svpwm}") ``` ---
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值