原理解析 | Field Oriented Control(磁场定向控制)的 Simulink
实现
作 者 简 介
周末,MathWorks 中国行业市场部经理,专注于基于模型的系统和软件设计。负责 MATLAB/Simulink 在机
器人、汽车电子、电力电子等行业的推广和应用,曾就职于 IBM 和上海贝尔。
模尔。
模
什么是 Field Oriented Control
永磁同步电机(PMSM, Permanent Magnet Synchronous Motor)由于它噪声小、高效节能的显著优
势,广泛被用于新能源汽车、机器人伺服和家电等领域。
等领域。
us Motor)由于
上图是一个 PMSM 的示意图,ABC 为三相交流电,外圈为定子(顾名思义就是保持不动),内部可以旋
转的叫转子(可以旋转)。转子为永磁体(permanent magnet)。当定子线圈通上 ABC 三相交流电
后,由于电磁效应带动转子转动,而转子转动的频率和 ABC 三相交流电的频率相同,所以叫同步电机
(synchronous motor)。
和 PMSM 非常相似的一种电机叫做 BLDC Motor(直流无刷电机,Brushless DC)。它们显著的区别在
于反电动势(back EMF)的波形。BLDC 的反电动势呈梯形状,而 PMSM 的反电动势呈正弦波状。这两
者的差异的原因是由于 PMSM 的定子绕组线圈缠绕呈正弦分布,而 BLDC 的定子绕组线圈缠绕为集中式。
下面的动图展现了 BLDC 和 PMSM 在控制上的差异:
爱
建
浅蓝色箭头代表转子的磁场矢量方向,可以看到蓝色箭头在 BLDC 和 PMSM 都是在不停旋转,并且这个旋
转会产生力矩(torque)带动机械负载的运动。BLDC 的转子旋转是一顿一顿的,PMSM 的转子旋转是非
常连续平滑。控制 BLDC 的最经济的方法是 6 步换向法。通常通过检测转子角度位置,来依次给定子换
向,这样的换向,造成了输出力矩有波动。而 PMSM 通过 FOC 控制,不需要换向,可以使得转子保持连
续、平滑的转动。
通常通过检测转子角度位
旋转是一顿一顿的
C 和 PM
FOC 控制,不需
模
这样的“平滑”效应就是 Field Oriented Control(FOC)的结果。定子三相交流电流生成的空间磁场向
量,通过控制驱动转子磁场旋转,形成力矩– 这就是 Field Oriented Control(磁场定向控制)。
成力矩– 这就是 Field Orient
trol(FOC)的结果。定
MTPA(最大力矩电流比控制,Maximum Torque Per Amp)
Maximum Torque Per A
SPM(表贴式)和 IPM
不考虑弱磁(一种高
永磁同步电机一般分为两种:SPM(表贴式)和 IPM(内嵌式)。从控制的角度 SPM 要比 IPM 简单很
多,我们先以 SPM 为例,暂不考虑弱磁(一种高转速情况下的控制方法)。如果我们的目标是“相同的电
流输入,达到最大的输出力矩”。假设下图中上下端是定子,中间的是转子。让我们人为改变定子磁场矢量
和转子磁场矢量的夹角,当夹角为 0 度的时候,没有输出任何力矩,因为磁性的南北极互相吸引。再让我
们旋转转子,改变一下夹角,会觉得力矩增大。当定子和转子磁场向量成 90 度的时候,产生的力矩最大。
图中上
的时
这是我们想达到的效果 – 最大化电流的利用效率,我们称之为:MTPA(Maximum Torque Per Amp)。
爱
建
在这种状态下,输出的力矩和输入的电流幅度成正相关。我们只需要调整电流的幅值,就可以控制电机输出
的力矩。如果我们需要根据反馈来调整电机的电流、速度和位置,可以通过三个 PI 控制器的级联的电流
环、速度环和位置环来实现。但最终,还是通过对电流的控制来实现。
通过上面的介绍,我们可以把 ABC 三相交流电形成的磁场,看着一个矢量。FOC 最重要的原则就是使这个
电流矢量和永磁体转子转动形成的磁场矢量保持垂直。由于转子是在不停的转动,FOC 的任务就是:
子是在不停
1. 不停的观测转子的角度
2. 将电流矢量的角度保持和转子磁场矢量垂直(MTPA)
大家都知道 ABC 是一个三相交流电:
模
上图右侧是 ABC 三相交流电的示意图。三种颜色代表三相交流电 ABC。它们的相位差为 120 度,我们可
以把它们表示为上图左侧的矢量形式(abc 矢量坐标系)。它们合成的总矢量是淡蓝色。
为了研究方便,我们将静止的 abc 坐标系变为静止的 αβ 坐标系,这一步也叫 Clarke 变换:
建
接着,我们将静止的 αβ 坐标系变为旋转的 dq 坐标系,这一步也叫 Park 变换:
模也叫 Par
在经历 Clarke-Park 变换后,三相交流电变成了“直流电”:Id(深蓝)和Iq(红色),它们实际上是电流
矢量在 dq 坐标系的投影。d 表示 direct(直接),q 代表了 quadrature(正交)。如果是 SPM,为了
使得电流效率最高(MTPA),我们只要使 Id = 0,即所有的电流都作用于正交 – 产生力矩。这样大大简
化了控制。
我们通过控制 Id、Iq 去产生相应的 Vd、Vq,经过反 Park/Clarke 变换和 SVPWM(Space Vector
Pulse Width Modulation)调制电压信号,经过门驱动(Gate Driver)和逆变器(Inverter)产生三相
电压 Va、Vb、Vc,最后将 Va、Vb、Vc 输入到 PMSM,完成了 FOC。
上图是 FOC 的控制信号示意图,其中蓝色的模块是软件实现模块,灰色的为硬件部分。
我们经常听到,电流环的的控制周期为 100us(10K Hz)。通常来说,上面的蓝色部分一般在 DSP 或者
MCU 的 ISR(interrupt service routine,中断服务程序)中实现。也就是说,每隔 100us,DSP 或者
MCU 就有专门的 ISR 函数做如下处理动作:
实现。也就是
1. 测量出转子的角度(θ),得出所需的 Id、Iq 电流。将所需要的 Iq 电流向量和该角度保持垂直。在
电流。将所需要的 Iq 电
模来说,
为 0。
MTPA 情况下,如果是 SPM,所需 Id 设为 0。
2. 测量出实际相电流(Ia、Ib、Ic),通过 Clarke/Park 变换产生实际 Id、Iq 电流。
3. 利用上述的所需电流和实际电流信号差,通过 PI 控制器,得出 Vd、Vq。
4. 经过反 Park/Clarke 变换、SVPWM 产生占空比,交给逆变器生成 Va、Vb、Vc 驱动电机。
流信号差,通过 PI 控制器,得
SVPWM 产生占空比,交
过 Clarke/Park 变换产
弱磁控制(flux-weakening)
g)
子对定子的影
在上面过程中,我们没有考虑转子对定子的影响。电机的永磁体转子,在电磁作用的影响下,旋转产生反电
动势(back EMF)。当转速达到一定程度(通常叫基速),加载在定子的反电动势足以抵消施加的正向电
压。这种情况下,必须改变 Id 和 Iq,使得电流矢量和转子磁场向量的夹角不再是 90 度。简单的说,就是
通过牺牲力矩来获取高转速。这就是弱磁控制。
程度
下图为 flux-weakening 的示意图:整个电机控制区域可以分为 MTPA 和 flux-weakening 两块,当转子
转速达到基速时候,进入 flux-weakening 区域。
爱
建
表贴式(Surface Mounted Permanent Magnet,SPM)和内嵌式(Interior Permanent
Magnet,IPM)永磁同步电机
永磁同步电机一般分为两种:SPM 和 IPM。
模磁钢嵌至
我们看一下它们的区别:SPM 将磁钢贴在转子表面,而 IPM 将磁钢嵌至转子内部。SPM 只有一种力矩 –
electromagnetic torque(电磁力矩);IPM 有两种力矩 electromagnetic torque(电磁力矩)和
reluctant torque(磁阻力矩),IPM 的总力矩是电磁力矩和磁阻力矩的总和。
矩和磁阻力矩的总和。
ectromagne
我们上面说的,在 MTPA 情况下 Id=0 的那种电机就是 SPM,左下图表示了其 torque angle(Id 和 Iq
合成的电流矢量和 d 轴夹角)和力矩之间的关系。当 torque angle 为 90 度的时候,力矩最大。此时 Id
。当 torque angle 为 90
=0。由于 Iq 永远和 Id 垂直,MTPA 的时候,torque angle 就是 90 度。
torque angle 就是 90 度
是 SPM,左下图表示了
而 IPM 在 MTPA 的情况下,torque angle 并非是 90 度,而是大于 90 度(见右下图的黄线最顶端)。
并且,这个角度随着电流的变化而变化,并非一个固定值。Id 也不等于 0。如果 reluctant torque 是一条
而变化,并非一个固定值。Id
直线(值为 0),IPM 就变成 SPM。
SPM。
e angle 并非是 90 度,而是大
一般来说,大部分 SPM 的控制只考虑 MTPA 控制,比较简单 – 即将 Id 设为 0。而 IPM 需要考虑 MTPA
和弱磁控制。IPM 的 MTPA 和弱磁控制,常常通过 LUT(look-up table,查表)放在控制策略中。用户
只需根据当前的力矩指令和转速,或者通过转速换算得到的磁链值和力矩指令,查找对应的 Id、Iq。然后
通过 PI 控制器算出所需的 Vd、Vq。
爱
建
下图为一个查表的示例:
紫色的点即 LUT 中对应的 Id、Iq 点,这些点受电压椭圆、电流圆、MTPA 线、MTPV 线的限制。具体细
节请参阅:
https://www.mathworks.com/company/newsletters/articles/designing-a-torque-controller-for-a-pmsm-
/designing-a-torque-cont
q
g
g
模圆、MT
through-simulation-on-a-virtual-dynamometer.html
Simulink 相关模块和算法
被控对象模型
Simulink 提供三种不同精度的永磁同步电机被控对象模型:
同步电机被控对象模型
a. 线性模型 – 力矩和电流为线性方程
线性方程
b. 非线性饱和模型 – 力矩和电流的关系为非线性饱和型
c. 饱和加空间谐波模型– 力矩和电流的关系为饱和加空间谐波型
矩和电流的关系为非线性饱
矩和电流的关系
线性模型的建立
Simulink 中的 Simscape Electrical 以及 Powertrain Blockset 都提供了线性模型供设计参考。
爱
建
线性模型所需参数:
如何获取这些参数:
非线性饱和模型的建立
Simulink 中的 Powertrain Blockset 提供了非线性饱和模型供设计参考。用户可通过两种方式获取数据后
填充这些模型(即填充 Nonlinear Flux - Current表格)。