针对电机控制或者其他电力电子应用场合,各大芯片厂商不仅生产了各种芯片和功率器件,并且针对这些应用场合,设计了许多控制算法的类库。
  厂商提供的demo大部分都是基于状态机的模型设计,并且将各部分功能模块化。同时设计了所需的上位机调试工具,并给出了示例参考的硬件demo板。
  一般使用这些类库,需要使用相应厂商的芯片,部分厂商提供的是开源的类库或开放的算法方案,可以直接移植到开发者所想使用的芯片上。

ST解决方案

ST类库

  ST的FOC库已经到5.0系列版本,并且完全开源。此前的版本开放了各种算法,但是无位置控制算法和部分控制策略是闭源的。
无位置传感器算法上,在低速情况下,早期版本,ST采用IF启动,4系列版本之后已经加入了高频注入法作为启动方式。初期版本的开环到闭环的切换策略是直接强行切换,3系列版本之后改为了加权角度切换。在中高速阶段采用了龙伯格观测器法,通过观测到的反电动势,用PLL或者cordic算法,来计算出最终的角度和速度。此外,霍尔传感器和编码器的速度反馈方式也被写入了模块。
  而在控制上,库函数包含了前馈解耦的PI控制器、分段PI控制,并且含有弱磁和MTPA的模块。
  采样方式上,包含了单电阻采样法、三电阻采样法和隔离霍尔传感器的模块。为了实现单电阻采样法,还加入了含伪零矢量的SVPWM。
另外,ST的底层驱动是以库函数形式操作为主,从以前的SPL库转为了现在的HAL库和LL库,后两者只需要采用STM32CubeMX就可以自动生成。
FOC库有一个图形化配置界面,可以自由选择上述各个模块搭配,一键生成示例demo。
  停机方案考虑了零矢量停机,需要外部加上泄流电阻。
  目前适用的电机含PMSM、BLDC、ACI、开关磁阻电机。
  库还配套了自行开发的GUI调试界面,基于串口通讯,为了考虑在stm32系列芯片的通用性,其没有利用IDLE中断而直接采用了串口中断进行数据接收。其上位机能帮助进行离线参数辨识。
  整体来看,这一库采用c语言实现,模块化程度较高,尤其是HAL库引入后,控制算法和底层驱动分离程度更高,适合移植和学习。风格库函数在2.0时为面向对象型,3.0-4.0系列采用类似C++的面向对象型,而5.0系列开始,回归模块化风格,代码相对比3.x和4.x更加精简。
使用时需要注意的是,ST的静止坐标系中,采用的是beta轴滞后于alpha轴的形式。
  目前,ST针对洗衣机等场合,在电机控制器中加入预测性维护功能。

TI解决方案

  TI的电机控制库,主要是Controlsuit中的DMC库和MotorWare中的InstaSPIN库,此外还有针对光伏的solar lib和频率分析的SFRA lib。目前TI的资料已转向C2000ware这一软件包,对Controlsuit已经停止更新,但是短期内Controlsuit的资料仍然较为丰富。

DMC

  DMC库是模块化且开源的,里面包含了滑模控制去、抗积分饱和的PI控制器等模块,针对电流控制,里面有FCL模型,其功能是利用CLA或双核CPU等硬件条件建立快速电流内环,提高电流环的控制效果。其demo中没有切换方案,并且各个模块需要自行组合使用。总体来看,这一库移植和代码复用上很方便,可定制化程度很高。

InstaSPIN

  InstaSPIN库是一个闭源的类库,并且其算法方案大部分没有开放。针对所有三相电机系统而设计,具有简单的 API 接口和针对专家级用户的完全自定义功能,包含了弱磁控制。
  InstaSPIN-FOC内部不仅有传统PI控制器、无位置算法模块,还含有参数辨识等模块。其说明文档详细介绍了PI控制器的调参方法,离线参数辨识的方案等。离线参数的数据可以帮助开发者快速配置PI控制器的参数,并且有在线辨识可以帮助实时调整参数。
  无位置控制是InstaSPIN库的核心,在低速运行的时候,采用HFI,全程都是闭环控制,不存在切换角度的问题。中高速时,采用了FAST观测器。这一观测器受到专利保护而无法知道细节。
  InstaSPIN-MOTION的特点是含有SpinTAC控制器。SpinTAC控制器用于速度环和位置环上,其控制性能优于PI控制器。适用于任何三相电机的含传感器位置或速度运动控制,只需要单变量便可完成位置或速度控制调优。SpinTAC 控制器自动抑制以下情况造成的干扰:周期变换、负载变化环境干扰。这一控制器的细节也没有公开。
  InstaSPIN-BLDC则是专门针对BLDC的一个版本。与其他基于反电动势过零检测时序的无传感器 BLDC 控制技术不同,InstaSPIN-BLDC 通过监测电机的磁通量来判定为电机换向的时间,能让电机在较低速度下更加稳定地运转。
  PowerWarp 技术可在部分负载情况下实现节能。针对异步电机ACI,还有相应的功率因素模块,控制最小的励磁电流。
为了实现高精度控制,库中也有针对传感器的模块。
  采样上也包含了单电阻、两电阻、三电阻采样方式,并且目前来看,三电阻采样法是性能和成本最均衡的采样方法。
  InstaSPIN 通用 GUI。该 GUI 可以检测任何 MotorWare 项目中的常用变量,在评估和开发过程中非常有用。该GUI基于web app设计,通过仿真器于DSP进行连接,调试时不对运行本身产生影响,属于非侵入式调试。

TI FOC与方波驱动对比

  针对正弦波与方波驱动进行对比,在一般情况下,方波驱动比正弦波驱动的转矩脉动大且噪声多。而在高速运行领域,方波驱动又优于正弦波驱动、FOC控制,方波驱动的电压利用率高,可在不弱磁的情况下达到电机真正的最高转速,而正弦波驱动时最高转速则容易受电压利用率和开关频率的限制。 芯片厂商的电机控制方案
芯片厂商的电机控制方案

Infineon解决方案

iMOTION™ Modular Application Design Kit

  固件库是模块化的,包含了基于锁相环的无位置算法、抗积分饱和的PI控制器、SVPWM模块等。
  启动方式是VF启动,并且提供了切换至闭环的模块(MET)。
  在开环启动至一定转速后,无传感器MET闭环控制状态接管控制。该状态的加入保证了定子磁通与转子磁通垂直,且磁通平稳可控。
其余模块与ST的FOC库相同。
  由于英飞凌与st均为arm核单片机,数据处理方式基本相同。

UCPROBE

  针对cortex-M内核的MCU,均可采用UCPROBE作为上位机。它可以直接读取内存单元中变量的值,并且对其修改,并且可以选择修改数组元素或者数据的某一个位。不过这一软件是收费软件。英飞凌系列单片机有专门定制版的UCPROBE,针对英飞凌单片机可以免费使用。
通讯时可以使用的硬件为JLINK、CMSIS DAP等仿真器,STlink除外。通讯使用的接口即为原来的仿真接口,JTAG或者SWD接口均可。使用仿真器来通讯的好处是不需要添加额外代码,其通讯和调试不占用CPU资源,属于非侵入式调试。此外,可以使用RS232(普通串口)、网络作为接口,这时候需要增加相应的驱动程序,并且会占用CPU资源。
  UCPROBE带有虚拟示波器功能,只需增加官方给的代码,与原有工程整合即可使用。如果不需要虚拟示波器功能,则不必添加代码,直接原工程即可使用。虚拟示波器最多可以开启8通道,且需要占用一定的内存,所以必须根据实际情况选择开启的通道数以及通道缓冲区的大小。

灵动微电子控制方案

  以风机为例,主要有正弦波、120度方波、150度方波三种控制驱动方式。

矢量控制方案

  目前的无位置传感器控制,使用较多的是滑膜观测器。根据框图看,与其他几家基本上相同。
芯片厂商的电机控制方案
  针对逆风启动,整体控制过程中,对电流进行闭环控制
芯片厂商的电机控制方案

120度与150度方波控制对比

  方波控制,主要是针对梯形波的BLDC以及高速电机采用。
芯片厂商的电机控制方案

单相电机控制

  考虑单相电机的低成本,研究以正弦波驱动单相电机,针对噪声问题就行优化解决。
芯片厂商的电机控制方案

IRMCF343

芯片

  IR公司的IRMCF343是高性能基于RAM的马达控制,对于高端变频电器马达控制具有低成本和高性能的优势。IRMCF343集成了两个计算引擎:一个是用于无传感器永磁马达控制的运动控制引擎(MCETM),另一个是8位高速MCU(8051)。晶振频率最大为60MHz,内部时钟最大为128MHz,无传感器控制计算时间典型为11μs,MCETM计算数据范围16位。MCETM的控制元件包含:比例加积分(proportional plus integral)、向量旋转、角度估计、乘法/除法、低损耗SVPWM、单分流IFB。

编程方式

  用户可采用图形编译器,来连接这些控制元件,用以编程运动控制算法。该器件提供了主要的,无传感器控制算法的元素(如,角度估测器),以实现硬件的预定义控制块的功能。该器件还具有一个独特的,模拟/数字电路,和算法,完全支持单旁路电流重建。 8051微控制器执行2周期指令(60MIPS,120MHz)。MCE和8051微控制器通过双口RAM连接,来处理信号监测和命令输入。用于MCETM的,先进的图形编译器被无缝集成到MATLAB/ Simulink中,基于仿真器工具的,第三方JTAG,可用于支持8051开发。IRMCF343为QFP64引脚无铅小型封装。
IRMCF343 是为了适应低成本高性能的逆变控制电机调速而开发的一款低损耗高性能的运动控制芯片。此芯片包括三个部分:一部分是为空调提供用户接口、处理主通讯和上层控制任务等功能而配备的8 位高速单片机处理器(Microcontroller,简称MCU),另一部分是执行信号处理和模数转换的模拟信号引擎(Analog Signal Engine,简称ASE),还有一部分是用于无传感器永磁同步电机控制的运动控制引擎(Motion Control Engine,简称MCE)。

华芯维特SWM180

芯片

  SWM180 系列32 位MCU内嵌ARM Cortex - M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可选择基于片内RAM执行或基于叠封FLASH执行,最大支持1MB。可应用于工业控制、电机控制、白色家电等多种领域。

算法

  空调风机驱动采用SWM180芯片进行设计,实现矢量控制算法,具有防台风翻转检查功能,并实现对无霍尔永磁同步电机的精确调速。最后,空调压缩机驱动板载超值型SWM320芯片,驱动方案采用FOC算法,结合空调压缩机负载特性,通过力矩补偿功能实现了低频10Hz稳定运行,并通过恒功率控制实现了120Hz的高频运行,此芯片能满足空调压缩机FOC算法开发要求。

相关文章: