1 对永磁无刷电机的基本认识
1. 什么是永磁无刷电机?
永磁无刷电机大致可以分为永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)和无刷直流电机(Brushless DC motor,BLDC)两种。一定要注意对这两种电机的 区分 ,因为它们在结构上和控制算法上都有明显的区别。
如果手上有一个永磁无刷电机,可以尝试转动转轴,有明显的段落感(转起来有顿挫感)的就是BLDC,如果很转起来很顺畅,就是PMSM。
如果有条件能拆下外壳看看绕组会更加直观:PMSM不同相的绕组是相互交错的,而BLDC的绕组是各自独立的。
还有一种办法,就是使用使用示波器查看反电动势的波形。先将电机的任意两相连接到示波器的输入端和地端,然后转动转轴。示波器能捕捉到永磁体切割绕组产生的反电动势,PMSM的是近似的正弦波,而BLDC是方波。
Tips :很多书上会提到这种方法,但这种方法只是理论上的,实际上很难得到正弦波或方波,我两种电机都试过,并没有明显区别,这里只是提一下。
应用中,PMSM常用做 伺服电机 ,而BLDC常用在旋转机械中,因为BLDC的负载能力更强,例如大疆无人机采用的就是BLDC。
虽然永磁无刷电机使用的是直流电,但本质上它是交流电机,所以要驱动永磁无刷电机,逆变电路必不可少。
Tips :整流是交流电变直流电,逆变是直流电变交流电。
2. 永磁无刷电机的极性
关于永磁无刷电机,还需要注意一点的是,电机的极性,极性会影响不同算法的实施。
简单的分类有两种: 隐极式 (Round)和 凸极式 (Salient-pole)。分别对应两种永磁体结构,标贴式和内嵌式:
*标贴式和内嵌式结构 * - From R. Krishnan
标贴式是将永磁体直接贴在转子上,而内嵌式是将永磁体内嵌在转子中。
在参数体现上的区别就是:隐极式dq轴电感 近似相等 (L**d ≈ Lq ),凸极式dq轴电感 差异较大 (*L**d *> Lq ),这一点是这两种电机的 本质区别 。
最常见永磁无刷电机的是隐极式(标贴式)电机,成本和制造难度都相对低一些。一些高性能场合可能会使用到凸极式(内嵌式)电机,例如电动汽车的驱动电机。
凸极式电机可以实施一些特有的算法,例如:“最大转矩电压比(MTPV)+弱磁”控制策略,无感高频注入算法,等。
2 永磁无刷电机的控制策略
1. 永磁无刷电机的矢量控制
对于永磁无刷电机,最出名的莫过于 FOC (Field-Oriented Control,矢量控制)控制策略,PMSM和BLDC都可以使用这种控制策略。硬件上空间矢量由三相六桥的逆变器实现, 本质上只有六个位置的非零空间矢量 ,各自相隔60°:
*FOC电压空间矢量 * - From autoMBD
通过这六个空间矢量和零个零矢量的组合,可以合成360度全范围内的空间矢量。
FOC合成的 基本原理是等效原理 ,即:在一段时间内,相邻两个矢量和零矢量各自导通一定的时间,可以等价于相邻电压矢量合成后的矢量在这段时间内的作用。这个合成计算的过程就称为是 空间矢量脉宽调制 (Space Vector Pulse Width Modulation,SVPWM)。
一般的我们常看到的SVPWM波形长下面这个样子:
*SVPWM波形 * - From Simulink
要注意区分 FOC和SVPWM的区别 :
- FOC可以理解为一种 数学方法、思想 ,它把电压当作了空间矢量,方便分析和控制,在控制算法中的体现就是,我们会建立dq坐标系、αβ坐标系,我们会把从物理世界得到的电流、电压信号进行Clark变换和Park变换,以及相应的逆变换,这些操作都是为了把自然坐标系下的标量转换为空间矢量,然后对空间矢量进行处理和控制;
- 而 SVPWM是FOC的具体实现方法 ,例如FOC想输出一个30°的幅值为M的电压矢量,那么只能由上图中的U4、U6和两个零矢量来合成,通过计算可分别得到各自的导通时间(就是门控器件的PWM占空比),从而在逆变器中实现了该电压矢量。
所以我们能看到各种各样的FOC,例如基于PID的FOC,基于滑模控制的FOC,无感FOC,等等。这里FOC的前缀修饰指的是控制器的实现方法,包括电流环或者速度环等,所以各不相同;又因为虽然控制器不同,但控制的都是电压矢量,都有坐标变换,因而都属于FOC。
FOC的实施是需要转轴位置信息的,根据位置的获取方式,还可以分为无位置传感器控制(Sensorless)和有位置传感器控制(编码器或霍尔传感器)。编码器可以获得较高精度的位置,而霍尔传感器只在360°范围内获取六个点的位置。
从目前的趋势来看,无感控制算法越来越流行,它不仅省下了传感器的成本,还能减少传感器带来的故障率,安装也更加方便。相应的,控制算法就要复杂一些。一些高级的算法甚至能在零速和极低转速下估算转子位置,例如高频注入算法(High Frequency Injection)。在某些特定场合甚至能做无感的伺服控制。
*常见高频注入算法 * *- From **Gaolin Wang, * *IEEE. * [1]
对于凸极式(内嵌式)电机,还有“最大转矩电压比(MTPV)+弱磁”的控制策略,其底层依然是FOC,只不过 *d *轴和 *q *轴的电压控制方式不一样。
当然还有很多智能控制方法应用到电机控制中,比如模糊控制、神经网络控制、自适应控制等。但大多只存在于论文中,实际应用中几乎没有(见下图)。开环控制在算法调试中使用的也比较多。
*FOC三环模糊控制 * - From autoMBD
2. 永磁无刷电机的六步换相控制
在控制中,若使用霍尔传感器,可以使用六步换相控制策略,各种意义上都要比FOC要简单一些,但电压调制比要小一些。PMSM和BLDC同样都可以使用六步换相控制控制策略。
*BLDC六步换相 * *- From *ElecFans王岑, 电子发烧友论坛
六步换相的本质是,通过绕组形成的磁场,不断吸引转子上的永磁体,使电机转起来。霍尔位置传感器把360°空间分为了等间隔的六份,所以绕组能形成六个位置的磁场,所以被称为六步换相。
通过霍尔位置传感器,当检查到永磁体(固定在转子上)的磁场方向和绕组磁场方向很靠近的时候,绕组磁场立马前进到下一个位置。在六个位置上周而复始的这样操作,从而使电机转动起来。
六步换相,相比于FOC简单在以下几个方面:
- 没有SVPWM的复杂计算,只需要将PWM与门控信号相与即可实现控制;
- 六步换相是一个查表过程,非常快速,如果有硬件支持的话,几乎可以做到有刷的效果;
- 电流采样更加方便,可以直接采集母线电流,相电流和方向即可方便的计算出来;
- 控制也非常简单,只需控制调制PWM波的占空比即可,没有复杂的坐标变换等操作。
但相应的六步换相也有缺点,例如电压调制率不高,有转矩波动等。但六步换相的应用依然非常广泛。
我们练习MBD电机控制,重点就是控制算法这部分。更多的控制策略,例如直接转矩控制等,可以参考文章开头提到的那两本书。
3 永磁无刷电机的数学模型
这里不介绍具体的公式(具体可参见前面提到的两本书),这里主要说我们能使用得到的数学模型有哪些。主要有以下几种:
- 首先,最简单的就是传递函数数学模型,这模型由于过于简化,一般只做理论分析使用,使用它的优势在于模型简单、仿真速度快。
- 其次,可以根据永磁无刷电机的微分方程表达式,使用Simulink模块搭建一个电机的模型。这是一种非常好的掌握电机数学模型的方法,自己搭建过一遍后,对电机数学模型的理解会更上一层。
- 有了微分方程表达式,使用S-函数也是一种不错的方式,仿真效率会更高一些。使用S-函数,分析的时候会更加灵活,也可以实现更多的想法,可操控性更强。不过这个方式对编程要求较高(锻炼一下编程也未尝不可)。
- 最后,也是最推荐的,使用Simulink的电机模型。前面几种可以用来做练习,增强对永磁电机数学模型的理解。Simulink库有很多各种各样的电机模块,这里推荐两种模块,物理仿真模块和连续模块:
*永磁无刷电机的仿真模块 * - From Simulink
物理仿真模块位于Simulink的Simscape库中,该库以物理仿真为特色,能对力、热、电等各种信号进行仿真;而连续模块则是普通的模块,位于Motor Control Blacket中,由微分方程建立的。
选择哪一种取决于仿真需求,一般连续模块仿真速度更快,而物理仿真模块更加贴近实际。
同样关于逆变器也有很多相应的模型,推荐以下这一个:
*逆变器的仿真模块 * - From Simulink
上图中的两个模块是相同的一个模块,只不过配置的参数不同。
我也非常建议自己搭建逆变器,自己搭建逆变器的好处是可以 模拟下桥臂电流采样 ,实际中下桥臂采样是非常多的。如果使用上面的集成模块,是没办法模拟采样下桥臂电流的。自己搭建的逆变器如下图所示:
*自己搭建逆变 * - From autoMBD
关于SVPWM的生成,Simulink也提供了很多,我建议使用下图这个模块,配置成SVM模式即可生成SVPWM波形。这个模块不仅能生成各相的占空比(ModWave端口),还能生成门控PWM信号(g端口):
*SVPWM生成模块 * - From autoMBD
关于SVPWM生成模块, 有一个非常重要的地方需要注意,那就是采样时间 ,这直接影响仿真的有效性。
一般我们电机控制PWM的频率在10 ~ 20kHz,高一点的有40kHz。对于MCU来说, PWM的占空比是有分辨率的 ,一般要保证0.5%的分辨率,那么模块的采样频率就得大于PWM频率乘以分辨率的倒数。
以20kHz PWM、占空比0.5%的分辨率为例,那么:
采样时间=1 ÷ 20000 ÷ (1/0.5%) = 2.5e-7
占空比0.5%的分辨率其实是很低的,NXP的S32K144在产生20kHz的PWM波时,可以轻松达到0.02%以上的分辨率,那么采样时间的量级达到了10^(-9)。这个量级会极大的增大整个模型的仿真时间,我的笔记本可能跑一次2秒钟的仿真就得运行几个小时,最后还会卡死。
PWM占空比精度太低会导致FOC控制效果根本好不起来,这和控制参数无关,所以调参是无法解决的。提高仿真的PWM占空比精度会大大增加仿真运算量,调参过程又会比较麻烦。
所以我们要在准确度和仿真效率上取一个折中,一般我认为0.5%的占空比分辨率是不会太大影响仿真精度的,仿真计算量也可以接受。
Tips :这一点是我经过了无数次血与泪才总结出来的,我没有在任何地方看到过类似的结论,但的确就是这一个参数足以影响仿真的有效性。
我们需要注意的是,仿真始终和实际有差距。但这并不意味着仿真没有意义,仿真的意义在于找到正确的方法,而且是极其高效的。而MBD要做的就是将仿真和实际应用拉得更近,甚至消除这种差距(美好的期望)。
评论
查看更多