APP下载

基于ARM+CPLD的无刷直流电机控制系统

2012-06-01唐立军贺慧勇吴定祥

电力科学与技术学报 2012年3期
关键词:直流电机驱动控制器

唐立军,桂 欣,贺慧勇,吴定祥,王 哲,李 芃

(1.长沙理工大学 物理与电子科学学院,湖南 长沙 410004;2.长沙亿旭机电科技有限公司,湖南 长沙 410007)

无刷直流电机(BLDCM)具有效率高、运行可靠、调速性能好等特点,广泛应用于军工、数控、医疗器械等领域.近年来,随着高磁能积永磁材料的出现、全控型电力电子器件和微电子技术的发展以及控制方法的优化,对无刷直流电机的驱动器提出了更高的要求[1-2].单片机控制系统、专用电机控制系统和DSP控制系统,在传感器信号采样到控制命令输出之间存在较大延迟,影响驱动效率,并且驱动保护电路复杂,降低了系统的安全性[3-4].笔者以STM32F103为核心设计无刷直流电机驱动器,对驱动效率的提高、系统在速度控制中动态行为的改善及系统的可靠性进行探索,以提高无刷直流电机控制系统的性能.

1 系统硬件电路设计

1.1 系统整体方案设计

系统硬件结构如图1所示.控制器为STM32F103,芯片内部具有预装载功能的高级PWM模块、编码器和霍尔传感器接口、带DMA功能的模数转换器(ADC)等.外围电路包括驱动及其保护电路、隔离电路、检测电路、控制器与PC通信的接口电路.系统用PC作为上位机,通过基于串口的Modbus协议进行命令发送并实时监控,以STM32F103作为控制器,CPLD进行保护,IPM驱动电机.霍尔元件检测转子位置和定子电流,增量式光电编码器检测电机转速.STM32不断采集信息,修正上位机给出的转速,实现系统对电机的速度闭环控制.

图1 系统硬件结构Figure 1 System hardware structure diagram

1.2 驱动方案设计

无刷直流电机通过改变内部三相绕组的导通顺序,实现定子绕组的正确换相,从而使电机正常运行.传统的电机控制器捕获霍尔传感器的转子位置信号,在中断事件里对捕获的脉冲信号进行逻辑判断处理,调整开关管的通断,在规定时刻输出需要的功率开关驱动信号.每次换相需要进出中断并且关闭输出再启动,对系统性能造成一定的影响.

STM32的定时器具有内部级联结构和专用的预装载寄存器.高级控制定时器产生PWM信号驱动马达时,可以用另一个通用定时器作为“接口定时器”来连接霍尔传感器,3个定时器输入脚通过一个异或门连接到“接口定时器”的1路输入通道,“接口定时器”捕获这个信号后,通过内部级联产生一个脉冲,使高级定时器实现输出换相,整个过程完全由硬件实现,延时只取决于芯片内部的硬同步.预装载寄存器使定时器具有该次换相同步装入和下次换相预装载的功能,在接到换相脉冲时,将该次需要输出的端口配置同步装入实际寄存器,然后响应中断,将下次的导通逻辑存入预装载寄存器,换相过程无需关闭、输出、再启动,很好地改善了系统的动态性能,提高了系统的可靠性.

1.3 驱动保护电路设计

无刷直流电机的驱动及其保护电路多数由驱动芯片加外围故障检测电路组成,使系统的电路结构复杂,故障发生时需要控制器响应中断再处理,系统延迟较大.该系统采用智能功率模块(IPM)加CPLD的方式实现驱动电机所需的三相逆变及保护电路,如图2所示.IPM内藏有欠压、过压、过流和过热等检测电路,当IPM产生故障输出时,CPLD能在几纳秒内做出反应,通过制动输出锁定IPM,保护模块及电机,整个过程延迟极短且不需要控制器的参与,有效地提高了系统的可靠性.同时,STM32检测到故障信号,通过刹车机制迅速关闭PWM输出,封存PWM配置状态,直到故障解除重新使能输出.此外,为防止控制器在译码换相时出现错误,CPLD在接收PWM输入信号后,增加了防止同一相上、下桥臂共同导通的逻辑电路,从而保护IPM.

图2 IPM内部结构Figure 2 IPM internal structure

1.4 电流采样电路设计

该系统采用LTS25-NP型霍尔传感器来检测反馈电流,得到电流瞬时值后,经转换电路变成0~3.6V的电压信号,在STM32的模/数模块中做标量处理,将采样值转换成响应的数值保存至数值寄存器[5].电流转换电路如图3所示.电流采样值经采样电阻R6转换为电压,电阻比值R2/R1决定幅值调整的倍数,该电路将输入电压幅值增大2倍.电压信号VREF+=3.6V,来自STM32的ADC模拟输入参考电压输入端.电阻R3=R4,当检测输入信号为零时,检测输出为VREF+的一半,即1.8V.作用是将负反馈过来的电压值正向偏置1.8V.二极管D1,D2用来实现电压限幅,使输出电压范围在0~3.6V.电阻R2和电容C1实现硬件滤波.

图3 电流采样电路Figure 3 Current-sampling circuit

2 控制策略的实现

为了达到控制精度,获得良好的稳动态特性,该系统选用转速、电流双闭环控制策略[6].速度环增加系统抗负载扰动的能力,抑制速度波动,保证系统静态精度和动态跟踪的性能.电流环提高系统的快速性,抑制电流环内部干扰,限制最大电流保障系统安全运行.速度环和电流环都采用比例积分(PI)控制,并且2个PI调节器均由软件实现,灵活性强,精确度高.控制流程如图4所示.

图4 无刷直流双闭环控制系统Figure 4 Double closed-loop control system of BLDCM

转速检测采用增量式光电编码[7],STM32通过捕获编码器的输出脉冲,获得准确的转速.为了实现高精度控制,将STM32的编码器接口配置在最高分辨率处,定时读取接口定时器的值,计算出转速,此速度作为速度参考值的反馈量,经过速度PI调节后得到电流参考值.电流值通过霍尔电流传感器采样经调理后获得,在捕获电流值时,使能STM32的DMA能够获得更高的采样效率.经过多次AD采样转换后取平均,作为电流内环的电流反馈量,经过电流PI调节后,得到输出量,调节输出的PWM信号占空比,控制电机转速.在实际控制时,为避免转速调节过于频繁导致系统震荡,设定通用定时器每20 ms中断一次,调节转速.通过积分限幅与输出限幅等策略,可有效地减少超调,为了使控制系统稳定,在速度采样偏差和电流采样偏差均小于某设定阈值时,不进行调节动作,避免某些小的扰动引起系统震荡.

3 控制系统软件设计

系统软件包括主程序、换相捕获中断程序、AD采样中断程序、串口通信程序.主程序包括各种全局变量的定义、PWM控制、霍尔捕获、AD采样、串口、通用IO等模块的初始化,并实现与PC机的Modbus协议通信.换相捕获中断程序实现电机下步换相的PWM配置;AD采样中断程序主要实现转速、电流反馈值的采样计算,调节PWM的输出比;串口通信程序实现电机各种运行参数的反馈,利用PC进行实时控制.软件流程如图5所示.

图5 软件流程Figure 5 Software flowchat

4 实验结果及分析

为了验证和分析驱动器的性能,采用1台额定功率为200W、额定电压为24V、额定电流为5A、额定转速为3 000r/min的无刷直流电机进行试验.各项实时运行参数通过串口回传给上位机,根据采集的数据绘制波形,上位机Modbus数据采集界面如图6所示.图7为空载条件下设定速度从3 000r/min经过5次阶跃变化又回到3 000r/min时,实际转速随设定转速的变化曲线.从图7中可以看出,在空载条件下,基本没有超调,最大调节时间为0.4s,最大静差为2%,电机转速能平滑、快速地跟随参考速度的变化.

图8为参考速度为2 000r/min时负载改变的情况下实际转速变化曲线.在1~2,3~4,5~6s分别加入50,100,200W的负载,从图8中可以看出,转速会有不同程度地下降,并很快过渡到稳态值,卸掉负载后转速又回到设定值.为了保证不发生震荡,系统采用了积分限幅和输出限幅,转速的微小变化不能引起调节,所以在增加负载引起转速变化时,没有回复到设定值.

图6 Modbus数据采集界面Figure 6 Modbus data collection interface

图7 转速变化实时波形Figure 7 Real-time change waveform of rotation speed

图8 转速为2 000r/min,负载变化时的波形Figure 8 Waveform of load changes when rotation speed is 2 000r/min

5 结语

笔者应用STM32F103芯片设计了一个基于速度、电流双闭环结构的直流无刷电机控制系统,在系统设计过程中,采用智能功率模块(IPM)加CPLD的方式,充分利用了STM32F103片内资源,简化了控制系统的硬件电路,大大节省了成本,提高了驱动效率和可靠性.从试验结果可以看出,该驱动器具有良好的动静态性能.

[1]张琛.直流无刷电动机原理及应用[M].北京:机械工业出版社,2004.

[2]王晨阳,张玘,熊九龙.基于DSP的无刷直流电机控制系统设计[J].微计算机信息,2008,24(7):6-7.

WANG Chen-yang,ZHANG Qi,XIONG Jiu-long.The design of BLDC motor control system based on the DSP[J].Control & Automation,2008,24(7):6-7.

[3]谢方南,朱莉莉,刘俊纯.基于MCF5213的开关磁阻电机控制系统设计[J].电机与控制应用,2011,38(3):23-27.

XIE Fang-nan,ZHU Li-li,LIU Jun-chun.Design of switched reluctance motor control system based on MCF5213[J].Electric Machines & Control Application,2011,38(3):23-27.

[4]纪梁洲,杨向宇,龚晟.多功能无刷直流电机驱动控制器的研制[J].微电机,2011,44(4):63-66.

JI Liang-zhou,YANG Xiang-yu,GONG Sheng.Research on multiple functions of brushless DC motor drive[J].Micromotors,2011,44(4):63-66.

[5]王海浪,毛弋,周有庆,等.检测电阻电流型电子式电压互感器[J].电力科学与技术学报,2010,25(1):91-96.

WANG Hai-lang,MAO Ge,ZHOU You-qing,et al.Resistance current detecting based electronic voltage transformer[J].Journal of Electric Power Science and Technology,2010,25(1):91-96.

[6]罗召成,朱世强,王会方.机器人自适应PID饱和输出反馈控制[J].传感器与微系统,2012,31(3):66-70.

LUO Zhao-cheng,ZHU Shi-qiang,WANG Hui-fang.A-daptive PID saturate output feedback control of robot manipulators[J].Transducer and Microsystem Technologies,2012,31(3):66-70.

[7]杨孟,徐卫明,肖林.增量式光栅编码器在激光扫描雷达的应用研究[J].传感器与微系统,2012,31(3):36-38.

YANG Meng,XU Wei-ming,XIAO Lin.Application research on incremental optical grating encoder in laser scanning radar[J].Transducer and Microsystem Technologies,2012,31(3):36-38.

猜你喜欢

直流电机驱动控制器
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
轨旁ATC系统门控柜接收/驱动板改造
基于FPGA的双绕组无刷直流电机软件设计
基于S3C6410的Wi-Fi驱动移植实现
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列