本人长期从事新能源汽车主驱电机的软件开发工作,专注于扩展卡尔曼观测器、高频注入等针对电机各项参数的识别算法的研究,对市面上各个厂商的电驱方案都有所了解。本篇文章,我们将对Power Integrations(以下简称PI)公司电机控制软件开发套件进行测评,其中包括上位机软件Motor-Expert 2.0和基于
libTPCFOC_IPH_Curr_Recon_v01.00.000.a电机控制库的下位机软件。该软件库搭配PI BridgeSwitch™功率器件,能够实现400V电压平台下的中小功率无刷电机驱动,适用于家用或商用的空调、风扇等,具有很广阔的应用场景。同时由于其功率器件的高度集成化,极大的降低了硬件成本和减少了PCB占用空间。下面我们将开始具体测评。
针对文中出现的缩略词,为避免歧义,在此提前声明:
开发套件功能一览
首先,我们来看看本次测评对象PI电机控制软件开发套件的具体组成。主要包括上位机软件Motor-Expert 2.0和下位机软件基于
libTPCFOC_IPH_Curr_Recon_v01.00.000.a电机控制库。
Motor-Expert 2.0是PI推出的一款嵌入C语言应用程序、库及控制GUI的软件,使用BridgeSwitch™无刷直流(BLDC)电机驱动器IC的设计人员,借助该软件可对三相电机的运行性能进行精确的控制和调整。其与电机控制库的通信协议是公开的,用户在产品开发过程中可使用该上位机进行调试。根据说明文档整理及软件界面显示,该上位机具备如下功能:电机状态显示、电机参数设置、电机控制指令设置、数据波形显示(同一时刻最多四个信号)、控制台等。
对于下位机软件电机控制库
libTPCFOC_IPH_Curr_Recon_v01.00.000.a,我们根据说明文档,能够整理发现该软件库具备以下功能:
-高可配置性,包括在运行过程中也可以进行配置,突出一个“灵活”
-速度环控制、扭矩环(电流环)控制
-通过使用BridgeSwitch™功率器件,对三相电流进行重建,实现三相无刷电机无感矢量控制
-支持BridgeSwitch™功率器件的错误总线功能。错误总线使用单线通信,可使三组半桥通过同一根信号线连接至单片机,向单片机传送半桥的四个级别的欠压、过压、半桥过热、驱动状态、过流等故障信息,该功能极大的减少了单片机引脚的使用,确实优秀,本人第一次见功率器件及驱动以总线形式传递故障信息
-对功率器件的监控、保护
-数据记录、回放功能,方便系统状态诊断和系统参数调试
-与上位机软件的通信,方便进行电机控制和数据可视化
-方便移植至其他单片机平台。该软件库的Demo是基于XMC1400单片机,为Cortex-M0内核,48MHz,所以对于大部分基于Cortex-M核的单片机都可使用,只是对于支持浮点计算的单片机,有点性能浪费;使用DAVE开发环境,编译链为ARM-GCC,所以移植时需考虑编译链匹配。
综上所述,该电机控制库具有完整的电机控制环路算法,在实际使用过程中,用户只需要专注处理如下工作:单片机硬件适配、产品应用层设计、产品参数配置。
明确套件功能后,我们的测评步骤也基本确定:首先使用XMC1400(单片机开发板)、DER-870(BridgeSwitch™器件评估板)构建电机控制硬件。然后对PI Demo程序(BridgeSwitch Three-Phase Sensorless FOC Code Library using Integrated Phase Current (IPH))进行硬件适配。再使用上位机软件Motor-Expert 2.0进行电机控制环的参数调优。最后,使用上位机软件对电机状态、相关数据波形进行显示展示。
硬件环境搭建
1. 逆变桥:逆变桥使用PI DER-870评估板,实物如下如所示:
该评估板使用三颗BridgeSwitch™ BRD1267C 半桥器件,原理图如下所示
该评估板的主要外参数如下图所示
可以看出,该半桥的电路极其简单,只需在外围配置电阻、电容即可正常工作。该评估板背侧另有额外的电流采集电路,试用过程中下未使用,故未列出其原理。结合原理图、参数、Datasheet可知,该评估板的电气接口定义如下:
此外,该评估板的关键电信号主要包括:半桥功率器件,相电流与电流信号的对应关系为400uA/A,电流信号转电压信号所使用的电阻值为10KΩ,对应电压信号为4V/A,该半桥最大输出电流为0.7A,对应最大输出电压为2.8V;半桥的上桥臂使用的PWM信号为低逻辑,即当该PWM信号为低时,对应上的上桥臂导通;器件ID,逆变桥使用三个半桥功率器件,该三个半桥使用同一根FAULT_BUS信号与微控制器通信,因此需要设置每个半桥的通信识别ID,通过将半桥功率器件的ID引脚分别:连接至BPL引脚、悬空、连接SG引脚共三种方式来设置三个ID,微控制器具有默认的ID,因此无需设置。
2. XMC1400评估板
3. 连线:依据Demo文档,接线关系如下
4.电机:电机连接如下图所示:
电机控制软件Demo分析
硬件环境搭建完成,让我们来看看软件部分。电机控制软件Demo程序将代码主要分为三层:硬件抽象层、电机控制算法层、电机控制应用层。硬件抽象层包括错误总线驱动、PWM驱动、ADC驱动、UART驱动、GPIO驱动、看门狗驱动。电机控制算法层包括FOC、反馈信号处理、V/f(压频)控制、PI控制器、速度环、加速度控制、状态观测器、相电流重构、电流环、错误总线监控、状态监控。电机控制应用层包括故障处理、电机控制、数据采集、与上位机软件的通信。
第一步:电机启动过程
此电机控制库所使用的转子位置观测算法是基于磁链观测算法,当电机转速过低、电流太小(信噪比太小)时,将导致观测器无法稳定闭环,故需要先将电机转速开环条件下进行转动,其启动过程如下图所示:
Bootstrap阶段:在低成本的逆变电路中,对于逆变桥上桥臂的门级驱动普遍采用自举电路,通过二极管、电容来维持上桥臂开通时所需要的的门级电压。在上图的Bootstrap阶段,当第一个半桥的上桥臂关断、下桥臂开通时,通过二极管对自举电容充电,使得上桥臂在下一个PWM周期内可以正常工作。
Alignment阶段:此阶段,通过给定一个方向恒定的电磁场,强行拉动电机转子转到该角度附近。
Alignment De-energize阶段:上一阶段后的一段空闲时间,猜测是用于等待转子稳定下来。
Sensorless Startup阶段:此阶段通过开环拖动,使电机转速逐渐提高至设定的转速值。
Open-Loop阶段:控制器输出固定的占空比信号,使电机转速逐渐稳定下来,预设置观测器,用于下一阶段的闭环控制。
Closed-Loop阶段:基于上一阶段的稳定运行,使用磁链观测的方法,进行电机转子角度、转速的闭环观测、电流环、转速环、应用层等的正常运行。
第二步:电机磁链观测器
磁链观测器原理如下图所示。Vs即控制器的输出电压,减去电机电流×电机电阻,理想情况下,为电机的反电动势+电机电感的电压,通过该电压计算得到总的磁链,并减去由电流+电感产生的磁链,即可得到电机转子的磁链。由此可以看出,当电机转速过小,将导致反电动势过小,信噪比过小,影响观测效果。同时可以看出,电机电感、电阻、永磁体磁链等参数也将影响观测器的结果的准确性。
第三步:电机转子位置观测器
理论上,当得到转子的磁链矢量时,即可通过arctan()函数计算出电机转子位置,但是实际中此方法计算得到的电机角度纹波毛刺过大,后需一个低通滤波器。此电机控制库使用正交锁相环QPLL对磁链矢量进行处理,即可得到低毛刺的转子位置信号。
第四步:上位机软件Motor-Expert 2.0
Motor-Expert 2.0软件是PI公司针对其电机控制软件设计的调试软件,通过串口与目标控制器进行数据交互,完成参数配置、命令设置、数据回传等功能。
具体使用步骤如下:
-在下位机内烧写电机控制软件
-连接通过USB连接下位机至PC
-点击上位机菜单栏‘Connect’,在弹出的对话框中,选择对应的串口号,只有选择了正确的串口号,才能进行后续的操作
-配置参数:
✔️点击‘Configuration’
✔️‘Motor Configuration’,电机旋转方向,顺时针或者逆时针,看需求选择
✔️‘Current Feedback’,逆变电路参数选择,我使用的DER-870开发板使用的器件为BRD1267,转换电阻为10000 Ohm
✔️‘Motor Stall Monitoring’、‘Current Limit Monitoring’、‘Speed Limit Monitoring’等根据需要更改
✔️‘Motor Parameters’,根据实际填写母线电压、电机电阻、电感
✔️点击‘Phasing’,此页面的参数对应电机的启动过程参数,当发现点击无法启动,或者启动时过流,需调节此页参
✔️电流重建、磁链观测器的参数可暂时使用默认参数
✔️点击‘Control’,分别进行电流环的参数调节、转速换参数调节,即可进行电机的恒转速控制。
-当电机可以较为稳定的运行后,点击‘Vector Estimation’,我遇到的主要是‘Stator Manitude Regular’下的积分项‘KI’参数过大,导致最终计算结果角度偏差过大,D轴电流过大,体现出母线电流过大,我将‘KI’参数减小,‘KP’参数加大之后,转速不变的情况下,母线电流大幅度减小。
在电机实际启动过程,先通过给定固定的矢量电流进行相位对齐,此时电机会转动一个小角度,产生抖动,这是此类无感算法的特点。在电机开环拖动过程中,如果产生明显抖动,需要调整开环拖动期间的PWM占空比参数,有条件的,应通过测试设备实时监测电机转速,对比设定的开环拖动参数,判断开环拖动状态下是否发生电机转子磁场矢量与电磁矢量之间节拍不一致(PWM参数太小时,电机转子转速小于电磁矢量的转速)。在开环状态到闭环状态,此时容易产生振动,需要减弱速度环的PI参数,使其转速环性能变软。当闭环控制稳定之后,即可进行转速环指令的调整。
总结
本次测评,总体感受是上手很快,节约了很多时间。由于使用了官方Demo所使用的单片机开发板,整个Demo顺利运行起来还是比较简单,基本上是下班后读读官方的相关文档,然后按照Demo文档所述连接硬件,再连接上位机调参即可。由于我使用的电机电感比较小,所以在电流环的调节、磁链观测器调节上占用了一定的时间。所收获的经验就是理解软件的基础算法结构,有利于根据电机的运行状况调节参数。
同时,由于PI BridgeSwitch™功率器件典型工作电压为340V,电压等级为400V,最大击穿电压为600V,故在市电下,经过一级简单的整流滤波后,即可作为目标设备的功率供电,相比较传统的方案,省去了DCDC电路,节省了成本。通过直接对市电进行整流后,使用此套方案,即可用在风扇、空调、油烟机等常见的家用电器之中,在产品尺寸、成本等方面都具有明显的优势。
同时,也有一些建议,以期待更好的提升。由于基于磁链的观测器,过于依赖反电动势,对于极低速状态下,无法稳定运行,建议加入高频注入观测器、扩展卡尔曼观测器等进行低速区的过渡。此外,建议上位机提供二次开发接口,作为子进程运行在客户的应用程序
|