CN102298359B - 一种数控系统中加减速过渡平滑控制方法 - Google Patents

一种数控系统中加减速过渡平滑控制方法 Download PDF

Info

Publication number
CN102298359B
CN102298359B CN2011101642558A CN201110164255A CN102298359B CN 102298359 B CN102298359 B CN 102298359B CN 2011101642558 A CN2011101642558 A CN 2011101642558A CN 201110164255 A CN201110164255 A CN 201110164255A CN 102298359 B CN102298359 B CN 102298359B
Authority
CN
China
Prior art keywords
cycle
acceleration
interpolation cycle
pulse
deceleration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2011101642558A
Other languages
English (en)
Other versions
CN102298359A (zh
Inventor
张承瑞
姬帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN2011101642558A priority Critical patent/CN102298359B/zh
Publication of CN102298359A publication Critical patent/CN102298359A/zh
Application granted granted Critical
Publication of CN102298359B publication Critical patent/CN102298359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Control Of Stepping Motors (AREA)

Abstract

本发明公开了一种数控系统中加减速过渡平滑控制方法,它的步骤为:1)计算当前插补周期T的脉冲个数n,以及本插补周期起点和终点速度v-1/2aT、v+1/2aT所对应的脉冲宽度Bmax、Bmin;2)以插补周期内系统时钟计数个数和平均速度不变为原则,构建两个等差数列,计算两个等差数列的转折点k,并圆整为整数;3)由插补周期开始时的脉冲宽度Bmax、平均脉宽Bm和转折点k值计算第一个等差数列的等差值m1;4)根据输出脉冲前k次翻转等差值m1的累积和反求第二个等数列的等差值m2;5)插补周期开始的时刻加载计算好的Bmax、m1、m2、k、n等各项参数,从而实现周期内二次加减速算法。

Description

一种数控系统中加减速过渡平滑控制方法
技术领域
本发明涉及一种运动控制加减速控制算法,尤其是一种采用插补周期内部硬件二次加减速算法的数控系统中加减速过渡平滑控制方法。
背景技术
加减速控制是CNC系统中的关键技术,它与系统的动态性能紧密相关,加减速过渡过程平滑与否直接影响工件的加工精度及其表面质量。尤其对于工件上的复杂曲面,通常都是由CAD/CAM软件采用直线段逼近产生,因此会在加工程序中包含大量的小直线段,线段之间相互衔接时系统就不可避免地进行频繁加减速。因此好的加减速算法不仅可以减小系统在加减速过程中的振动,还能缩短加减速时间提高生产效率。
如今的数控系统中普遍采用软件加减速方式:首先使用特定的多项式来生成加减速文件,然后周期性地把生成的速度或位置信息下发到控制器中实现加减速控制。软件加减速具有很好的灵活性,可以相对容易地实现直线、指数或者S曲线加减速。实验证明,所选用的多项式阶数越高所生成的速度曲线就越趋于平滑,系统运行也越平稳。而代价则是计算机负担越大,运算所占用的软硬件资源也越多。
为实现加减速过程平滑高效地过渡,很多人做了大量的研究工作。但是到目前为止绝大多数的加减速算法仍是以插补周期为基本的控制单位,而更小时间尺度上的加减速控制却极少有研究涉及,这难以满足诸如高速高精加工等一些对系统动态性能要求高的场合。以插补周期为加减速控制的基本时间单位,虽然在理论上速度曲线是平滑的,但实际速度是一个阶跃信号,它在插补周期内部是恒定的,在下一个插补周期到来的时候会从v突然增加到v+aT,其中,v为速度,a为加速度,T为差补周期,如图1所示。此时如果加速度比较大的话就容易引起机械振动。
发明内容
本发明的目的就是为解决上述问题,提供一种数控系统中加减速过渡平滑控制方法,它在加减速过程中,通过预先计算好的一系列参数在插补周期内部实现更小时间尺度上的加减速控制。根据不同的控制要求,控制周期在理论上可以达到微秒级,远小于目前伺服电机电流环控制周期。实际使用中可采用百微秒的加减速周期来实现加减速曲线的二次平滑,以此减小相邻插补周期之间因速度突变而引起的机械振动。
为实现上述目的,本发明采用如下技术方案:
一种数控系统中加减速过渡平滑控制方法,它的步骤为:
1)根据已知的指令速度v,加速度a,差补周期T,系统脉冲当量p和控制器系统时钟频率f,计算当前插补周期T的脉冲个数ni,以及本插补周期起点和终点速度v-1/2aT、v+1/2aT所对应的脉冲宽度Bmax、Bmin
2)以插补周期内系统时钟计数个数和平均速度不变为原则,构建两个等差数列,让系统的输出脉冲宽度在插补周期内分别按照两组等差数列从Bmax递减到Bm,再从Bm递减至Bmin,计算两个等差数列的转折点k,并圆整为整数;
3)由插补周期开始时的脉冲宽度Bmax、平均脉宽Bm和转折点k值计算第一个等差数列的等差值m1
4)根据输出脉冲前k次翻转等差值m1的累积和反求第二个等数列的等差值m2
5)插补周期开始的时刻加载计算好的Bmax、m1、m2、k、n各项参数,并按照设定的方式改变输出脉冲的宽度;减速过程与加速过程相反,是一个脉冲宽度在插补周期内部从小变大的过程;从而实现周期内二次加减速算法,在保证当前插补周期内平均速度为指令速度v的前提下,让速度在插补周期内从v-1/2aT逐步加速到v+1/2aT,从而把相邻插补周期的速度曲线平滑地连接起来,以此来减小加减速过程中插补周期衔接时因速度突变引起的机械振动。
所述步骤1)中,根据当前指令速度vi,加速度a,计算出本周期脉冲个数ni
n i = v i T p - - - ( 1.1 )
结合前一个插补周期的脉冲数ni-1,并由控制器的系统时钟频率f和插补周期T计算出每个插补周期内的平均脉冲宽度Bm,以及该周期起点、终点速度所对应的脉宽Bmax、Bmin
B m = f × T 2000 n ;
B max = f × p 1000 ( n i + n i - 1 ) - - - ( 1.2 ) .
B min = f × p 1000 ( 3 n i - n i - 1 )
所述步骤2)中,为保证每个插补周期内的所有脉冲宽度之和始终为f×T,偏离在Bm在两侧的脉冲宽度之和必须相等。由此获得两组等差数列的转折点k,
k = ( 2 n + 1 ) ( B max - B m ) B max - B min - - - ( 1.3 )
圆整k值。
所述步骤3)中,第一个等差序列的等差值m1
m 1 = ( B m - B min ) k - 1 ; - - - ( 1.4 ) .
所述步骤4)中,根据前k次翻转脉宽变化等差值m1的累积和反求第二组序列的等差值m2,以此来保证整个周期内的系统时钟计数个数不变
m 2 = k ( B m - B min ) ( 2 n - k + 1 ) ( 2 n - k ) - - - ( 1.5 ) .
本发明采用以上技术方案具有以下优点:
1、不需要改变原有的软件加减速算法,不改变数控内核,只需要附加若干控制参数即可实现对原有加减速算法的优化。
2、二次加减速算法最终在FPGA(Field Programmable Gate Array)中实现,硬件电路凭借其强实时和并行处理能力可以使控制器在理论上获得微秒级时间尺度上的加减速控制周期。并且针对不同的应用可以用于接收脉冲指令、绝对位置信息、速度模拟量指令等多种伺服控制模式。
3、速度曲线的连接更加平滑,采用相同的软件加减速算法可有效增加系统运行的平稳性,减小加减速过程中的机械系统振动。
附图说明
图1速度与插补周期关系图。
图2二次加减速时插补周期内速度与时间变化关系图。
图3二次加减速参数计算流程图。
图4加减速参数位宽分配图。
图5二次加减速硬件实现原理图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明。
本发明是在保证当前插补周期内平均速度为指令速度v的前提下,让速度在插补周期内从v-1/2aT逐步加速到v+1/2aT,从而把相邻周期的速度曲线平滑地连接起来,如图1虚线所示,以此来减小加减速过程中插补周期衔接时因速度突变引起的机械振动。
按照以往控制方式,数控系统在单个插补周期内的脉冲频率是恒定的,假设数控程序的指令速度为v,系统的插补周期为T,系统脉冲当量为p,则系统在本插补周期内产生的脉冲个数n为:
n i = v i T p - - - ( 1.6 )
因速度和每个周期内发出的脉冲个数成对应关系,为计算方便,用第i个插补周期输出脉冲个数来代替当前系统的指令速度,并假定系统在相邻的两个周期间加速度没有变化,由此可以得到当前插补周期起点和终点的速度对应的脉冲数分别为:
v i - 1 2 aT ⇒ n i - 1 2 ( n i - n i - 1 ) = n i + n i - 1 2 ; (1.7)
v i + 1 2 aT ⇒ n i + 1 2 ( n i - n i - 1 ) = 3 n i - n i - 1 2
如果控制器的系统基础时钟频率为f,则对应的每个插补周期内系统时钟计数个数为f×T个。按照插补程序的要求,系统必须在一个插补周期T的时间内均匀发出插补得到的n个脉冲,即在f×T个系统脉冲内,控制电机的脉冲输出信号反转2n次。以一个系统时钟为基本计数单位,则每个脉冲控制信号翻转一次经历的系统时钟个数即输出脉冲的宽度Bm为:
B m = f × T 2 n - - - ( 1.8 )
当系统确定时f×T为常数,脉冲宽度Bm与电机速度即脉冲输出频率是成反比的,也就是说脉宽越大脉冲输出频率越低,电机转速也越慢。因此可以通过改变脉冲宽度的方式来调电机的转速。系统从v-1/2aT加速到v+1/2aT对应的系统输出的脉冲宽度从Bmax递减到Bmin,如图2所示。为使脉冲宽度能均匀从Bmax递减到Bmin,我们用两个等差数列来产生脉宽序列B。第一个序列产生前k次翻转,脉宽以m1为等差值从Bmax减小到Bm,第二个序列的n-k次翻转脉宽从Bm减小到Bmin。通过这种方式上周期的终点与本周期的起点速度连接在一起,形成一条平滑的速度曲线。上述各参数的计算方法如下。
由上面的式子结合1.2式可以得到每个插补周期开始和结束时所对应的最大和最小脉宽Bmax、Bmin
B max = f × T 2 n i - 0.5 = f × T n i + n i - 1 ; (1.9)
B min = f × T 2 n i + 0.5 = f × T 3 n i - n i - 1
前面已经提到,要满足插补的准确和时间的连续,则必须保证一个周期内所有脉冲的脉宽之和为f×T,对应图2中平均速度两侧的阴影面积S1和S2相等,即因采用两个等差数列而产生的时钟计数偏差之和相等:
1 2 k ( k - 1 ) m 1 = 1 2 ( 2 n - k + 1 ) ( 2 n - k ) m 2 - - - ( 1.10 )
将两个数列的等差值
Figure BDA0000069329510000064
代入上式则有可以得到两个等差数列交替的转折点k:
k ( B m - B min ) = ( 2 n - k + 1 ) ( B max - B m )
⇒ k = ( 2 n + 1 ) ( B max - B m ) B max - B min - - - ( 1.11 )
由1.6式可知,经过除法运算之后的k值在大多数情况下都是非整数,所以必须对其圆整。而圆整后的结果会导致图2中两部分阴影面积不相等,即不能满足插补周期内系统时钟总的计数个数为f×T,因此要以圆整后的k值反求m1和m2以保证周期内所有脉宽之和不变。这里选择重新计算m1,并用以前半部分阴影面积为基准反求m2
m 1 = ( B m - B min ) k - 1 ;
k(Bm-Bmin)=(2n-k+1)(2n-k)m2    (1.12)
m 2 = k ( B m - B min ) ( 2 n - k + 1 ) ( 2 n - k )
圆整后反求的做法会导致插补周期结束时的脉宽Bmin和vi+1/2aT不完全对应,从而影响本周期与下一周期速度特征曲线的平滑过渡,但这种影响甚微,完全可以忽略。至此硬件二次加减速算所需要的所有参数都已经得到,计算流程如图3所示。下面是需要重点注意的特殊情况及其处理方式。
减速阶段随着速度减小,对应的脉冲宽度应该是逐渐递增的,当前插补周期的脉冲数ni始终小于上一周期的脉冲数ni-1。尽管正常的减速过程中加速度不可能大到使3ni-ni-1<0,但插补到最后一步ni为0时,1.4式中分母小于0的情况就不可避免了,因此对这种情况必须单独处理。令最后一个插补周期对应的脉冲频率为指令值的一半,即脉冲数为ni/2。则可以得到:
B max = f × T 2 × n i / 2 = f × T n i ,
B min = f × T 2 × ( n i + n i - 1 ) / 2 = f × T n i + n i - 1 - - - ( 1.13 )
B m = f × T 2 n i
因为ni-1>ni,显然满足Bmin<Bm<Bmax以实现脉冲宽度按照两个等差数列的均匀递减。
为方便硬件程序的操作,在实际应用中采取以定点数代替浮点数,整数表示小数的方式进行脉冲宽度的运算。两个等差值的小数部分分别用2个字节数据来表示,脉冲宽度的小数部分用1个字节表示。具体各参数的数据格式如图4所示。
在FPGA中实现的原理图如图5所示。插补周期开始的时刻加载各个参数,同时启动时钟计数器,计数值等于脉宽B时,输出信号翻转,同时脉宽B按照第一个等差数列自减m1,在第k次翻转之后,脉宽B按照第二个等差数列每次递减m2,直至下个周期到来时重新加载各参数,实现脉冲宽度的均匀变化。
实施例1:脉冲方式控制的数控系统中。正如具体实施方法中所述,加速过程中以Bmax为初始值,按照两个等差数列减小系统输出脉宽,从而达到输出脉冲频率均匀变化的目的。减速过程与加速过程相反,脉冲宽度从Bmin分别按照两个等差数列递加到Bmax
实施例2:在速度控制的闭环半闭环数控系统中。把一个插补周期平均分为n份,每份对应的时钟计数个数为Bm。加速过程中,速度从Vmin开始,以Bm个系统时钟为周期间隔分别按照两组等差数列递增,这里Vmin,Vmax以及等差值m1,m2的求解方法和求解脉冲宽度时一致,减速过程亦然。
实施例3:直接接受绝对位置指令的数字伺服中。把一个插补周期平均分为n份,每份对应的时钟计数个数为Bm。加速过程中,位置指令从Sstart开始,以Bm个系统时钟为周期分别按照两组等差数列递增,其中Sstart,Send以及等差值的求解方法脉冲宽度的求解一致,数据长度及格式需要按照具体要求更改,减速过程亦然。

Claims (4)

1.一种数控系统中加减速过渡平滑控制方法,其特征是,它的步骤为:
1)根据已知的指令速度v,加速度a,差补周期T,系统脉冲当量p和控制器系统时钟频率f,计算当前插补周期T的脉冲个数n,以及本插补周期起点和终点速度v-1/2aT、v+1/2aT所对应的脉冲宽度Bmax、Bmin
2)以插补周期内系统时钟计数个数和平均速度不变为原则,构建两个等差数列,让系统的输出脉冲的宽度在插补周期内分别按照两组等差数列从Bmax递减到Bm,再从Bm递减至Bmin,计算两个等差数列的转折点k,并圆整为整数;
为保证每个插补周期内的所有脉冲宽度之和始终为f×T,偏离在Bm在两侧的脉冲宽度之和必须相等;由此获得两组等差数列的转折点k,
k = ( 2 n + 1 ) ( B max - B m ) B max - B min - - - ( 1.3 )
圆整k值;
3)由插补周期开始时的脉冲宽度Bmax、平均脉宽Bm和转折点k值计算第一个等差数列的等差值m1
4)根据输出脉冲前k次翻转等差值m1的累积和反求第二个等数列的等差值m2
5)插补周期开始的时刻加载计算好的Bmax、m1、m2、k、n各项参数,并按照设定的方式改变输出脉冲的宽度;减速过程与加速过程相反,是一个脉冲宽度在插补周期内部从小变大的过程;从而实现周期内二次加减速算法,在保证当前插补周期内平均速度为指令速度v的前提下,让速度在插补周期内从v-1/2aT逐步加速到v+1/2aT,从而把相邻插补周期的速度曲线平滑地连接起来,以此来减小加减速过程中插补周期衔接时因速度突变引起的机械振动。
2.如权利要求1所述的数控系统中加减速过渡平滑控制方法,其特征是,所述步骤1)中,当前指令速度vi,加速度a,计算出本周期脉冲个数ni
n i = v i T p - - - ( 1.1 )
结合前一个插补周期的脉冲数ni-1,并由控制器的系统时钟频率f和插补周期T计算出每个插补周期内的平均脉冲宽度Bm,以及该周期起点、终点速度所对应的脉宽Bmax、Bmin
B m = f × T 2000 n ;
B max = f × p 1000 ( n i + n i - 1 ) - - - ( 1.2 ) .
B min = f × p 1000 ( 3 n i - n i - 1 )
3.如权利要求1所述的数控系统中加减速过渡平滑控制方法,其特征是,所述步骤3)中,第一个等差序列的等差值m1
m 1 = ( B m - B min ) k - 1 ; - - - ( 1.4 ) .
4.如权利要求1所述的数控系统中加减速过渡平滑控制方法,其特征是,所述步骤4)中,根据前k次翻转脉宽变化等差值m1的累积和反求第二组序列的等差值m2,以此来保证整个周期内的系统时钟计数个数不变
m 2 = k ( B m - B min ) ( 2 n - k + 1 ) ( 2 n - k ) - - - ( 1.5 ) .
CN2011101642558A 2011-06-18 2011-06-18 一种数控系统中加减速过渡平滑控制方法 Active CN102298359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101642558A CN102298359B (zh) 2011-06-18 2011-06-18 一种数控系统中加减速过渡平滑控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101642558A CN102298359B (zh) 2011-06-18 2011-06-18 一种数控系统中加减速过渡平滑控制方法

Publications (2)

Publication Number Publication Date
CN102298359A CN102298359A (zh) 2011-12-28
CN102298359B true CN102298359B (zh) 2012-11-14

Family

ID=45358830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101642558A Active CN102298359B (zh) 2011-06-18 2011-06-18 一种数控系统中加减速过渡平滑控制方法

Country Status (1)

Country Link
CN (1) CN102298359B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103076759B (zh) * 2012-12-31 2015-02-11 北京配天技术有限公司 一种获取数控系统的s型曲线的方法及其装置
CN103324141B (zh) * 2013-06-14 2015-04-29 浙江工业大学 一种高精度变插补周期的多轴联动运动控制方法
CN103618482B (zh) * 2013-12-09 2017-01-11 中国船舶重工集团公司第七〇五研究所 一种产生对称梯形加减速脉冲的方法
CN104298151B (zh) * 2014-09-26 2018-01-02 成都乐创自动化技术股份有限公司 速度控制算法及脉冲控制算法
CN108062073B (zh) * 2016-11-08 2020-06-23 沈阳高精数控智能技术股份有限公司 一种用于高质量加工的圆弧平滑压缩插补方法
CN107368639B (zh) * 2017-07-10 2021-06-08 深圳市同川科技有限公司 速度规划方法、装置、计算机设备和存储介质
CN107272758B (zh) * 2017-08-01 2020-08-07 深圳市雷赛控制技术有限公司 绕线设备效率及平稳性的提升方法及装置
CN108000520A (zh) * 2017-12-05 2018-05-08 陈庆 机器人的运动控制方法及系统
CN108319228B (zh) * 2018-02-09 2020-11-20 苏州科技大学 一种数控系统轨迹规划中加减速控制方法
CN108958169B (zh) * 2018-07-27 2021-04-06 山东大学 一种基于s曲线的pvt控制方法
CN116330299B (zh) * 2023-05-26 2023-09-01 浙江工业大学 一种基于加速度平滑的工业机器人柔顺运动控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520450A (en) * 1982-07-23 1985-05-28 Westinghouse Electric Corp. Digital ramp function generator and motor drive system including the same
JP3178202B2 (ja) * 1992-12-10 2001-06-18 松下電器産業株式会社 サーボモータの制御パラメータ調整装置及び調整方法
CN101211177A (zh) * 2006-12-29 2008-07-02 中国科学院沈阳计算技术研究所有限公司 一种基于滤波技术的数控系统加减速控制方法
CN101853013A (zh) * 2009-04-01 2010-10-06 中国科学院沈阳计算技术研究所有限公司 一种用于数控机床高速加工的加减速控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520450A (en) * 1982-07-23 1985-05-28 Westinghouse Electric Corp. Digital ramp function generator and motor drive system including the same
JP3178202B2 (ja) * 1992-12-10 2001-06-18 松下電器産業株式会社 サーボモータの制御パラメータ調整装置及び調整方法
CN101211177A (zh) * 2006-12-29 2008-07-02 中国科学院沈阳计算技术研究所有限公司 一种基于滤波技术的数控系统加减速控制方法
CN101853013A (zh) * 2009-04-01 2010-10-06 中国科学院沈阳计算技术研究所有限公司 一种用于数控机床高速加工的加减速控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特许第3178202号B2 2001.06.18

Also Published As

Publication number Publication date
CN102298359A (zh) 2011-12-28

Similar Documents

Publication Publication Date Title
CN102298359B (zh) 一种数控系统中加减速过渡平滑控制方法
CN102419570B (zh) 数控机床高速加工的加减速前瞻控制方法
CN104678899B (zh) 曲线速度规划方法、装置及其数控加工路径数据处理方法
CN101493687B (zh) 实时前瞻全程加减速控制的nurbs曲线自适应分段插补方法
CN103048953B (zh) 一种基于arm9嵌入式系统和fpga的nurbs曲线分段插补方法
CN102722140A (zh) 基于s曲线加减速控制的多周期拐角小直线段插补方法
CN103064344A (zh) 一种基于nurbs曲线插补的速度平滑控制方法
CN104181860A (zh) 数控机床s型加减速控制方法
CN106020122B (zh) 基于牛顿迭代的数控轨迹控制方法
CN103744346A (zh) 一种电子凸轮曲线生成方法
CN103941647A (zh) 用于嵌入式数控设备的柔性加减速控制插补方法
CN104204977A (zh) 轨迹控制装置
CN104281099A (zh) 一种考虑加工特性的nurbs直接插补方法及装置
CN102763318A (zh) 指令生成装置
CN108170101A (zh) 面向多项式样条曲线的插补方法及系统
CN108435856A (zh) 折弯机滑块定位补偿方法、系统、设备及数控系统
CN103312248B (zh) 一种基于dsp的直线加减速拐点误差补偿方法
CN104020719A (zh) 速度敏感点分段nurbs曲线的s型加减速控制插补算法
CN112783098A (zh) 多轴联动机械运动控制方法、装置、系统及可读存储介质
CN103838183A (zh) 一种数控系统及其输出控制方法
TW201725459A (zh) 步進機軌跡驅動器
CN104865898A (zh) 数控机床中处理微小路径段的方法及设备
CN103941646B (zh) 伺服定位控制系统及方法
CN103744352A (zh) 一种基于fpga的三次b样条曲线的硬件插补器
CN104133409A (zh) 一种对称性可调的三角波合成装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant