基于FPGA_的4_次加减速运动控制算法研究

第 22卷第 8期2023年 8月
Vol.22 No.8
Aug.2023软件导刊
Software Guide
基于FPGA的4次加减速运动控制算法研究
孔祥晔1,周锋1,郭乃宏2,王如刚1
(1.盐城工学院信息工程学院,江苏盐城 224051;2.盐城雄鹰精密机械有限公司,江苏盐城 224006)
摘要:针对传统查表法和卷积法在加减速控制中存在运行时间长、加速度以及加加速度不连续的缺点,在分析梯
形、S形加减速算法原理的基础上提出基于现场可编程门阵列的4次S形加减速连续积分控制算法。该算法采用Ver⁃
ilog硬件描述语言编写电机控制程序,并利用Modelsim软件进行加减速功能仿真。实验结果表明,与查
表法和卷积法
加减速控制算法相比,该算法对步进电机进行加减速控制能够缩短加工时间、减少电机失步、提高工作效率,对于优
化运动控制系统具有重要意义。
关键词:运动控制;4次S形加减速;连续积分;现场可编程门阵列
DOI:10.11907/rjdk.222063开放科学(资源服务)标识码(OSID):
中图分类号:TP301.6  文献标识码:A文章编号:1672-7800(2023)008-0072-07
Research on Four Acceleration and Deceleration Motion Control
Algorithm Based on FPGA
KONG Xiangye1, ZHOU Feng1, GUO Naihong2, WANG Rugang1
(1.School of Information Technology, Yancheng Institute of Technology, Yancheng 224051,China;
2.Yancheng Xiongying Precision Machinery Company Limited, Yancheng 224006, China)
Abstract:In response to the shortcomings of traditional table lookup and convolution methods in acceleration and deceleration control, such as long running time, discontinuous acceleration, and acceleration, a fourth order S-shaped acceleration and deceleration continuous integra⁃tion control algorithm based on field programmable gate array is proposed on the basis of analyzing the principles of trapezoidal and S-shaped acceleration and deceleration algorithms. The algorithm uses Verilog hardware description language to write motor control program, and uses Modelsim software to simulate acceleration and deceleration functions.The experimental results show that compared with the table lookup meth⁃od and convolutional method for acceleration and deceleration control, this algorithm can shorten processing time, reduce motor out of step,improve work efficiency, and is of great significance for optimizing motion control systems.
Key Words:motion control; four S-shaped acceleration and deceleration; continuous integral; FPGA
0 引言
随着数字信号技术的高速发展,加减速控制成为大多数运动控制系统运动发展的基石。优秀的加减速
控制可以在保证精度的前提下提高系统加工效率,使加工平滑稳定地进行,其中S形加减速控制算法平滑性好,能够降低加工中的柔性冲击,且工作效率高,在运动控制系统中应用广泛[1]。
收稿日期:2022-09-11
基金项目:国家自然科学基金项目(61673108);江苏省研究生实践创新计划项目(SJCX22_1685, SJCX21_1517);江苏省高等学校自然科学研究重大项目(19KJA110002);江苏省高校自然科学研究面上项目(18KJD510010,19KJB510061);江苏省自然科学基金项目(BK20181050)
专利编号:2022103585153
作者简介:孔祥晔(1998-),男,盐城工学院信息工程学院硕士研究生,研究方向为智能控制系统及其信号检测;周锋(1981-),男,硕士,盐城工学院信息工程学院副教授、硕士生导师,研究方向为数字图像处理、计算机视觉等;郭乃宏(1970-),男,盐城雄鹰精密机械有限公司高级工程师,研究方向为机械制造等;王如刚(1975-),男,博士,盐城工学院信息工程学院教授,研究方向为通信技术、计算机视觉及图像处理等。本文通讯作者:王如刚。
第 8 期孔祥晔,周锋,郭乃宏,等:基于FPGA的4次加减速运动控制算法研究现场可编程门阵列(Field Programmable Gate Array,
FPGA)具有灵活性强、工作频率高、并行度大等特点。利
用FPGA实现电机运动控制可以根据实际需求制定具有丰
富I/O接口的逻辑电路,在设计过程中可以方便地修改设
计,减小开销。传统加减速运动控制能够实现加速度连续
变化,但仍存在失步、过冲现象[2]。目前,利用FPGA进行
加减速控制取得了诸多成果,例如陈祖霖等[3]结合单片机
与FPGA技术设计了一种步进电机运动控制系统,通过步
校验的方式实现了电机位置的闭环控制;刘鹏等[4]利用滑
动滤波器解决了加减速加速度的问题,在FPGA上实现了
梯形加减速控制,但运行时间较长;邱靖超等[5]提出将电
脉冲信号转换为步距角的转动以控制FPGA进行步进电机的梯形加减速,但占用资源较多、计算繁琐;
游达章等[6]提出一种改进的4次S曲线加减速运动算法,该算法可以降低加工柔性冲击、提高工作效率、减少加工时间。
在现有研究的基础上,结合FPGA并行处理的优势,本文提出一种连续积分的4次S形曲线加减速运动控制算法,并通过FPGA进行功能仿真和实验验证,优化了运动过程中加工时间长、失步以及工作效率低的问题。
1 加减速算法及其特性
加减速控制的原理是根据步进电机的初始速度、当前速度、最大速度设定驱动给步进电机的加速度、最大加速度、最大减速度等一系列增量。常见步进电机速度控制算法包括梯形加减速、sin形加减速以及S形加减速3种。1.1 梯形加减速算法
梯形加减速算法的数学方程式为:
f c(t)=f0+αt(1)式中:f c(t)为当前频率,f0为步进电机初始频率,α为加速度。设f v为目标频率,在加速阶段,当f c(t)≠f v时,执行α不变的加速运动;在减速阶段则实行减速运动。梯形加减速即从步进电机的起始速度到最大速度的加速阶段以及从最大速度到停止阶段的加速度恒定不变,在匀速阶段以加速度为0的最大速度进行转动[7]。
如图1所示,梯形加减速算法简单、容易实现,但加减速起点与终点存在速度突变,不够平滑。
1.2 sin形加减速算法
sin形加减速算法的数学方程式为:
f c(t)=e-tτ(f0-f v)+f v(2)式中:τ为加速度常数。当t=0时,f c(t)=f0,即启动频率;在加速阶段,当f c(t)≠f v时,sin形加减速控制执行加速度逐渐减小的加速运动;在匀速阶段,加速度为0;在减速阶段,执行加速度逐渐减小的减速运动。当f c(t)=0时,电机停止转动[8]。
如图2所示,与梯形加减速算法相比,sin形加减速算法曲线平滑、运动精度高,且与步进电机的矩频特性曲线接近,但sin形加减速算法存在加减速突变现象,不适合高精度的机器。
1.3 S形加减速算法
S形加减速算法可以看作是5段、7段或更多指数形加减速曲线段的叠加。如图3所示,5段S形算法首先执行加速度逐渐变大再变小的加速运动,然后进行匀速运动。当接收到减速使能的指令后,再进行加速度先变大后变小的减速运动,直至电机减速停止。S形加减速算法不易产生突变,速度变化平顺,但该算复杂、占用FPGA资源多、速度慢、不易实现,因此多采用软件辅助实现[9]。
2 加减速运动控制原理与实现
本实验硬件由FPGA控制器、步进电机驱动器和步进
时间t/s
时间t/s
时间t/s
速度v/(mm·s-1)
加速度
a/(mm·s-2)
加加速度J/(mm·s-3)
Fig. 3 S-shaped acceleration and deceleration curve
图3 S形加减速曲线
时间
速度
启动速度
最大速度
Fig. 1 Trapezoidal acceleration and deceleration curve
图1 梯形加减速曲线
最大速度
速度
12时间Fig. 2 Sin-shaped acceleration and deceleration curve
图2 sin形加减速曲线
·
·73
2023 年软件导刊
电机3个部分组成,设计框图如图4所示。将传感器接收到的信号传递给FPGA,FPGA通过H桥集成电机驱动器驱动电机转动,进而控制电机角速度[10]。
2.1 FPGA硬件资源设计
2.1.1 FPGA开发板
通过USB接口给FPGA开发板通电,通过通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)转USB与FPGA 进行通信,将UART协议转化成USB协议。在Quartus软件上编写Verilog语言,通过下载器连接联合测试工作组(Joint Test Action Group,JTAG)下载插座使程序烧录到开发板上从而产生电脉冲信号,建立开发板与计算机的虚拟通信。
2.1.2 驱动器
驱动器用于将电脉冲信号转换成步进电机的角位移信号。本实验采用Allegro公司生产的A3977驱动器,其功能齐全、驱动效果好、反应迅速,可使步进电机运行更加平稳、平滑。该驱动器通过I/O口与步进电机、FPGA进行连接,本文使用42BYGH34型号的步进电机。STEP为产生步进电机位移的脉动信号,检测到该信号的一个上升沿或下降沿(本实验使用上升沿)时,步进电机产生一个位移,该位
移的大小由MS[1:0]决定。HOME为回响脉冲,不同STEP、HOME的周期数不同。通过SW拨码开关控制步进电机的加减速。FPGA与驱动器的数字信号接口如图5所示。
2.1.3 步进电机
步进电机是现代加工生产控制系统的重要元件,其原理是将FPGA产生的电脉冲信号转变为角位移或线位移。为达到精确定位的目的,步进电机通过控制脉冲个数来控制角位移或线位移,同时通过控制脉冲频率来控制电机的转速度和加速度[11]。2.2 加减速控制原理
实验目的是使步进电机在保证精度的前提下提高加工效率,对加加速度、加速度、速度进行连续积分,通过插入4段连续分段函数使步进电机平稳工作[12]。实验流程如图6所示。
通过积分与求导可以得到位移、速度、加速度、加加速度之间的数量关系,依次对加加速度、加速度以及速度进行积分,得到加速度、速度、位移曲线[13]。
4次加减速中加加速度的变化率为:
d(τ)=
ì
í
î
ïï
ïï
-d,t1≤τ<t2,t3≤τ<t4
0,其他
d,t7≤τ<t8,t9≤τ<t10
(3)
式中:t x表示各个节点持续运行的时间,x=1,2,......,11;τx为局部时间坐标,表示每段相邻节点之间的时间差,τx=t x-t x-1,x=1,2, (11)
对加加速度斜率进行积分,可得到加加速度公式[14]。表示为:
J(t)=
ì
í
î
ï
ï
ï
ï
ï
ï
ï
ï
ï
ï
ï
ï
ï
ïï
ï
ï
ï
ï
ï
ï
J0≤τ1<t1
J-Jτ2t1≤τ2<t2
0t2≤τ3<t3
-Jτ4t3≤τ4<t4
-J t4≤τ5<t5
0t5≤τ6<t6
-J t6≤τ7<t7
-J+Jτ8t7≤τ8<t8
0t8≤τ9<t9
Jτ10t9≤τ10<t10
J t10≤τ11<t11
(4)
对4个阶段的加加速度分别进行积分可得到加速度公式。表示为:
Fig. 4 Hardware design block diagram 图4 硬件设计框图
Fig. 6 Experimental flow
图6 实验流程
Fig. 5 FPGA and driver digital signal interface
图5 FPGA与驱动器数字信号接口
·
·74
第 8 期孔祥晔,周锋,郭乃宏,等:基于FPGA 的4次加减速运动控制算法研究α(t )=ì
íî
ïïïïïïï
ïïïï
ïïïïïïïïïï
ïï
ïïïïïï
ï
ï
ïï
ï
ï
ïïïïïJT 10≤τ1<t 1
JT 1+JT 2-12Jτ22t 1≤τ2<t 2JT 1+JT 2-12JT 22t 2≤τ3<t 3JT 1+JT 2-12JT 22-12Jτ24t 3≤τ4<t 4JT 1+JT 2-12JT 22-12JT 24-Jτ5t 4≤τ5<t 5JT 1+JT 2-12JT 22-12
JT 24-JT 5
t 5≤τ6<t 6JT 1+JT 2-12JT 22-12JT 24-JT 5-Jτ7t 6≤τ7<t 7JT 1+JT 2-12JT 22-12JT 24-JT 5-JT 7-JT 8+12Jτ2
8t 7≤τ8<t 8JT 1+JT 2-12JT 22-12JT 24-JT 5-JT 7-JT 8+1
2JT 28t 8≤τ9<t 9JT 1+JT 2-12JT 22-12JT 24-JT 5-JT 7-JT 8+12JT 28+12Jτ210t 9≤τ10<t 10JT 1+JT 2-12JT 22-12JT 24-JT 5-JT 7-JT 8+12JT 28+12JT 210+Jτ11t 10≤τ11<t 11
(5)
对加速度α(t )
进行积分可得到速度公式。表示为:
v (t )=ìíî
ïïïïïïïïïïïïïïïïïïïïïïïïïï
ï
ïïïïïï
ïïïïïïïïïïïïïïïïïïïïïv s +12τ210≤τ1<t 1v 1+JT 1τ2+JT 2τ2-16Jτ22τ2t 1≤τ2<t 2v 2+JT 1τ3+JT 2τ3-12JT 22τ3t 2≤τ3<t 3v 3+JT 1τ4+JT 2τ4-12JT 22τ4-16Jτ34t 3≤τ4<t 4v 4+JT 1τ5+JT 2τ5-12JT 22τ5-12JT 24τ5-12Jτ25t 4≤τ5<t 5v 5+JT 1τ6+JT 2τ6-12JT 22τ6-12JT 24τ6-JT 5τ6t 5≤τ6<t 6
v 6+JT 1τ7+JT 2τ7-12JT 22τ7-12JT 24τ7-JT 5τ7-12Jτ27
t 6≤τ7<t 7v 7+JT 1τ8+JT 2τ8-12JT 22τ8-12JT 24τ8-JT 5τ8-JT 7τ8-JT 8τ8+16Jτ38t 7≤τ8<t 8v 8+JT 1τ9+JT 2τ9-12JT 22τ9-12JT 24τ9-JT 5τ9-JT 7τ9-JT 8τ9+12JT 28τ9t 8≤τ9<t 9v 9+JT 1τ10+JT 2τ10-12JT 22τ10-12JT 24τ10-JT 5τ10-JT 7τ10-JT 8τ10+12JT 28τ10+16Jτ310t 9≤τ10<t 10v 10+JT 1τ11+JT 2τ11-12JT 22τ11-12JT 24τ11-JT 5τ11-JT 7τ11-JT 8τ11+12JT 28τ11+12JT 210τ11+Jτ211            t 10≤τ11<t 11(6)
为使算法简洁明了,在加速阶段中令加加速度和减加速度运行所用时间相等。位移、速度、加速度、加加速度曲线如图7所示。
传统的3次S 形加减速运动控制模型可实现连续的加速度变化,减小运动过程中的柔性冲击,但减速度是分段固定的且分段较少,容易产生突变,会对运动加工过程产生冲击[15-16]。采用5次及以上连续积分会更使运动更加平滑稳定,但计算繁琐,对硬件条件要求高。本文提出的4次S 形加减速算法可有效减小运动过程中的柔性冲击,使
加减速运动更加平滑,且可在速度达到峰值时抑制突变。该法计算量小,可满足绝大多数运动控制的要求。
3 实验方法与结果分析
3.1 实验方法
本实验平台由勇敢的芯SF-CY4开发板,A3977型号驱动器,42BYGH34⁃04A 型号、电压为12V 的步进电机组成。图8为实验的RTL (Register-Transfer-Level )视图。可
·
·75
2023 年
软件导刊以看出,实验整体框架可以分为PLL 锁相环、LED 显示及步进电机控制3个模块,其中PLL 锁相环模块为系统提供
时钟;LED 显示模块判断程序是否烧录成功;步进电机控制模块为本实验核心,用于控制系统运行。
首先,PLL 锁相环模块统一整合本实验所需时钟信
号,将其分配给LED 显示模块和步进电机驱动模块;然后,判断步进电机当前频率与目标频率的值,当目标频率大于当前频率时执行加速运动,反之执行减速运动。步进电机
的使能信号在步进电机工作期间需要在高电平与低电平之间切换。使能分为加速使能和减速使能,在电机加速过程中,加速使能处于高电平;在减速阶段,减速使能处于高电平[17-18]。在步进电机驱动模块下新建一个积分模块,对加加速度、加速度进行积分;最后,将程序写至FPGA 中,通过观察LED 模块中LED 灯的变化判断程序是否正确写入FPGA 中。通过拨动开关控制步进电机的开始与停止。
3.2 实验结果与分析
图9为加速脉冲波形,频率每隔10ns 改变一次。加速阶段实现4次加速度变换的5段加速过程,第一段进行加加速度不变、加速度递增的加速运动;第二段进行加加速度线性减小、加速度逐渐减小的加速
运动;第三段进行加加速度和加速度均不变的加速运动;第四段进行加加速度和加速度均减小的加速运动;第五段进行加加速度不变、加速度线性减小的加速运动。
当进行匀速运动时,电机频率增至最大,脉冲数与脉冲宽度不再变化,每10 ns 进行脉冲数一样的匀速运动。图10为减速脉冲波形,从最大频率减小至0 Hz ,脉冲频率每隔10 ns 减小一次。首先进行加速度逐渐减小、加加速度先不变后线性增大的减速运动;然后进行加速度和加加速度均不变的减速运动;最后进行加速度逐渐变大、加加速度先线性变大后不变的减速运动。减速阶段与加速阶段完全相反,速度运动图像呈轴对称。
/t /s
时间
/t /s
时间/t /s
时间/t /s
位移s /mm
速度v /(mm·s )
加速度a /(mm·s )
加加速度J /(mm·s )
J 0
-J
Fig. 7 Displacement , velocity , acceleration , jerk curves
图7 位移、速度、加速度、加加速度曲线
Fig. 8 RTL view 图8 RTL 视图
Fig. 10 Deceleration pulse waveform
图10 减速脉冲波形
Fig. 9 Acceleration pulse waveform
图9 加速脉冲波形
·
·76

本文发布于:2024-09-23 20:09:49,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/409059.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:电机   减速   加速度   步进
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议