步进电机三轴联动的快速加减速算法研究步进电机三轴联动的快速加减速算法研究
摘要:加减速控制是数控系统的关键技术,对提高数控系统的精度及速度有重要的意义。提出了一种步进电机
三轴联动的快速加减速算法--动态查表法,该算法结合DDA 插补算法,可以用普通的单片机实现多种加减速曲
线的运动控制,具有运算速度快、精度高等优点。 1 引言 步进电机具有快速启停能力强、精度高、转
速容易控制的特点。但是,步进电动机应避免转动速率的突变,而且从停止到开始转动有一个较低的起动频
率,随后才可以平缓地过渡到较高的转速。相应地在步进电机制动时,也应该平缓过渡。如果由于启动和停止
控制不当,步进电机会出现启动时抖动和停止时过冲的现象,从面影响系统的控制精度[1][2][3]。为避免这种
摘要:加减速控制是数控系统的关键技术,对提高数控系统的精度及速度有重要的意义。提出了一种步进电机三轴联动的
快速加减速算法--动态查表法,该算法结合DDA 插补算法,可以用普通的单片机实现多种加减速曲线的运动控制,具有运算速
度快、精度高等优点。
1 引言
步进电机具有快速启停能力强、精度高、转速容易控制的特点。但是,步进电动机应避免转动速率的突变,而且从停止到
开始转动有一个较低的起动频率,随后才可以平缓地过渡到较高的转速。相应地在步进电机制动时,也应该平缓过渡。如果由
于启动和停止控制不当,步进电机会出现启动时抖动和停止时过冲的现象,从面影响系统的控制精度[1][2][3]。为避免这种情
况的发生,要对步进电机进行加减速控制。加减速控制是数控系统的关键技术,对提高数控系统的精度及速度有重要的意义。
加减速控制也得到了广泛的研究与应用。
目前国内外步进电机加减速控制曲线主要包括三种[4]:直线型加减速速度曲线(也称为梯形曲线)、指数型加减速曲线、S
型加减速曲线。控制算法主要有查表法和插补迭代法。查表法的原理是设置一张时间间隔表,表中的每一项都对应一个转速,
时间间隔按一定的规律变化 [1]。插补迭代法的原理是根据前一步的基准点速度和加、减、匀速状态来确定当前步的基准点速
度[4][5]。
这两种控制算法都有各自的适用范围,查表法适用于单轴的加减速控制,具有算法简单、快速的特点,但不能适用于多轴
联动。插补迭代算法适用于高精度的控制,算法复杂,对处理器的要求较高,一般需要用到DSP 等处理器[4]。本文结合两种
算法的优点,设计了一种“动态查表法”来实现三轴联动的快速加减速算法。动态查表法即有查表法简单、快速的特点,又能够
用一般的单片机来实现高精度的多轴联动加减速控制。
2 动态查表法
根据线性插补原理,各插补轴的位移与速度比相等。在加减速过程中,各插补轴的速度、加速度分别与合成的速度、加速
度对应成比例[5]。当对合成速度按某种加减速方法进行加减速时,各插补轴在保证空间轨迹的同时,也应按相同的加减速方
法进行加减速。查表法具有简单、快速的特点,但查表法必须事先确定一张加减速的速度表格,不能按比例应用到多轴联动的
场合。本文的思路是结合数字积分法,在加工某条线段前先按比例快速计算好相应的速度表格,再用查表法来完成加减速控
制,即“动态查表法”。
数字积分法,也称 DDA(Digital Differential Analyzer) ,它是建立在数字积分器基础上的一种插补算法,其特点是易于实
现多坐标插补联动[6]。每一轴设置一个累加器,三轴联动需要设置三个累加器,每进行插补,对三个累加器分别累加。哪一轴
的累加器有溢出则该轴延迟一个定时周期进给一步(注:本文中的“进给一步”代表发脉冲的高电平或低电平,两次“进给一
步”代表一个完整的脉冲)。在实际应用中,会设定一个较大的整数N,一般是2m,本文设置的是0x8000,即215。当累加超
过该数时,视为溢出。相应的,根据单片机的定时周期,加工速度将折算成两个整数用于实际的插补运算,一个整数是n,代
表过n 个定时周期进给一步,另一个是dn,代表累加数,当dn 累加到达N 时,延迟一个定时周期进给一步。则:
V 代表的是指定的加工速度,做加减速控制的加速过程需要将速度从起跳速度按照一定的曲线加速到V,减速过程需要将
速度从V 再减到起跳速度。
本文设计了一系列速度档位,档位就是起跳速度,然后逐步增加到V,每档速度同时对应一个脉冲数组,及走过多少脉冲
后切换到另外一个速度档位。脉冲与速度构成的曲线可以是梯形曲线、指数型加减速曲线或S 型加减速曲线。每个速度档位都
按照相同的比例缩小速度V,三轴都按照相同的比例,就满足了线性插补原理,可以在保证空间轨迹的同时,各轴按照相同的
加减速方法进行加减速。但计算速度档位必须在加工线段前进行,而且不能有除法运算,否则一般的单片机难以达到实时性的
要求。按一定的比例缩小V 必须用到除法,要避免除法运算就只能采用移位运算来代替。由式(1)~(3)可知,k 与V 成反
比,而n 和dn 分别对应k 的整数和小数部分。假设要得到V*p/q 对应的n 和dn,其中p、q 都是自然数且p<q。则k’=k*q/p,要
用移位来代替除法必须p=2m,而且要争取各速度档位相对均匀。
本文设计的速度档位因子分别是:1/16, 1/8, 1/4, 2/5,1/2, 2/3, 4/5, 8/9, 共八个档位。对精度要求高的还可以设置更多的档
评论0