基于FPGA的步进电机加减速控制系统设计

2021-03-27 01:56万绪伟
河南科技 2021年31期
关键词:步进电机

万绪伟

摘 要:本次试验设计了一种以现场可编程门阵列(Field-Programmable Gate Array,FPGA)对步进电机实现加减速的控制系统,以实现对步进电机的控制。在步进电机控制系统中,以EP4CE30F23C8芯片作为核心处理器,将A3977作为步进电机驱动对象,编写了硬件描述语言(Hardware Description Language,HDL)代码,经过功能仿真、综合、布线、门级仿真,最终通过了MedolSim软件仿真验证,验证了可行性。上机位将加减速算法传输到FPGA内部寄存器,实现了对步进电机的精确控制。

关键词:步进电机;FPGA;加减速算法;电机控制

中图分类号:TM383.6 文献标识码:A 文章编号:1003-5168(2021)31-0028-03

Design of Stepper Motor Acceleration and Deceleration

Control System Based on FPGA

WAN Xuwei

(Yili Normal University College of Electronics and Information Engineering,Yining Xinjiang 835000)

Abstract: This experiment designed a Field-Programmable Gate Array(FPGA) on the stepper motor acceleration and deceleration control system to achieve the control of the stepper motor. In the stepper motor control system, EP4CE30F23C8 chip is used as the core processor, A3977 is used as the stepper motor drive object, and Hardware Description Language(HDL) hardware description language code is written. After functional simulation, synthesis, wiring, and gate-level simulation, it finally passed the MedolSim software simulation test, determined the feasibility. The acceleration and deceleration algorithm is transmitted to the FPGA internal register to achieve precise control of the stepper motor.

Keywords: stepper motor;Field-Programmable Gate Array(FPGA);acceleration and deceleration algorithm;motor control

步進电机具有高精度和较好的重复性,应用越来越广泛。其采用现场可编程阵列(Field-Programmable Gate Array,FPGA)进行基本运行的启动和控制。相比大多数单片机控制步进电机,现场可编程阵列(FPGA)具有并行、多参数处理和高性能优势,非常适合对步进电机进行控制。FPGA在空间环境具有一定的可靠性[1],自身集成了数字信号处理(Digital Signal Process,DSP)资源,拥有脉冲控制资源[2],被广泛应用于电机领域[3]。FPGA产生的脉冲个数、占空比都可随时调整[4]。为了使步进电机启动后不会失步或过冲,在设计频率的变化和等级时要更加精确,在一定频率范围内按脉冲的要求快速启动、停止和反转[5]。为了实现高精度控制,设置了3个定时器,大大提高了系统稳定性。利用FPGA的并行和可重构优势,实现了步进电机的控制[6]。EP4CE30F23C8芯片拥有丰富的资源,在系统较为复杂的情况下依旧可以提供可靠保障。随着占空比的增加或减小,频率发生了改变。脉宽调节是很有效的方式[7],FPGA作为辅处理器,负责发送驱动脉冲,控制步进电机控制器运动[8]。FPGA作为主控单元,具有丰富的IO口,可以同时实现多路电机控制[9]。

1 步进电机控制理论

复杂的机电系统离不开必要的控制系统[10]。步进电机控制系统在运动控制系统中尤为重要[11]。

1.1 步进电机工作原理

步进电机在定子和转子上都有齿轮,转子上的齿轮都有磁性。定子上的绕线线圈充电后,可以通过磁力作用使转子转动。转子和定子的齿轮有一个角度差,不同相线圈轮流按顺序通电,就能够控制转子的速度和转动方向。所以,控制步进电机不仅要有周期性的波形信号,还需要有足够的电流,不能用一般控制芯片的信号输出直接驱动,要通过步进电机驱动器控制电机。在步进电机中,转子在最中心,周围围绕着的是定子。多少拍就有多少个相圈,每通电一次,发生一次转动。时步距角[θs]的计算公式为:

θ=360°/MT (1)

式中:M为定子相数;T为转子齿数。

1.2 加减速控制算法

在数字控制系统和各项电机控制系统中,加减速控制主要有3种。对于梯形加减速控制,加速频率曲线呈梯形,先从0开始直线加速到最上面的一条边,然后水平匀速运动,最后沿直线边减速到0。指数型加减速控制与梯形不同的是加速时呈指数曲线加速到最高点,再以指数曲线减速至最低点。S形加减速控制和其他加速曲线不同的是加速时呈S形曲线加减速。它们的特性曲线如图1所示。

图1中,曲线a是梯形加减速控制曲线,表示为:

f(t)=f+at  (2)

式中:f(t)为步进电机正在加速频率,f为空载时步进电机的启动频率,a为加速度,t为时间。若加速频率没有到达目标频率,空载频率为500 Hz,目标频率为5 000 Hz,每经过一个脉冲增加100 Hz,t=45 s时到达目标频率。当没有到达目标频率时,可以控制电机加减频率,在[t]不满足时慢慢加速从而得到目标频率。当达到目标频率后,应该减速到停止状态,才能实现电机的启动和停止。

图1中,曲线b是指数加减速控制曲线,表示为:

f(t)-ff-f=e                               (3)

從t=0 s开始,步进电机的启动频率f为0;当[t]趋于无穷大时,整体趋于常数,速度保持不变,步进电机开始匀速转动;当输入脉冲频率为0 Hz时,加速度为负数,速度减小,步进电机开始降速。

图1中,曲线c是S形加减速控制曲线。c曲线比a曲线、b曲线更加圆滑,加速和减速更加柔和,控制更加稳定,是一种理想的加速减速控制系统。但是,c曲线被分成多段曲线控制,需要修改大量参数,提高了算法的复杂性,并不适用于硬件系统。

2 基于FPGA步进电机控制器的设计

本控制系统设计由FPGA开发板、步进电机和A3977驱动电路组成。

2.1 系统硬件设计

FPGA核心板芯片采用Altera公司Cyclone Ⅳ系列的EP4CE30F23C8。使用JTAG下载器,把上机位的命令下载到FPGA开发板上,令驱动电机驱动芯片A3977驱动步进电机,实现步进电机的加减速控制。写好的Verilog代码通过串行方式传输到FPGA内部,经过电路传递,最终以并行方式输出信号。

2.2 系统软件设计

本文使用的是Quartus Prime平台,从顶层框架往下实现所有实验功能,包括输入时钟信号、低电平复位信号、拨码开关信号和输出PWM信号。FPGA开发板上的拨码开关实现物理操控步进电机的正反转,Verilog代码命令传递并寄存到FPGA寄存器上,通过命令控制器控制步进电机驱动,实现步进电机的正反转和加减速。步进电机可以实现正反转、加速减速和启动停止,启动频率为500 Hz。开始就改变速度值的大小,改变1 h的频率,使到达启动频率时电机正常运转。FPGA开发板的晶振为50 MHz,经过分频处理得到一个为周期clk 10 ms的频率,以起到计时作用。在要做好脉冲触发器上设置加速时间、匀速时间和加速时间,方便达到目标频率。

3 试验仿真和验证

使用ModelSim验证平台,因为其仿真测试能力强大,并编写testbench文件。为了使程序能在板卡上正常运行,要做好仿真验证。要先写激励脉冲文件,然后得到波形图进行分析。计时器启动频率为500 Hz,每经过一次脉冲,频率增加100 Hz,直到增加到目标频率5 000 Hz,加速完成。进入匀速,计时器计时持续110 ms。进入倒计时,每经过一个脉冲,频率减小100 Hz,完成减速,最终停止。工况一为步进电机步数仿真,每通一次电,步距改变一次。工况二先加速再匀速最终减速到0,最终停止。

在加速阶段,每10 ms频率增大100 Hz,波形图方波先宽后逐渐变窄,步进电机转动逐渐变快;在匀速阶段,每10 ms频率保持不变,波形图方波在中间一段没有变化,步进电机转速没有发生改变;在减速阶段,每10 ms频率减小100 Hz,波形图方波逐渐变宽,步进电机逐渐变慢。通过对波形图的分析可知,波形图试验达到了预期效果。

4 结语

针对步进电机如何控制的问题本文,采用Verilog代码编写、功能仿真、HDL综合及布线后仿真,设计了一种基于FPGA的加减速控制系统。各个模块分工明确、合理,系统运行良好,符合各项目标需求。在本设计的基础上可以进一步开发FPGA多路处理能力,具有极高的实用价值。

参考文献:

[1]胡雪刚,王涛,张军,等.基于国产FPGA的天线指向机构伺服控制器的设计[J].机械制造与自动化,2021(5):164-167.

[2]邱靖超.基于FPGA的步进电机多轴运动控制系统设计[D].太原:中北大学,2021:25.

[3]孙磊.基于FPGA的步进电机矢量控制研究[D].南京:南京航空航天大学,2018:9.

[4]侯俊杰,赵宇,李孟委.基于Zynq的步进电机控制系统[J].国外电子测量技术,2021(3):108-112.

[5]王莹莹,刘玉东,孙冬凯.基于FPGA的步进电机控制系统设计研究[J].电子制作,2020(16):26-27.

[6]刘佳.基于DSP+FPGA的雷达伺服控制器的设计与开发[D].西安:西安电子科技大学,2020:38.

[7]杜维康,王景存.基于FPGA和LMD18200的步进电机控制系统[J].现代电子技术,2018(13):142-146.

[8]任福.基于ARM+FPGA雕刻机控制系统的设计[D].哈尔滨:哈尔滨理工大学,2018:20.

[9]孙磊,张得礼.基于FPGA的步进电机伺服控制系统研究[J].机械与电子,2018(3):40-44.

[10]王淑娴,彭东林,吴治峄,等.伺服电机位置检测技术综述[J].仪器仪表学报,2018(8):143-153.

[11]邱靖超,刘新妹,殷俊龄,等.一种基于FPGA的多通道步进电机控制系统的设计[J].国外电子测量技术,2021(4):72-77.

猜你喜欢
步进电机
一种可自动伸缩的嵌入式LED灯具设计
步进电机智能控制的设计与实现
工矿机车GK1F、GK1C柴油机调速控制
基于单片机的自动化立体车库控制系统设计
基于单片机的雷达伺服控制系统