- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Cortex-M3内核MCU的BLDCM控制器研究
摘要:用Cortex-M3内核32位高性能MCU设计一款通用性、控制性较好,性价比较高的BLDCM控制器。根据BLDCM的工作原理和MCU的良好性能进行了详细设计。实现了对BLDCM的转速、电流双闭环控制,通过实验测试了控制器的各项性能。该款基于32位MCU的控制器性能良好,结构紧凑,性价比高,具有较高实用价值。结合应用经验发现,API函数支持下Cortex-M3内核的MCU在硬件控制和软件编程方面较以往单片机等具有优势,基于API函数支持的MCU应用将是未来趋势。
关键词:Stellaris;LM3S615;BLDCM;双闭环;实验测试
Luminary Micro的Stellaris(群星)系列MCU以其32位的性能和低至1美元的价格在微控制器领域表现出了卓越的优势,其中的LM3S615便包含ARM公司最新推出的针对微控制器应用的Cortex-M3内核,另含10位两通道ADC,6路带死区PWM,6路CCP,3个模拟比较器、1个低压差线性稳压器、2个完全可编程的16C550-type UART、同步串行接口(SSI)、3个通用Timer,I2C、温度传感器等片内外设,以及32KBFLASH、8KB SR AM、高达34个GPIO管脚。它有丰富灵活的外设驱动库函数及例程支持编程,可方便用于步进电机、无刷直流电机(BLDCM)、交流电机控制。
本文针对内含霍尔位置检测传感器的BLDCM,选用LM3S615设计一款通用性和控制性较好BLDCM控制器,并经过实验对其基本性能进行了多方面测试。
1 BLDCM的工作原理
无刷直流电机由电机本体、转子位置传感器和逆变供电电路3大部分组成。电机本体包括定子(电枢)和转子两部分,定子一般为多相绕组,转子由永磁材料按一定极对数组成。运行时转子在电枢气隙磁场带动下旋转,同时位置检测传感器将不断检测所得转子位置信息反馈给控制器,控制器通过运算送出控制信号驱动逆变电路中的功率开关器件轮流导通,电枢绕组轮流通电,气隙磁场不断跳跃步进,转子就不断旋转。控制器用以驱动开关器件的多为PWM信号,改变PWM的信号占空比可改变电枢的平均端电压,进而可改变电机转速,设计时应注意驱动开关的PWM信号逻辑关系要正确并应避免上、下桥臂直通。
2 基于LM3S615的BLDCM控制器的构成原理
基于LM3S615的BLDCM控制器结构原理见图1。
2.1 主要硬件组成及原理
原理图1同时给出了系统硬件组成及主要I/O分配。控制器对应的为三相无刷直流电机,电枢Y型接法,采用三相两通六状态供电方式和H_PWM,L_on单极性逆变桥控制(即绕组通电时下桥臂管一直导通,上桥臂管PWM调制)方式,这也能降低双极性PWM控制带来的较高开关损耗和噪音。
控制器通过ADC0通道(1#引脚)前端电位器设定转速,对应的10位A/D转换器会将转速设定值转换成数字量并保存在特定存储单元中,此后系统启动和运行时所需转速设定值从该单元读出,不需经常读入和A/D转换。LCD为能显示16×2个字符的1602。它能实用来实时显示转速设定值、当前转速值,系统故障代码以及在设定P,I时显示参数,图2为1602与MCU的连接图,图中电位器可用于调节背光;通过启动和停止按键控制电机启停;设定按键四次按下可选择设定两个PI调节器的4个参数(即ASR和ACR的P、I参数),增加和减小按键以0.1步距改变参数,设定;增加、减小3个按键在电机停止时可用,在运行期间无效,控制器的5个按键均通过单稳态触发器74121后再接MCU的GPI0引脚,对这5个GPIO引脚可通过GPIO函数将工作方式设定为中断;内嵌于电机的霍尔传感器能将转子位置转换成脉冲信号并送给MCU,表1给出了3路霍尔信号逻辑组合及正反转对应的功率器件导通顺序。
[p]
电机内部的三个霍尔元件在空间彼此相隔120°电角度,与其配套的永磁体的极弧宽为180°,转子旋转时,三个霍尔元件将交替输出三个宽为180°、相位互差120°的矩形波信号(H1,H2,H3)。这三路信号经过进一步整形(图3为三相霍尔脉冲信号的整形电路)后被MCU的CAP端口捕捉,捕捉信息一方面作为换相逻辑参与生成并输出PWM信号,另一方面速度计算模块利用其中一路脉冲(如H1,应注意电机极对数为P时,每转有P个方波)的前后沿时间间隔计算得到转速反馈值。控制器将转速反馈值送至LCD显示的同时将其与转速设定值比较并获得转速偏差,再经ASR运算得到电流给定值,电流反馈值与电流给定值相比较便得到电流偏差值,再经ACR运算得到PWM占空比调节值。PWM模块根据所得占空比值和换相逻辑在母线电流未超限时输出PWM并通过高速光耦TIL117送给驱动电路IR2130。
考虑到可靠性,MOSFET逆变桥驱动电路采用集成器件IR2130。IR2130自身的工作电源电压的范围较宽(3~20 V),并可对同一桥臂上下2个功率器件的栅极驱动信号产生2μs的互锁延时,能有效避免直通短路。
2.2 控制算法选择及检测处理方法
由LM3S615构建的控制器采用了电流内环、转速外环的双闭环控制策略。考虑BLDCM是一种自控式电机,MCU运算能力不比DSP,同时包括电机在内的全系统运行性能也受电机自身性能影响,所以ASR和ACR无需采用过于复杂的算法,这里两者均采用增量式PI算法,与位置式PI算法相比增量式PI算法不需要累加,控制器只输出增量,受误动作影响较小,控制增量仅与最近K次的采样值有关,容易通过加权处理而获得较好的控制效果。PI参数整定时可先固定积分环节为零,调节比例环节至系统响应稳定,然后再调节积分环节来改善系统的动态响应和静态稳定性能。
图3中三路霍尔信号经高速光耦隔离后再通过上拉电阻、非门、电容整形滤波后送至单片机,TIL117输入回路有一定输入电流需求,不能用霍尔信号直接驱动,光耦输出接反相器后恢复了原信号的逻辑状态。
对BLDCM母线电流的检测方法有传感器法和串电阻法等,用霍尔等传感器检测电流时线路相对复杂、成本较高,在被检电流较小时检测精度会受影响,母线串电阻法简单,但应注意控制电阻功耗。这里通过串电阻法检测母线电流,为降低电阻功耗并保证检测精度,选择了美国威世公司0.47 Ω检流用高精度小电阻,预计功耗不超过0.1 W。用导线从检流电阻两端引出,经滤波后接入图4所示电路,该电路是利用TI公司的宽带低噪音运放OPA842ID搭建的高输入阻抗差动放大电路,它能有效放大两路输入信号差值。差动电路输出送至MCU的ADC1通道进行10位A/D转换,图4为检流差动放大电路。
[p]
3 电机的开环软启动控制
在闭环条件下启动电机,因瞬时转速为零PWM占空比会达最大值,带载时可能因电机过流而启动失败,为此采用开环启动方式,流程如图5所示。启动按键按下电机转子从当前位置准备启动,先读取转速设定值(n0)并设置一个占空比常数D1,首次通电占空比为5%,以后以5%步距递增直至启动结束。因起始占空比较小,不管转速设定是大还是小,空载还是带载,都会顺利启动,不会出现启动大过冲现象。启动过程中MCU会不断进行转速判断,当转差率小于0.2时切换至闭环(图5中n为实时转速)。
4 软件编制中的主要问题解决策略
系统软件除主程序外,主要有开环启动、A/D转换、速度计算、增量PI、PWM生成、1602驱动、按键中断等子程序。TI给Stellaris(群星)系列MCU配备了完善的外设驱动库,片内外设使用和控制极为方便,外设驱动库中的API支持下可完全控制外设和快速开发应用程序而不需了解外设细节,这一特点可称为以后MCU应用的趋势。
对LCD1602驱动中用到的多个GPIO端口,其编程流程可归纳为:初始化(设置LDO输出电压,设置系统时钟);外设(GPIO端口)使能;设置GPIO端口每一位的输入/输出类型(高阻输入、推挽输出、开漏输出);读/写GPIO端口的状态。
4.1 按键控制
5个按键均要工作在中断状态,为实现良好控制编程时需注意两点:一是在主程序中做好相应GPIO引脚的设置,具体工作按顺序为,使能按键所在GPIO端口、设置按键所在引脚为输入、设置按键在引脚的中断触发类型(边沿、电平)、使能引脚的中断、使能GPIO端口中断、使能处理器中断;二是注意在中断服务程序中读完中断状态后要清楚中断状态。
4.2 PWM驱动信号的产生
LM3S615的PWM模块功能非常强大,由3个PWM发生器模块和1个控制模块组成。控制模块决定PWM信号的极性,以及传递管脚。每个PWM发生器都有1个16位定时器和2个比较器,可以产生2路PWM。在PWM发生器工作时,定时器在不断计数并和两个比较器的值进行比较,可以在和比较器相等时或者定时器计数值为零、为装载值时对输出的PWM产生影响。在使能PWM发生器之前,要配置好定时器的计数速度、计数方式、定时器的转载值以及两个比较器的值,从原理图1可知PWM输出受ACR运算结果、过流判断结果、霍尔信号逻辑3个事件的影响。表1中霍尔逻辑组合和开关导通组合的对应关系应事先存储在存储器中以便每次确定PWM输出引脚时查表。
4.3 电机过流检测
过流判断使用Timer的捕捉/比较模块实现比较简便,但ACR运算必需电流值的A/D转换结果,为提高系统效率,过流判断不用比较器,直接使用A/D转换结果。具体编程时可通过分析事先设置一常数,在每次输出PWM波时可将该常数与当前电流的A/D转换值的比较结果作为输出条件之一,若过流立即封锁PWM。
[p]
5 实验测试
测试用无刷直流电动机Un=36 V,In=1.3 A,Pn=40 W,P=3,额定转速1 500 rad/min,电机内含霍尔位置传感器,传感器工作电压5 V。实验项目有启动过程测试、相电流波形测试、霍尔位置脉冲测试,单相绕组反电势测试等,测试结果如图6~图9所示。
图6中转速无过冲,转速从零到设定值(1 200 rad/min)约1.6 s,开环启动快速,转入闭环未见图线突跳等异常现象;图7中相电流波头基本呈矩形无严重畸变,顶部稍微的波动与PWM斩波有关;由图8中脉冲频率可计算出电机转速为1 455 rad/min,与设定值一致;图9反映出电机单相绕组的反电势波形呈正负交替的梯形,且波形良好。
6 结语
32位LM3S615具有丰富的片内外设,较多的GPIO端口引脚,强大的外设驱动库函数,这为搭建的BLDCM控制器提供了良好的硬件和软件支持,最后获得的BLDCM控制器外围单元紧凑,功能设置适当,算法选择合理,并充分发挥了32位MCU的优越性能,从测试结果来看,其控制性能良好,有一定实用价值。结合本次LM3S615应用的经验,以API为主要硬件控制手段的编程模式可能会成为以后MCU应用的趋势。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...