分享

MBD实战之电机控制 第01期:永磁无刷电机基础

 伊伊爸 2022-08-20 发布于湖北

全文约4413字,你将看到以下内容:

  • 对永磁无刷电机的基本认识

  • 永磁无刷电机的控制策略

  • 永磁无刷电机的数学模型

  • 下期预告

电机是一种非常复杂的电气设备,本文不打算像教材一样罗列各种定义、公式。对于MBD(Model-Based Design,基于模型的设计)来说,重点依然是模型和算法,对电机的了解不需要太深入。本文所介绍的是关于电机的一些基本认识,足够MBD使用即可。

1 对永磁无刷电机的基本认识

我们只讨论永磁无刷电机,这里推荐两本书供大家参考:

  • R. Krishnan,《永磁无刷电机及其驱动技术》

  • 袁雷,《现代永磁同步电机控制原理及MATLAB仿真》

这两本书一起使用,可以较为全面的覆盖永磁无刷电机的工作原理和数学建模方法。我也更建议在电机控制算法和建模中,直接参考这两本书。后文是针对一些比较关键的点进行的总结和归纳,也有一些我的经验教训。

在对话框中回复关键词“电机书籍”,可以收到这两部书的资源。

1. 什么是永磁无刷电机?

永磁无刷电机大致可以分为永磁同步电机(Permanent Magnet Synchronous Motor,PMSM)和无刷直流电机(Brushless DC motor,BLDC)两种。一定要注意对这两种电机的区分,因为它们在结构上和控制算法上都有明显的区别。

如果手上有一个永磁无刷电机,可以尝试转动转轴,有明显的段落感(转起来有顿挫感)的就是BLDC,如果很转起来很顺畅,就是PMSM。

如果有条件能拆下外壳看看绕组会更加直观:PMSM不同相的绕组是相互交错的,而BLDC的绕组是各自独立的。如下图所示:

图片

PMSM的绕组 - From Internet

图片

BLDC的绕组 - From Internet

还有一种办法,就是使用使用示波器查看反电动势的波形。先将电机的任意两相连接到示波器的输入端和地端,然后转动转轴。示波器能捕捉到永磁体切割绕组产生的反电动势,PMSM的是近似的正弦波,而BLDC是方波。

Tips:很多书上会提到这种方法,但这种方法只是理论上的,实际上很难得到正弦波或方波,我两种电机都试过,并没有明显区别,这里只是提一下。

应用中,PMSM常用做伺服电机,而BLDC常用在旋转机械中,因为BLDC的负载能力更强,例如大疆无人机采用的就是BLDC。

图片

大疆的BLDC电机 - From DJI

虽然永磁无刷电机使用的是直流电,但本质上它是交流电机,所以要驱动永磁无刷电机,逆变电路必不可少。

Tips:整流是交流电变直流电,逆变是直流电变交流电。

2. 永磁无刷电机的极性

关于永磁无刷电机,还需要注意一点的是,电机的极性,极性会影响不同算法的实施。

简单的分类有两种:隐极式(Round)凸极式(Salient-pole)。分别对应两种永磁体结构,标贴式和内嵌式:

图片

标贴式和内嵌式结构 - From R. Krishnan

标贴式是将永磁体直接贴在转子上,而内嵌式是将永磁体内嵌在转子中。

在参数体现上的区别就是:隐极式dq轴电感近似相等L≈ Lq,凸极式dq轴电感差异较大LLq,这一点是这两种电机的本质区别

最常见永磁无刷电机的是隐极式(标贴式)电机,成本和制造难度都相对低一些。一些高性能场合可能会使用到凸极式(内嵌式)电机,例如电动汽车的驱动电机。

凸极式电机可以实施一些特有的算法,例如:“最大转矩电压比(MTPV)+弱磁”控制策略,无感高频注入算法,等。

2 永磁无刷电机的控制策略

1. 永磁无刷电机的矢量控制


对于永磁无刷电机,最出名的莫过于FOCField-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,只不过 轴和 轴的电压控制方式不一样。

当然还有很多智能控制方法应用到电机控制中,比如模糊控制、神经网络控制、自适应控制等。但大多只存在于论文中,实际应用中几乎没有(见下图)。开环控制在算法调试中使用的也比较多。

图片

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要做的就是将仿真和实际应用拉得更近,甚至消除这种差距(美好的期望)

4 下期预告

本期内容是我关于永磁无刷电机及其控制的一些总结,不涉及具体操作和细节,更多的理论上的知识请参阅文中提到的两本书。在对话框中回复关键词“电机书籍”,可以收到这两部书的资源。

实际上还有很多值得注意的地方,但毕竟经历有限无法全部总结,如果有必要我会再进行补充。

下期将开始我们的MBD电机控制模型的搭建,我打算从Stateflow创建电机控制状态机开始。

参考文献:

[1] Position Sensorless Permanent Magnet Synchronous Machine Drives—A Review

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多