SCI论文(www.lunwensci.com)
摘要:在传统的加减速算法中,由于起点和终点的加速度不连续,易造成电机在运转过程中存在着冲击噪声和抖动现象。因此为实现交流伺服电机运行平稳,减少运行过程中的抖动和噪声,以及提高系统运行效率,减少系统运算量,提出了5段式S型加减速控制算法。同时将该S型控制算法改进后运用到STM32单片机上,以设计小型化、低成本的伺服控制器。采用位移和速度数组遍历查询的方式进行程序的设计,可实现电机速度、位移可调的加速启动、匀速运行和减速停止。为验证该控制器的可行性,将其运用到矿石分选实验平台上进行实际运行测试,利用上位机软件进行实时速度图像采集并对采集的图像进行分析。结果表明:该控制器可在较短时间内完成速度表计算和扫描,从实验平台上采集的图像中可以分析出运行过程中速度过渡较为平滑,电机运行平稳。
关键词:伺服电机;5段式S型加减速;STM32
A Method of Five-segment S-type AC Servo Motor Control Based on STM32
Xiahou Mingdong1,2,Zhang Xiongjie1,2※,Wang Bao1,2,Li Dong1,2,Ye Yuli1,2,Feng Li1,2
(1.State Key Laboratory of Nuclear Resources and Environment,East China University of Technology,Nanchang 330013,China;
2.Engineering Research Center of Nuclear Technology Application(Ministry of Education),East China University of Technology,
Nanchang 330013,China)
Abstract:In the traditional acceleration and deceleration algorithm,because of the discontinuous acceleration of the starting point and the end point,it is easy to cause the impact noise and jitter phenomenon in the running process of the motor.Therefore,in order to achieve stable operation of AC servo motor,reduce jitter and noise during operation,improve system operation efficiency and reduce system calculation,a five segment S-type acceleration and deceleration control algorithm was proposed.At the same time,the improved S-type control algorithm was applied to STM32 single-chip microcomputer to design a miniaturized and low-cost servo controller.The program was designed by traversing the array of displacement and velocity,which could realize the accelerated starting,uniform running and deceleration stopping of the motor with adjustable speed and displacement.In order to verify the feasibility of the controller,the controller was applied to the ore separation experimental platform for actual operation test,and the upper computer software was used to collect real-time speed images and analyze the collected images.The results show that the controller can complete the speedometer calculation and scanning in a short time,and it can be analyzed from the images collected on the experimental platform that the speed transition is smooth and the motor runs smoothly during operation.
Key words:servo motor;5-stage S-type acceleration and deceleration;STM32
0引言
在实际应用中交流伺服电机主要用于精密测量台、工业机器人、人形机器人等,其主要特点在于精密的位置控制[1]。为减少电机在启停阶段的抖动和噪声、速度不稳定、定位不准确,就必须采用专门的加减速控制算法设计一款控制器,使得该控制器能够指定电机按照预设速度、预设位置进行移动。
加减速控制算法的使用已较为普遍,主要包括:指数型模式、线性模式、S型模式,多项式加减速[2-3]。指数加减速算法实现启停时速度突变按照指数规律上升或下降,肖立娜[4]将传统的指数加减速算法进行改进,提出微小程序段间的速度平滑指数加减速算法,可实现微小程序段之间的连续加工,减少加减速控制次数,提高运行效率。方佳伟[5]提出基于Sigmoid函数S型加减速算法,此算法通过时间和速度数组的遍历,减少了机械设备启停的抖动时间。黄艳[6]在2005年提出一种7段式的S型曲线加减速算法,该算法可以获得平滑的速度和加速度,减少电机在运行过程中产生不希望的振动。钟前进[7]在2019年提出了一种新型的S型曲线加减速算法,该方法是利用三角函数在梯形速度轨迹上拟合一条S型速度曲线,该算法简单且能够输出连续的速度和加速度。徐川[8]提出一种多项式加减速控制方法,该多项式包含11个速度调整阶段,使得系统具有更高的加减速柔性。
7段式和11段式的加减速算法,虽然可以实现较好地加减速,但分段公式多,运算量较大。为降低计算复杂度,保证速度柔性[9],本文提出5段的S型加减速算法。相比于指数型和线性模式,可以减小启动和停止过程中的噪声,速度也趋于平滑。采用位移和速度数组遍历查询的方式进行程序设计,可实现电机速度、加减速时间、位移可调的加速启动、匀速运行、减速停止。将该算法运用到STM32单片机上实现对电机速度和位移进行调整和验证。
1 5段式S型加减速控制算法
1.1 5段式S型控制算法原理
5段的S型加减速是根据速度、时间、加速度、加加速度和位移等物理公式所构造的分段函数。图1和图2分别为梯形加减速曲线和5段式S型加减速曲线。由于梯形加减速的加速度在运行过程中存在突变,因此会使得伺服电机产生冲击和噪声,降低了运行的平稳性[10]。而在5段式的S型加减速中,电机的加速度是连续的,不存在突变,从而可以减少冲击,提高运行平稳性。
式中:S为总的位移,通过对瞬时速度进行积分即可得到。因此运行过程中总位移S的值是由加加速度k和运行时间t共同决定。
1.2控制算法的分段规划
在5段式S型加减速中加速阶段和减速阶段是对称的,加速阶段速度表顺序取值,减速阶段速度表逆序取值,匀速阶段则是以加速阶段最大速度运行,因此只需建立加速阶段的速度表。
(1)加加速阶段
由式(6)可知,若已知当前加加速段的位移S,即可求得当前加速的时刻值:
2 S型加减速的程序设计
传统的伺服控制器多以DSP为主,对于一些成本低和体积小的就不在适用于DSP[11-12]。DSP对电机控制有很大的优化,但不利于伺服系统功能扩展[13]。且DSP多以现场进行速度位移计算。本文的主控制芯片为STM32F103ZET6,通过发送有限脉冲和控制脉冲频率以改变伺服电机的位移和速度。由于发送脉冲过程中的间隔时间短,为减少期间的计算,因此需要提前创建好速度表,同时减少定时精度造成的控制精度[14]。且由于单片机的内存有限、若每个脉冲值都有对应的速度值,就易出现单片机内存不足或速度表数量庞大。为减少扫描时间和计算时间,本文提出以空间换速度的方式,设定加速次数以增大速度表取值时脉冲间隔,减少扫描次数,求取当前加速次数的速度值来减少速度表的容量,提高运行效率。整体实现框图如图3所示。
2.1速度表的生成
交流伺服电机包括位置模式、速度模式和转矩模式[15]。本文选用的是位置控制模式,该模式中速度是由单位时间内发送的脉冲个数即脉冲频率决定的,脉冲总量是电机位移量。为便于程序设计,控制器设置并写入单圈脉冲数为6 400 pulse/rev。
根据5段S型算法原理和分段规划,设置外部参数:初末速度、加速时间、加速次数计算出加速段总脉冲数、加速脉冲时间间隔、单次加速脉冲个数。即可计算出速度表Speed[n]。
速度表的生成流程如图4所示,通过图4计算不同参数下的速度表,使得控制器可以扫描和取值进行速度的切换和状态的改变。
2.2速度曲线设置及速度表扫描
伺服电机在运动控制系统中伺服驱动器接收到控制器发送的一个脉冲就会转动一定的角度,位移和速度均由脉冲信号确定。STM32F103ZET6通过定时器发脉冲主要包括两种方式,一种是PWM模式,另一种是输出比较模式。PWM模式输出的脉冲信号频率固定,占空比可变[16]。在实际控制伺服电机脉冲信号的频率和占空比是连续变化的。PWM模式对于控制伺服电机来说存在很大的困难和不便利,而输出比较模式满足频率和占空比连续可调,便于控制伺服电机高效运转。
在速度设置和扫描函数中,满足速度的指标要求,首先必须保证速度表值是正确的,其次为保证运行过程中误动作需要扫描电机当前的状态,如若不是停止状态则设置无效。电机的运转方向可通过设置总脉冲的正负号来改变。为实现加速启动、匀速、减速停止3个过程,则需要将电机速度切换点分成3段,且加速启动脉冲数与减速停止脉冲数相等且对称。电机完整运行图如图5所示。
电机从加速启动到减速停止的过程中,当前脉冲值是逐一递减的,为便于选取正确的运行状态,减少中断过程的计算量,应提前设定好速度切换点位置,比较当前脉冲值与速度切换点,从而判别当前所处的运行状态。且由于运行过程中加速阶段与减速阶段是对称的,则有:
图5和式(11)(12)中:TPulse为行程总脉冲;ATpulse为加速段总脉冲;UVpoint为匀速切换点;DPoint为减速切换点。
控制流程如图6所示。
2.3电机运行状态切换
在状态切换过程中,电机包含4种状态:加速、匀速、减速、停止,每一个状态都对应一个脉冲值区间,判断当前脉冲值所处的脉冲值区间,选择不同的运行状态。状态之间的切换是由定时器中断完成的,且中断时间短,不宜加入过多的数学运算。因此需要事先将所有的速度表的值转换成定时器计数值,并以数组的形式存放。
STM32F103ZET6单片机主频为72 MHz,定时器采用高级定时器TIM1用于脉冲的产生,其模式为输出比较下的翻转模式,当计数值达到比较值时对应通道引脚会翻转电平,且半周期翻转一次。电机方向引脚选用PB13。为得到实际时钟频率2 MHz,预分频系数为35,为方便计算将实际的时钟频率值扩大10倍。电机转速单位为0.1 r/s,为实现实际转速与定时器计数值匹配,则需将电机转速与单圈脉冲数相乘。根据时钟频率与速度表的关系即可求得定时器的计数值。
因此C的值最后都被按顺序存放入数组中,此数组的值即为CCR寄存器的值。通过获取CNT的值和重新设置CCR寄存器的值,来改变占空比和频率。状态切换流程如图7所示。
3实验及结果分析
为减少矿石在分选平台加速启动和减速停止时的撞击,以不同速度较平稳地进入匀速区域进行矿石成分的分析,本文将设计的控制器与矿石分选平台上的伺服电机驱动器连接,发送电机运行参数进行速度调整,以验证5段S型算法和控制器调速的可行性,以及加减速阶段和匀速阶段速度平稳性的验证。
3.1实验平台
矿石分选平台采用皮带式线性导轨滑台,全长4 m,电机旋转一圈为12.5 cm,将滑台与两侧的直线导轨固定,形成平面带动负载。伺服电机安装在导轨的尾部,平台通过多个三角式的支架,使得平台可以在稳固的前提下,节省占地空间。
3.2速度表验证
为验证速度表的正确性,将串口打印的速度值进行整理,并将速度点进行拟合得出相应的速度表。与设定值进行误差分析。图8所示为部分速度表的速度图像。图中横坐标为加速次数,纵坐标为速度,初速度均为0,加速总次数为250次。由于5段式的S型加减速度是将加速过程分成两段,时间与加速次数转换过程中存在细小的时间差、因此存在较小不平滑的速度现象。经过计算图(a)(b)(c)(d)速度表内最大速度分别为99.97×0.1 r/s,199.99×0.1 r/s,249.99×0.1 r/s,299.99×0.1 r/s,与实际设置的速度,误差在0.1%以下。因此速度表构建成立。
3.3实际测试
在该平台上进行控制器的实际测试,采集次数为1 000次,单次采集周期为10 ms。图像横坐标单位为ms,纵坐标单位为r/min,速度反馈的速度值为正时,电机正转,速度值为负时,电机反转。
图9为两种不同速度下的采集图像。经计算图中实际运行速度下的速度波动在15 r/min上下范围内,小范围内波动平稳,因此噪声和抖动较小。加减速时间较短,速度反馈的图像近似于梯形,设定位移为30 rad,由梯形的面积公式求得总位移,整个运行过程定位误差在0~2 rad左右的范围内。匀速区域是矿石分选平台的探测区域,因此只需在探测区域前达到指定速度,且加速时间极短,使得定位误差几乎可以忽略。因而该控制方法适用于矿石分选平台的控制。
4结束语
本文设计了一款5段式S型加减速的交流伺服电机控制器。将5段式S型加减速算法改进后运用到STM32上,通过设置加速次数的方式代替速度表内呈现每一个脉冲值的速度。减少单片机的扫描时间、速度表计算的时间、中断过程处理的时间。采用位移与速度遍历查询的方式进行程序设计,并将该控制器运用到矿石分选平台上进行实际控制。
实验结果表明:本文改进后的S型加减速控制算法,对基于STM32F103这种低成本、小型化、易扩展而设计的控制器具有适用性,为以后嵌入其他算法而设计的单片机-伺服控制器提供了参考依据。
参考文献:
[1]石岛胜.小型交流伺服电机控制电路设计[M].北京:科学出版社,2012.
[2]Guo X,G Wang.A High-Speed Positioning Method for Servo Systems[J].International Journal of Advanced Manufacturing Technology,2003.
[3]Timar S D,Farouki R T,Smith T S,et al.Algorithms for time–optimal control of CNC machines along curved tool paths[J].Ro‐botics&Computer Integrated Manufacturing,2005,21(1):37-53.
[4]肖立娜,黄艳,盖荣丽,等.微小程序段间速度平滑的指数加减速算法设计[J].组合机床与自动化加工技术,2011(7):38-41.
[5]方佳伟,蔡锦达,姚莹,等.基于Sigmoid函数的S型加减速控制方法研究[J].机电工程,2018,35(9):933-938.
[6]黄艳,李家霁,于东.CNC系统S型曲线加减速算法的设计与实现[J].制造技术与机床,2005(3):59-63.
[7]钟前进,王科,丁信忠.一种新型S加减速算法研究[J].电气传动,2019,49(6):8-12.
[8]徐川,王永章,刘源.多项式加减速控制方法研究[J].组合机床与自动化加工技术,2009(9):42-44.
[9]刘筱,吴文江,郑飂默.柔性S型加减速控制算法研究[J].组合机床与自动化加工技术,2014(3):66-68.
[10]陈友东,魏洪兴,王琦魁.数控系统的直线和S形加减速离散算法[J].中国机械工程,2010(5):567-570.
[11]张珂,郭栋,秦文甫.基于STM32的小型化伺服控制器设计[J].微特电机,2016,44(5):83-86.
[12]王延年,熊伟,王桥.基于DSP和STM32的电液伺服控制器设计[J].单片机与嵌入式系统应用,2014,14(8):70-72.
[13]魏朋涛,何平,王志成.基于STM32的伺服控制器接口技术研究[J].组合机床与自动化加工技术,2016(5):79-82.
[14]李志嘉,徐志鹏.基于CANopen协议的双轴伺服电机同步控制研究[J].机床与液压,2016(1):14-16.
[15]孙兴伟,侯广政,王可,等.交流伺服电机速度控制模式实现方法的研究[J].机床与液压,2012,40(15):54-55.
[16]洪俊峰,卜文强,张榕鑫,等.基于STM32 PWM的正弦信号发生器设计[J].合肥工业大学学报(自然科学版),2014(2):188-191.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
据媒体报道,三大运营商目前均已制定了2020年... 详细>>
如何设计有效的环境治理政策, 是学术界和政策... 详细>>