基于FPGA的无刷直流电机控制器设计

2017-10-12 09:29林聪徐今强
现代电子技术 2017年19期
关键词:无刷直流电机

林聪+徐今强

摘 要: 针对现有直流无刷电机控制器设计方案的不足,提出一种基于FPGA平台的无刷直流电机控制器设计方案,采用FPGA设计电机转速、电流双闭环控制系统,系统硬件包括以FPGA为核心的控制电路和以电机为对象的驱动电路,系统软件采用Verilog HDL生成速度和电流采样模块、电机驱动换相模块、PWM生成模块等,同时在VGA上显示控制系统的运行状态。控制器测试实验结果表明,设计的控制器能使电机在启动后1 s内达到转速给定值,1 s后保持在稳态值的±2%内,表明该控制系统具有较高的控制精度和较好的稳定性。

关键词: FPGA; 无刷直流电机 ;双闭环控制系统; VGA

中图分类号: TN876?34; TP33 文献标识码: A 文章编号: 1004?373X(2017)19?0150?03

Design of brushless DC motor controller based on FPGA

LIN Cong, XU Jinqiang

(College of Information, Guangdong Ocean University, Zhanjiang 524088, China)

Abstract: An FPGA platform based design scheme of brushless DC motor controller is introduced to solve the drawbacks of the available design schemes. The FPGA is used to design the double closed?loop control system of motor′s speed and current. The hardware of the system includes the control circuit taking FPGA as its core and drive circuit taking motor as its object. The Verilog HDL is adopted in system software to generate the speed and current sampling modules, motor drive commutation module, PWM generation module and so on. The running state of the control system is displayed on VGA. The experimental result of the controller shows that the controller can make the rotate speed reach the set value within 1 second after motor starting and maintain within ±2% of the steady?state value, which means that the control system has high control precision and good stability.

Keywords: FPGA; brushless DC motor; double closed?loop control system; VGA

无刷直流电机具有效率高、调速性能好和结构简单的优点,被广泛应用于电力驱动领域。但由于采用电子换向仪器代替传统机械电刷,给控制器的设计带来很多困难,换向过程的电流波动容易干扰控制芯片,导致系统不稳定,随着控制策略的复杂程度提高,系统闭环控制周期变长也会导致控制系统的实时性降低[1?4]。为了有效解决上述问题,提高无刷直流电机控制系统的控制精度和鲁棒性,以及为研究电机控制算法提供良好的测试平台,避免程序跑飞的可能性,本文采用FPGA平台设计了无刷直流电机控制器,控制系统以FPGA为核心,采用硬件描述语言的方式控制无刷电机,硬件电路上则采用电气隔离以提高控制系统的稳定性和抗干扰能力。

1 控制器硬件电路设计

无刷直流电机控制器的硬件电路如图1所示,主要由控制电路和电机驱动电路组成。控制电路处理转速给定信号、各传感器输出信号,再由相应的控制方法来实现无刷直流电机的转速控制,如电机的正反转、转速的增减以及启动/停止等。电机驱动电路对控制电路的输出信号进行放大并隔离,实现由弱电控制强电[5]。

2 系统软件设计

2.1 系统软件设计流程图

对于设计的无刷直流电机转速?电流双闭环控制系统,控制电路要完成如下功能:

(1) 采集电机运行状态,如当前电机转速、电流及霍尔信号等,实现换相控制、PWM调制;

(2) 人机交互,实现电机启动、停止、反转以及给定速度、PI等参数设置,方便用户控制和了解控制系统的运行状态。

软件设计采用模块化的编程思想,将控制器系统总任务分为速度采样、电流采样、电机驱动换相控制、PWM调制、人机交互及数字PI调节器等几个功能模块,各个模块都通过硬件描述语言Verilog HDL实现。系统主程序流程如图2所示,系统初始化主要包括时钟初始化、LCD和VGA初始化设置、A/D初始化、PI和转速参数设置等[6?7]。

2.2 参数设置模块

参数设置模块中的所有端口接收来自按键防抖模块的电平信号,根据电平信号的上升沿以及相应的组合修改电流、转速PI参数的值,并将普通按键输入的加减方向和暂停信号变成自锁开关输入。

2.3 堵转保护和过电流保护模块

在电机启动瞬间,以40 ns为采样间隔检测由hall端口输入的霍尔信号,若两次采样得到的霍尔信号不同,则内部的计数器加1,通过设定计数器溢出值设定触发报警的时间,本设计设定的时间为3 s。而电机母线电流经过A/D实时转换后与设定的电流最大值进行判断,若当前时刻电机母线电流大于设定的限幅值,则在延迟时间2 ms内报警,从而达到过电流保护的目的[8]。

2.4 速度检测、PI运算模块

速度检测、PI运算模块的输入信号为光电编码器的脉冲信号,光电编码器转一圈产生1 024个脉冲,若想精确度达到每分钟一圈,则设采样时间为[601 024=]0.058 593 75 s,在此时间内接收到的光电编码器的脉冲即为相应每分钟的转速[9]。采样时间由一个定时器控制,并在时序上设计对[ki](转速环积分参数)、[kp](转速环比例参数)、[cp](电流环比例参数)、[ci](电流环积分参数)和ad_in(电流采样A/D转换值)、rond(实时转速)以及speedin(设定转速)这几个参与PI运算的数值的读取设定在PI运算之前。经过运算之后,从action端口输出调节PWM占空比寄存器的增/减量值。转速环输出上限值即为电流环的最大输入值,由此可保证电流超过转速环的输出上限值时,可进行自动调节并维持在一定区间内。

2.5 PWM生成及合成斩波模块

占空比加减模块如图3所示,从erond端口输入带符号位的14位数值,通过其第一位符号位判断对模块内占空比寄存器和其后13位进行加法或者减法运算,并设置最大和最小差来限制占空比的最大值(96.3%)和最小值(23%)。为了便于电机的启动,占空比寄存器的初始值为1 000,即33%的占空比。

PWM生成模块如图4所示,由占空比模块得到的值从cont端口输入,与其内部随着系统时钟增加的计数器比较,若计数器值大于cont端口的输入值,则输出低电平;若小于cont端口的输入值,则输出高电平。其结构框图如图5所示。

2.6 VGA液晶显示模块

VGA液晶显示模块如图6所示。系统上电后,在VGA液晶显示器上显示坐标轴,横轴代表时间,单位为s,以0.1 s为最小刻度,显示范围为0~7 s;纵轴代表转速,单位为r/min,以100 r/min为最小刻度,显示范围为0~5 000 r/min,红色线条显示由setrond端口输入转速的设定值,并以蓝线显示设定转速的±2%和±5%位置。当stop端口输入高电平时,液晶显示器上将会显示电机转速随时间变化的散点图,时间间隔为0.1 s,同时chuan1和chuan2端口将会输出相应的脉冲,控制串口模块每隔0.1 s输出电机当前的转速值。若pause端口输入高电平,则VGA液晶显示器上显示的散点图会保持当前显示界面并不再刷新,同时串口也不再输出电机转速[10]。

3 实验测试与分析

实验采用48 V/500 W无刷直流电机进行调试,电机的额定负载电流为15 A,额定空载电流为1 A,额定转速为4 500,调速范围在0~5 900 r/min,通过人机交互实时进行电机的启/停、正/反转和加减速等控制。经测试,当速度调节器参数[P=1.56,I=0.43,]电流调节器参数[P=1.37,][I=]0.87时,控制系统具有较好的鲁棒性。图7为电机空载工作时,不同调速阶段下控制器的运行状态。

由图7(a)可以看出,电机从启动到转速上升至2 000 r/min阶段,控制系统能在0.9 s内达到稳态,然后保持在稳态值的±2%范围内,系统的超调量为7.3%,稳态误差约为35。由图7(b)可以看出,电机从2 000 r/min上升至5 000 r/min阶段,控制系统能在0.8 s内达到稳态,并且系统无超调量,稳态误差约为30;由图7(c)可以得出,电机在1 s内转速从5 000 r/min快速下降至2 000 r/min,在1.5 s后保持在稳态值的±2%范围。由此可知,系统运行稳定,能够快速达到稳态,并能精确控制电机的转速。

4 结 语

本文采用FPGA实现无刷直流电机双闭环PI调速控制,采用硬件描述语言Verilog HDL实现PWM、速度采样、电机换相等模块以及采用VGA显示系统的运行状态,实现了无刷直流电机控制器软件和硬件的设计与制作,实验结果表明控制器具有较高的控制精度和较好的稳定性。

参考文献

[1] 倪飞.基于FPGA的无刷直流电机控制系统实现[D].重庆:重庆大学,2013.

[2] 郑自伟,刘兴中.基于FPGA的直流无刷电机调速系统的设计[J].自动化应用,2011(10):38?40.

[3] 张文升,胡勤耕,王文丰,等.直流无刷电机智能控制系统研究[J].计算技术与自动化,2012(3):69?75.

[4] 李珍国,章松发,周生海,等.考虑转矩脉动最小化的无刷直流电机直接转矩控制系统[J].电工技术学报,2014(1):139?146.

[5] 张升,王立峰,王爽.基于STM8S105的直流永磁无刷电机控制器设计[J].工业控制计算机,2012(9):123?124.

[6] 方炜,张辉,刘晓东.无刷直流电机双闭环控制系统的设计[J].电源学报,2014(2):35?42.

[7] 刘云,贾洪平,张鹏,等.基于SVPWM的无刷直流电机矢量控制系统研究[J].机电工程,2014(9):1177?1181.

[8] 陳超,黄建,刑伟,等.无刷直流电机位置检测电路的优化问题[J].国外电子测量技术,2015(4):42?48.

[9] 邓建,林桦.基于DSP的绝对式光电编码器的电机转速测量[J].电机与控制应用,2010(1):50?52.

[10] 李江昊,陈卫东,朱奇光,等.直流无刷电机微步进控制方法及其FPGA实现[J].燕山大学学报,2013(2):170?174.

猜你喜欢
无刷直流电机
基于无刷直流电机的滤波器设计与实现
基于模糊神经网络的无刷直流电机控制系统
无位置传感器无刷直流电机启动系统研究
永磁无刷直流电机控制技术研究及应用
基于双单片机的无刷直流电机调速系统的设计