一种多轴运动控制器和运动控制算法的制作方法

文档序号:6273233阅读:1137来源:国知局
专利名称:一种多轴运动控制器和运动控制算法的制作方法
技术领域
本发明涉及数控技术领域,特别是指一种多轴运动控制器和运动控制算法。
背景技术
传统的用于控制伺服电机,从而伺服电机对刀具控制,完成圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿等轨迹曲线的加工的设备及运动控制方法对伺服电机进行运动控制时运动速度和工作效率低。

发明内容
本发明提出了一种多轴运动控制器和运动控制算法,用于解决现有多轴运动控制器对伺服电机进行运动控制时运动速度和工作效率低的问题。为解决上述技术问题,本发明的技术方案是这样实现的:一种多轴运动控制器,包括:接收模块,用于接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;轨迹运算模块,用于根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据,与接收模块连接;动态存储模块,用于实时接收并动态存储多个坐标数据,与轨迹运算模块连接;控制模块,用于根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,与动态存储模块和外部伺服电机连接。其中,优选地,轨迹运算模块包括:正常计算模块,用于当轨迹曲线为相对坐标原点时,进行正常情况运算。其中,优选地,轨迹运算模块还包括:非正常计算模块,用于当轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。其中,优选地,控制模块包括:调取模块,用于调取动态存储模块中的坐标数据;执行模块,用于根据坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,与调取模块连接;其中,优选地,控制模块还包括:数据安全控制模块,用于对动态存储模块的坐标数据进行安全写入和覆盖,与动态存储模块连接。一种多轴运动控制器的运动控制算法,其特征在于,包括:步骤S1:接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;步骤S2:根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据;步骤S3:用于实时接收并动态存储多个坐标数据;步骤S4:根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工。其中,优选地,步骤S2包括:步骤S200:当轨迹曲线为相对坐标原点时,进行正常情况运算。其中,优选地,步骤S2还包括:步骤S201:当轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。其中,优选地,步骤S4包括:S400:调取动态存储模块中的坐标数据;S401:根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工。其中,优选地,还包括:步骤S5:当动态存储模块实时接收并动态存储多个坐标数据时,对坐标数据进行安全写入和覆盖进行控制。本发明提出的一种多轴运动控制器和运动控制算法,利用External ProfileMode,使用C语言,为多轴运动控制器创建了可以存在控制器上存储器内执行和可以存在计算机实时传送执行的运动轨迹控制算法,包括圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿和背隙补偿等。上述多轴运动控制器对伺服电机进行运动控制时,加工精度高,运动速度和工作效率高。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的多轴运动控制器的结构示意图;图2为本发明实施例提供的多轴运动控制器的运动控制算法的流程示意图;图3为本发明实施例中圆弧的圆心在坐标原点的运算示意图;图4为本发明实施例中圆弧的圆心不在坐标原点的运算示意图;图5为本发明实施例中圆弧的圆心不在坐标原点的运算示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种多轴运动控制器,包括:接收模块,用于接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;轨迹运算模块,用于根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据,与接收模块连接;动态存储模块,用于实时接收并动态存储多个坐标数据,与轨迹运算模块连接;控制模块,用于根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,与动态存储模块和外部伺服电机连接。与现有技术相比,本发明提出的一种多轴运动控制器和运动控制算法,利用External Profile Mode,使用C语言,为多轴运动控制器创建了可以存在控制器上存储器内执行和可以存在计算机实时传送执行的运动轨迹控制算法,包括圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿和背隙补偿等。上述多轴运动控制器对伺服电机进行运动控制时,加工精度高,运动速度和工作效率高。其中,优选地,轨迹运算模块包括:正常计算模块,用于当轨迹曲线为相对坐标原点时,进行正常情况运算。其中,优选地,轨迹运算模块还包括:非正常计算模块,用于当轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。 其中,优选地,控制模块包括:调取模块,用于调取动态存储模块中的坐标数据;执行模块,用于根据坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,与调取模块连接;其中,优选地,控制模块还包括:数据安全控制模块,用于对动态存储模块的坐标数据进行安全写入和覆盖,与动态存储模块连接。如图2所示,本发明实施例提供一种多轴运动控制器的运动控制算法,包括以下步骤:步骤S1:接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;步骤S2:根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据;步骤S3:用于实时接收并动态存储多个坐标数据;步骤S4:根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工。其中,优选地,步骤S2包括:步骤S200:当轨迹曲线为相对坐标原点时,进行正常情况运算。其中,优选地,步骤S2还包括:
步骤S201:当轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。其中,优选地,步骤S4包括:S400:调取动态存储模块中的坐标数据;S401:根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工。其中,优选地,还包括:步骤S5:当动态存储模块实时接收并动态存储多个坐标数据时,对坐标数据进行安全写入和覆盖的控制。下面以圆弧插补为例,详细介绍本发明实施例提供的多轴运动控制器和运动控制算法如何实现圆弧插补: 采用起点,终点及半径方法来实现圆弧插补,及已知圆弧的起点,终点,半径,及插补方向(顺时针或逆时针)来实现圆弧插补。如图3所示,最简单的为圆弧的圆心就在坐标(0,0)点的情况:在圆上任意取一点A(xl,yl),由圆的极坐标公式可以得出:xl=Rcosa;yl=Rsina;R为圆的半径,a为A点与X轴的夹角。因为R已知,角a是一个变化量。对于图3所示圆,相当于角a从0°旋转到360°,就形成了圆。上面我们提到,控制器可以设置每一个伺服周期(或每几个)伺服周期的位置,因此只要得出在某一个伺服周期的角a值,`就可以运算出该伺服周期内的坐标值,从而可以得出该伺服周期X轴及Y轴两个电机的位置。对于圆弧插补,我们一般给出圆弧插补的线速度V,因此我们可以计算出角速度 =V/R。然后,我们可以自己设定一个固定的插补周期T,该插补周期要为控制卡伺服周期的整数倍。有了角速度及插补周期T,我们可以计算出每一个插补周期角a的变化量Θ。θ =w * T0这样,角a从0°开始,每到下一个插补周期,角a的当前值都增加一个Θ值,直到旋转到360°为止。由公式xl=Rcosa; yl=Rsina,角a是个可以计算出的变化量,这样可以计算出每一个插补周期的X和I的坐标值。对于非整圆的弧,我们的计算方法完全相同,只是需要再计算出角a的起始角度及最终角度即可。多轴运动控制器为用户提供了一个可以编写运动轨迹算法的窗口叫ExternalProfile Mode,用户可以设定每一个(或者每几个)伺服周期的电机位置、速度、加速度、力口加速度的初始参数,从而我们可以实现复杂的轨迹曲线。我们通过上述数学算法生成这些多个坐标数据后,可以将坐标数据写到控制器的双端口 RAM中。整个RAM将类似于一个数据表,整个双端口 RAM可以写16K个32bit变量,如果我们的数据很多,无法一次全部放到双端口 RAM中,那么我们可以让这个RAM区以一种旋转缓冲区的方式工作。我们可以通过多轴运动控制器的指令GetBufTerWriteIndex及GetBufferReadIndex来获得当前RAM区中读指针及写指针的位置。通过比较这两个指针的位置,我们可以命令什么时候可以写入新的数据,什么时候可以安全的覆盖掉旧的数据。这样的数据安全控制方法安全、可靠。上面我们给出示例的圆心在(0,0)点,但是对于绝大部分圆弧的圆心不在坐标原点,如图4所示,对于这样的圆弧,我们可以使用坐标平移的方法来解决问题。
圆弧的计算方法是相同的,只是在计算每个插补周期的A点位置时,都要加上圆心的坐标值。BP:xl=Rcosa+Xc;yl=Rsina+Yc;那么,问题的重点就变为如何找到圆心。有了正确的圆心坐标后,我们的问题就能得到解决。下面首先我们来看如何通过起点坐标,终点坐标及半径值,计算出圆心坐标:我们可以计算出起点及终点弦长AB,弦长AB=(X2-X1)2+(Y2_Y1)2,然后做直线段CM丄AB。则M为线段AB的中点。M点的坐标Xm及Ym及线段BM长度我们也可以计算出来。有了这些,我们就可以计算出弦AB所对的圆心角。如图5所示,过M点及A点分别做线段MD//Y轴,AD//X轴。过M点及C点分别做线段ME//Y轴,MC//X轴。首先,我们可以计算出线段MD及AD的长度:MD= | Ym-Yl |,AD= | Xm-Xl |,然后,我们可以通过简单的数学方法证明出Λ MDA MEC,因此MD/ME=AD/EC=MA/MC。我们已经计算出了 MD,AD,MA,MC的值,因此可以计算出ME及EC的长度。因为ME= I Xm-Xc I,EC= | Ym-Yc |。因此,我们就可以得到圆心的坐标值了。这样,由公式xl=Rcosa+Xc;yl=Rsina+Yc,角a是个可以计算出的变化量,就可以计算出每一个插补周期的1和y的坐标值。对于非整圆的弧,我们的计算方法完全相同,只是需要再计算出角a的起始角度及最终角度即可。多轴运动控制器的控制模块调取RAM中的坐标数据,根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成轨迹曲线的加工,提高了工作效率,安全、可靠,加工精度高。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多轴运动控制器,其特征在于,包括: 接收模块,用于接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数; 轨迹运算模块,用于根据用户输入的所述初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据,与所述接收模块连接; 动态存储模块,用于实时接收并动态存储所述多个坐标数据,与所述轨迹运算模块连接; 控制模块,用于根据所 述多个坐标数据来完成对伺服电机的控制,从而控制与所述伺服电机连接的刀具按照所述多个坐标数据完成轨迹曲线的加工,与所述动态存储模块和外部伺服电机连接。
2.按权利要求1所述的多轴运动控制器,其特征在于,所述轨迹运算模块包括: 正常计算模块,用于当所述轨迹曲线为相对坐标原点时,进行正常情况运算。
3.按权利要求2所述的多轴运动控制器,其特征在于,所述轨迹运算模块还包括: 非正常计算模块,用于当所述轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。
4.按权利要求3所述的多轴运动控制器,其特征在于,所述控制模块包括: 调取模块,用于调取所述动态存储模块中的坐标数据; 执行模块,用于根据所述坐标数据来完成对伺服电机的控制,从而控制与所述伺服电机连接的刀具按照所述多个坐标数据完成轨迹曲线的加工,与所述调取模块连接。
5.按权利要求4所述的多轴运动控制器,其特征在于,所述控制模块还包括: 数据安全控制模块,用于对所述动态存储模块的坐标数据进行安全写入和覆盖,与所述动态存储模块连接。
6.一种多轴运动控制器的运动控制算法,其特征在于,包括: 步骤S1:接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数; 步骤S2:根据用户输入的所述初始参数进行运算实现圆弧插补、样条插补、线性插补、切线运动、坐标变换、电子凸轮、丝杠补偿或背隙补偿的轨迹曲线的多个坐标数据; 步骤S3:用于实时接收并动态存储所述多个坐标数据; 步骤S4:根据所述多个坐标数据来完成对伺服电机的控制,从而控制与所述伺服电机连接的刀具按照所述多个坐标数据完成轨迹曲线的加工。
7.按权利要求6所述的多轴运动控制器的运动控制算法,其特征在于,所述步骤S2包括: 步骤S200:当所述轨迹曲线为相对坐标原点时,进行正常情况运算。
8.按权利要求7所述的多轴运动控制器的运动控制算法,其特征在于,所述步骤S2还包括: 步骤S201:当所述轨迹曲线不是相对坐标原点时,进行坐标平移后,再进行计算。
9.按权利要求8所述的多轴运动控制器的运动控制算法,其特征在于,所述步骤S4包括:5400:调取所述动态存储模块中的坐标数据; 5401:根据所述多个坐标数据来完成对伺服电机的控制,从而控制与所述伺服电机连接的刀具按照所述多个坐标数据完成轨迹曲线的加工。
10.按权利要求9所述的多轴运动控制器的运动控制算法,其特征在于,还包括: 步骤S5:当所述动态存储模块实时接收并动态存储所述多个坐标数据时,对坐标数据进行安全写入和覆盖 进行控制。
全文摘要
本发明提出了一种多轴运动控制器和运动控制算法,用于解决现有多轴运动控制器对伺服电机进行运动控制时运动速度和工作效率低的问题,包括接收模块,用于接收用户输入的每一个或每几个伺服周期的电机位置、速度、加速度或加加速度的初始参数;轨迹运算模块,用于根据用户输入的初始参数进行运算实现圆弧插补、样条插补、线性插补等多种轨迹曲线的多个坐标数据;动态存储模块,用于实时接收并动态存储多个坐标数据;控制模块,用于根据多个坐标数据来完成对伺服电机的控制,从而控制与伺服电机连接的刀具按照多个坐标数据完成多轴复杂轨迹曲线的加工。上述多轴运动控制器对伺服电机进行运动控制时,加工精度高,运动速度和工作效率高。
文档编号G05B19/18GK103092128SQ20131002883
公开日2013年5月8日 申请日期2013年1月25日 优先权日2013年1月25日
发明者高满元 申请人:北京元茂兴控制设备技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1