引言
无刷直流电机(Brushless DC Motor, BLDCM)相比有刷直流电机及交流电机具有强大的优势,它具有更好的速度/扭矩性能,动态响应快,调速性能好,使用寿命长。在相同的体积和重量下,无刷直流电机能够传递更大的扭矩,这使得它在一些对空间及重量要求比较严格的场合具有更好的适用性。近年来,无刷直流电机在汽车、家电、航空、消费、医疗以及工业自动化领域取得了广泛的应用[12]。
图1 无刷直流电机控制系统框图
目前,ARM内核微控制器发展迅速。ARM内核微处理器性能高,耗电少,成本低,具备16/32位双指令集。本文选用意法半导体公司基于CortexM3内核的STM32F103RBT6芯片(以下简称STM32),该芯片适用于高性能、低功耗的嵌入式领域,同时它的高级定时器可以输出三路互补且带有死区时间控制的PWM波形,可以满足无刷直流电机的控制需求[35]。
1 系统硬件结构设计
无刷直流电机控制系统是一个较为复杂的闭环系统,一般由PWM输出电路、逆变电路、转速控制环节等构成。本文以STM32为主控制器,采用PWM方式控制电机转速,MOSFET驱动电机,霍尔传感器检测电机转子位置。系统同时通过串口和S7200PLC进行通信,接收PLC发送的控制指令。STM32不断采集实际转速,修正PLC发送过来的设定转速,实现对电机转速的闭环控制。系统结构框图如图1所示。
1.1 驱动电路设计
STM32F103RBT6采用CortexM3内核,实现3级流水线并带分支指令预测,最高工作频率可达72 MHz。芯片集成了一个高级定时器TIM1,能够输出6路互补且带死区时间控制的PWM波;定时器具有输入刹车功能,当功率器件上电流过大时,使用刹车功能能够关闭PWM输出从而保护功率器件。驱动电路将定时器1输出的6路PWM波经过场效应管驱动芯片IR2103后,用以驱动IRF2807开关电源芯片。通过调节PWM的占空比调整输入电动机端电压的大小,进而控制无刷直流电机的转速。为了保证微控制器复位时驱动端能够及时关闭,在IRF2807的门极输入端需要加入上拉和下拉电阻。IR2103驱动电路如图2所示,MOSFET全桥逆变电路如图3所示。
图2 IR2103驱动电路
图3 MOSFET全桥逆变电路
1.2 速度检测电路设计
大多数无刷直流电机在定子的非驱动端都嵌有三个霍尔传感器,当转子磁极经过霍尔传感器时,霍尔传感器将会产生高低电平。通过3个霍尔传感器输出信号的组合可以得到电机的当前位置,从而得到电机的换相时序。STM32F103RBT6芯片具有3个通用定时器以及1个高级定时器,每个定时器的TIMx_CH1、TIMx_CH2以及TIMx_CH3三个输入捕获引脚在定时器内部经过异或后再将结果送给输入捕获逻辑执行单元,大大简化了微控制器与霍尔传感器接口电路的设计[6]。霍尔传感器一般为集电极开路输出,因此在控制器输入端需要接上拉电阻。设计中将电机的3个霍尔信号先经过74HC14反相器后再经过阻容电路与定时器4的3个输入通道相连接,微控制器可以检测到每个输出信号的上升沿和下降沿,从而控制电机精确换相。通过异或后的输入捕获结果不能提取出转子方向信息,然而通过比较转子当前状态及前一状态可以重构转子方向。速度霍尔检测电路如图4所示。
图4 霍尔检测电路
1.3 电流检测电路
对于高转速、大惯量的电机,为提高系统控制效率,引入电流环为电机提供相对恒定的驱动电流。电流检测常见的有霍尔电流传感器和电阻采样的方法[7],本文采用电阻采样法测量电流,电路设计如图5所示,采样电阻的端电压首先经过线性光耦隔离后输入到电压比较运算放大器,再将比较后的输出值输入到STM32的A/D引脚,进行计算后得到电流值进行过流判断保护并且可以参与电流环闭环控制。STM32的A/D转换可以启用DMA通道,减少CPU开销电机,具有更高的转换效率。
1.4 通信电路设计
STM32通过串口和S7200PLC通信,STM32自带USART,需要外接485收发控制芯片。本文选用周立功公司RSM3485隔离收发器模块,RSM3485与STM32的USART2相连,485_CON为发送/接收控制引脚,A、B线之间加入阻值为120 Ω的匹配电阻,防止信号反射以保护器件。电路设计如图6所示。
图5 电流检测电路
图6 RS485通信接口电路
2 系统软件设计
2.1 双闭环控制策略
对速度、温度、压强等物理量的控制中通常选用PID算法来实现。PID控制器的数学模型如下:
以单片机为核心的控制是离散控制系统,必须对积分项和微分项进行离散化处理。离散化处理后的PID控制器用差分方程表示如下:
为了保证控制精度和动态响应特性,系统选用电流、速度双闭环控制策略。电流环的作用是提高系统的快速响应,提供过流保护保障系统安全运行。电流环采用变速积分的PID调节器,基本思想是通过改变积分项的累加速度,使其与偏差大小相适应。速度环的作用是提高系统抗负载扰动的能力,抑制速度波动,保证系统静态精度和动态跟踪的能力。速度环采用积分分离 PID算法, 开始时仅使用比例控制使速度快速达到设定值范围内,当速度接近设定值后才引入积分作用[8]。该算法有效地克服了常规 PID 算法中出现的积分饱和时超调量增加使调节品质变坏的缺点。系统控制策略如图7所示。
图7 电流、速度双闭环控制策略
2.2 速度测量
无刷直流电机转子位置检测不但用于换相控制,而且还用于速度测量及调节,电机速度的计算转换为霍尔输出信号方波频率的测量计算。为了提高速度测量精度,通过动态调节定时器的预分频值,使得定时器的捕获值随着速度大小的变化而改变。当捕获值过低时减小定时器的预分频值,而当两次捕获之间定时器发生溢出时则加大定时器的预分频值。定时器4中断处理流程如图8所示。
图8 定时器4中断处理流程图
2.3 系统工作流程
系统每次上电后复位首先执行初始化程序,初始化程序主要包括外设的初始化、中断优先级的设置、电机的初始位置的检测以及相关控制变量的初值设置等。初始化完成后,系统等待PLC发送控制指令。接收到PLC发送的控制指令后,电机开始转动,通过调速使电机速度达到设定值并且接收新的控制指令。
3 实验结果和分析
实际系统采用的直流无刷电机额定电压UN=24 V,额定转速为nN=1 440 r/min,采用双闭环控制策略,动态调节定时器预分频值以跟踪电机速度的变化得到的速度响应曲线如图9所示。由图可知,系统稳定时间0.11 s,超调量4.82%,稳态误差0.33%,稳定时速度基本保持在设定值左右,系统动态响应较好,满足速度调节平稳性和快速性的要求。
图9 速度响应曲线
结语
本文应用STM32F103RBT6芯片设计了直流无刷电机控制系统,系统采用电流、速度双闭环控制策略,并且通过动态调节定时器预分频器的方法提高了速度采集精度。系统软硬件结构合理,成本较低并且性能稳定。