什么是 Field Oriented Control
永磁同步电机(PMSM, Permanent Magnet Synchronous 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 控制,不需要换向,可以使得转子保持连续、平滑的转动。
这样的“平滑”效应就是 Field Oriented Control(FOC)的结果。定子三相交流电流生成的空间磁场向量,通过控制驱动转子磁场旋转,形成力矩– 这就是 Field Oriented Control(磁场定向控制)。
MTPA(最大力矩电流比控制,Maximum Torque Per Amp)
永磁同步电机一般分为两种:SPM(表贴式)和 IPM(内嵌式)。从控制的角度 SPM 要比 IPM 简单很多,我们先以 SPM 为例,暂不考虑弱磁(一种高转速情况下的控制方法)。如果我们的目标是“相同的电流输入,达到最大的输出力矩”。假设下图中上下端是定子,中间的是转子。让我们人为改变定子磁场矢量和转子磁场矢量的夹角,当夹角为 0 度的时候,没有输出任何力矩,因为磁性的南北极互相吸引。再让我们旋转转子,改变一下夹角,会觉得力矩增大。当定子和转子磁场向量成 90 度的时候,产生的力矩最大。
这是我们想达到的效果 – 最大化电流的利用效率,我们称之为:MTPA(Maximum Torque Per Amp)。
在这种状态下,输出的力矩和输入的电流幅度成正相关。我们只需要调整电流的幅值,就可以控制电机输出的力矩。如果我们需要根据反馈来调整电机的电流、速度和位置,可以通过三个 PI 控制器的级联的电流环、速度环和位置环来实现。但最终,还是通过对电流的控制来实现。
通过上面的介绍,我们可以把 ABC 三相交流电形成的磁场,看着一个矢量。FOC 最重要的原则就是使这个电流矢量和永磁体转子转动形成的磁场矢量保持垂直。由于转子是在不停的转动,FOC 的任务就是:
不停的观测转子的角度
将电流矢量的角度保持和转子磁场矢量垂直(MTPA)
大家都知道 ABC 是一个三相交流电:
上图右侧是 ABC 三相交流电的示意图。三种颜色代表三相交流电 ABC。它们的相位差为 120 度,我们可以把它们表示为上图左侧的矢量形式(abc 矢量坐标系)。它们合成的总矢量是淡蓝色。
为了研究方便,我们将静止的 abc 坐标系变为静止的 αβ 坐标系,这一步也叫 Clarke 变换:
接着,我们将静止的 αβ 坐标系变为旋转的 dq 坐标系,这一步也叫 Park 变换:
在经历 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 函数做如下处理动作:
测量出转子的角度(θ),得出所需的 Id、Iq 电流。将所需要的 Iq 电流向量和该角度保持垂直。在 MTPA 情况下,如果是 SPM,所需 Id 设为 0。
测量出实际相电流(Ia、Ib、Ic),通过 Clarke/Park 变换产生实际 Id、Iq 电流。
利用上述的所需电流和实际电流信号差,通过 PI 控制器,得出 Vd、Vq。
经过反 Park/Clarke 变换、SVPWM 产生占空比,交给逆变器生成 Va、Vb、Vc 驱动电机。
弱磁控制(flux-weakening)
在上面过程中,我们没有考虑转子对定子的影响。电机的永磁体转子,在电磁作用的影响下,旋转产生反电动势(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 的总力矩是电磁力矩和磁阻力矩的总和。
我们上面说的,在 MTPA 情况下 Id=0 的那种电机就是 SPM,左下图表示了其 torque angle(Id 和 Iq 合成的电流矢量和 d 轴夹角)和力矩之间的关系。当 torque angle 为 90 度的时候,力矩最大。此时 Id =0。由于 Iq 永远和 Id 垂直,MTPA 的时候,torque angle 就是 90 度。
而 IPM 在 MTPA 的情况下,torque angle 并非是 90 度,而是大于 90 度(见右下图的黄线最顶端)。并且,这个角度随着电流的变化而变化,并非一个固定值。Id 也不等于 0。如果 reluctant torque 是一条直线(值为 0),IPM 就变成 SPM。
一般来说,大部分 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-through-simulation-on-a-virtual-dynamometer.html
Simulink 相关模块和算法
被控对象模型
Simulink 提供三种不同精度的永磁同步电机被控对象模型:
线性模型 – 力矩和电流为线性方程
非线性饱和模型 – 力矩和电流的关系为非线性饱和型
饱和加空间谐波模型– 力矩和电流的关系为饱和加空间谐波型
线性模型的建立
Simulink 中的 Simscape Electrical 以及 Powertrain Blockset 都提供了线性模型供设计参考。
线性模型所需参数:
如何获取这些参数:
非线性饱和模型的建立
Simulink 中的 Powertrain Blockset 提供了非线性饱和模型供设计参考。用户可通过两种方式获取数据后填充这些模型(即填充 Nonlinear Flux - Current表格)。
这两种获取数据方式为电机台架测试(Dyno Testing)和有限元分析(FEA)。
饱和加空间谐波模型
饱和加空间谐波模型的建立只有通过 FEA(有限元分析)的方式获得,Simulink Powertrain Blockset 的为用户提供了:
基本的饱和加空间谐波模型的 Simulink 模型框架
通过不同 FEA(ANSYS,JMAG等)工具获取数据后的处理脚本(处理导入数据至模型框架)
控制部分
TI C2000 示例 – SPM 控制器
Simulink 提供了基于 TI C2000 的 SPM 控制器的开发示例,包含了基本的 FOC 算法以及产生 SVPWM 占空比。用户可在模型仿真的基础上,产生应用层C代码。应用层代码通过调用底层驱动模块,在 TI CCS 环境下编译链接,并可直接运行在 TI C2000 平台上。
这个示例提供了三种功能:
桌面仿真——被控对象为简单的线性模型,在接受到 SVPWM 占空比信号后,通过逆变器产生相电压驱动电机,并通过绝对编码器将位置信号反馈到控制器。
代码生成——将 FOC 和 SVPWM 占空比信号生成部分产生 C 代码,嵌入到 TI C2000 的 ISR 中。
性能比较——将 C2000 中运行的实时电机控制数据导入模型,进行桌面仿真和实时运行的性能比较。
IPM 控制器示例
在 Simulink 的 Powertrain Blockset 中有个比较详细的 IPM 控制器示例。其中 MTPA 和弱磁控制都是基于公式推导。
弱磁表格
各种弱磁算法的目的都是找出一个符合实际情况的 Id、Iq 组合来实现控制的优化。在实践中,很多工程师使用 LUT(Look-Up Table)来做弱磁查表。
MATLAB/Simulink 有一个 MBC(Model Based Calibration,基于模型的标定)工具箱,可以快速、方便地根据优化目标和约束条件,标定 MTPA 和弱磁控制表格。例如,约束条件:电压椭圆限制、电流圆限制。输出:基于速度和力矩的 Id、Iq 表;或者基于磁链(flux amplitude)和力矩的 Id、Iq 表。标定数据来源,可来自于 FEA 模型或台架实测。如果是台架实测,还可以利用 MBC 工具箱进行 DoE(Design of Experiments)试验,减少台架试验时间,降低成本。
目前,北美多个汽车 OEM 和电机厂商正采取这种新颖的方式进行电机弱磁表格的标定。下篇文章,我们也将着重进行讲解。
全部0条评论
快来发表一下你的评论吧 !