MM32 SPIN MCU 电机 FOC 驱动 风机无传感器弦波驱动篇应用笔记

Posted yx15622383762

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MM32 SPIN MCU 电机 FOC 驱动 风机无传感器弦波驱动篇应用笔记相关的知识,希望对你有一定的参考价值。

在现今越来越强调环保节能的法规要求下, 新一世代的产品需要具备更高的高效性能, 在永磁无刷电机驱动上亦是如此, 除了高效率的电机外, 电子组件及驱动算法也必须尽可能的高效。为此灵动微电子提出了以 MM32 SPIN 系列 32 位微处理器开发的风机无位置传感器 FOC 弦波驱动解决方案。以下表格为此方案所提供的电机驱动功能列表。
本篇内容分为四大部分, 电机驱动硬件的参考设计、软件设计、参数调适说明以及此风机驱动方案的实际运转验证
 
 

 

 

 

 

1.硬件参考设计
硬件系统由外部 24V 电源供电, 经过电源降压转换后提供 15V、5V 电压, 并将此二个电源电压输出分别给予 Gate driver IC, 及 MM32 SPIN 系列微处理器。功率开关管则直接使用 24V 电源。此方案采用 0~5V 的电压输入做为速度命令的来源, 以控制电机转速。用户转动可变电阻旋钮(VR1, 请见图 1)可以改变此输入电压值, 当输入电压值超过 0.7V 时电机将会启动, 当电压值低于 0.4V 电机将会关闭。此方案的转速是经过此输入电压的变化加以控制, 目前规划为七段转速控制。电机启动前会先量测电机的 U, V 两相的反电动势电压(BEMF), 并由此判断目前电机是在静止状态或是旋转中。 若是在静止中则可以经过初始位置侦测后, 得知转子位置, 进而启动电机运转。 若电机是在旋转中, 程序将会持续量测 BEMF U,V 的电压一段时间后, 经由计算得知此电机的转速及顺逆转方向, 之后才能据此数据启动电机。电机启动后, 将会透过运算放大器量测后得知三相的相电流 Ia, Ib, Ic, 并将此信息经过坐标轴的转换后控制电机的力矩电流大小及相位。电机进入闭回路运转后, 其运转的角度将由滑模估测器提供, 并藉由此获得电机速度的数据。此时若是
收到用户传来的电机停止命令, 程序并不会立即关闭 PWM 输出, 而是会自行降低目前的转速命令, 使实际转速低于参数设定值后才会将 PWM 输出关闭。
2. 软件设计
2.1 软件控制框图
软件设计框图分为两种, 一为开回路驱动电机时的框图, 一为闭回路驱动电机时的框图。
开回路驱动电机时的框图说明:
在开回路驱动时, 是由参数设定的开回路目标转速及目标力矩电流命令驱动电机运转。开回路目标转速经过加速度斜率控制功能方块后可以得到实时的速度命令, 此速度命令经过产生转子角度功能方块计算后得到电机控制所需要的转子角度。
目标力矩电流命令经过力矩斜率控制功能方块运算后, 可以产生实时的力矩电流命令。以上计算所产生的转子角度及力矩电流命令将在下一阶段提供给予磁场导向控制器(FOC)使用。
磁场导向控制器功能方块提供了磁场导向的坐标转换、电流环 PI 计算、空间矢量调制运算, 并输出电机所需求的 PWM 占空比讯号给予外部的电力驱动组件。
下图蓝色虚线内部文字为对应框图的子程序名称, 各个方块输出/输入的斜体文字为程序中的变量名称
闭回路驱动电机时的框图说明
以下图 4 为闭回路驱动软件设计框图。 软件流程一开始是由 ADC 读取外部输入电压产生目标速度命令, 经过闭回路加速度斜率控制器运算后, 得到可提供速度 PI 控制器功能方块的速度命令, 接着用此速度命令与反馈的实际速度, 经由 PI 控制器计算之后产生力矩电流命令。
磁场导向控制器(FOC)功能方块接收到此力矩电流命令及电机的估测角度后, 经过三相电流的反馈、坐标转换、 电流环 PI 计算、及空间矢量调制(SVPWM)等法则运算, 由此获得要逼近目标转速所需求的三相PWM 占空比数据, 之后将此数据产生 PWM 输出给予外部的电力驱动组件, 以此驱动电机运转。
在磁场导向控制器功能方块产生 PWM 讯号的过程中, 滑模估测器(SMO)功能方块负责产生电机运转所需要的估测角度及速度。
图 4 蓝色虚线内部文字为对应框图的子程序名称, 图 5 蓝色标示的部分为 FOC 细部的软件框图, 图4, 5 各个方块输出/输入的斜体文字为程序中的变量名称。

 

图 6 为滑模角度估测系统细部的框图, 滑模角度估测器由四个主要功能方块所组成。首先由电流估测器产生估测电流, 并用此估测电流与量测的实际电流Ialfa, Ibeta的差值, 经过bang-bang 控制与低通滤波功能方块运算后, 产生估测的 BEMF 电压值 Ealfa, Ebeta, 将此估测的电压值经过反正切的计算后即可得到估测的转子角度。 

 

2.2 电机启动的软件设计
电机启动前 MM32 MCU 会先每一毫秒量测一次 BEMF U,V 的电压, 并在 500 毫秒以内计算得知电机的状态及转速。此时电机有可能是处于静止, 顺转, 逆转等状态, 本方案提供了此三种初始状态的启动方式。
2.2.1 启动前电机是在静止状态
电机将依正常启动方式启动, 即直接进入开回路的三段速度加速斜率启动电机, 以下为此三段加速度及二个临界转速等的设定参数名称:
OPEN_LOOP_RAMP_UP_SPEED_SLOP1 (开回路第一阶段加速度设定参数)
OPEN_LOOP_RAMP_UP_SPEED_SLOP2 (开回路第二阶段加速度设定参数)
OPEN_LOOP_RAMP_UP_SPEED_SLOP3 (开回路第三阶段加速度设定参数)
RAMP_UP_CHANGE_TO_SLOP2_SPEED (第一切换至第二阶段加速度的临界转速设定参数)
RAMP_UP_CHANGE_TO_SLOP3_SPEED(第二切换至第三阶段加速度的临界转速设定参数)
OPEN_LOOP_TARGET_SPEED (开回路目标转速设定参数)
当速度由静止状态上升至第一切换至第二阶段加速度的临界转速后, 加速度将由第一阶段加速度切换至第二阶段加速度。同样的若是速度上升至第二切换至第三阶段加速度的临界转速后, 上升加速度将切换至第三阶段加速度。之后等电机加速到达设定的开回路目标转速后进入闭回路运转。过程如下图所示, 图中所标示的文字皆为实际需设定的参数名称
 
 
 

 

 

 

 

 

 

 

 

 

以上是关于MM32 SPIN MCU 电机 FOC 驱动 风机无传感器弦波驱动篇应用笔记的主要内容,如果未能解决你的问题,请参考以下文章

灵动微代理电机电源专用国产32位单片机MM32SPIN05PF

灵动微MM32SPIN25PF可替换灵动微MM32F031C8T6

灵动微MM32SPIN25PF可兼容替换MM32F031CBT6

BLDC 无刷电机FOC驱动 STM32官方培训资料

基于M0 MCU的无感FOC航模电机控制

基于M0 MCU的无感FOC航模电机控制