一种商标模切机高精度联动插补的方法
技术领域
本申请属于工业自动化数据技术领域,具体涉及一种商标模切机高精度联动插补的方法。
背景技术
商标模切机主要是用于不干胶上的印压,并将其模切成一定的形状,提供到包装盒上粘贴的重要加工设备。随着商标模切机在技术上的逐渐成熟,用户对商标模切机的设计与开发在稳定性、切割精度、切割效率、便捷性以及价格上都提出了更多的要求,而其中的关键技术难点在于实现多轴的联动插补与和柔性并进的合理加减速。
插补算法一直以来就是数控系统中的核心技术。从数控系统的原理来说,插补的本质问题就是对任意曲线进行分解,成为若干段微小的曲线,当对曲线的分解达到无穷级时,每一段曲线便成为微小的直线段。然后利用与相应微小曲线相类似的直线段代替,通过控制刀具按直线段行走进行加工,完成为整个曲线的插补运算加工。实际问题中不可能对任意曲线的分解达到无穷,因此总是存在相应的误差。在实际运用中对误差的容忍度有限,因此只需在满足精度的情况下进行曲线的分解。对曲线的分解过程即是将其坐标点进行密化,不但要保证精度,还需要在极短的时间内完成。受现代技术的限制,在插补过程中难以保证商标模切机中长短轴的同步,并且容易出现过切问题。
发明内容
本申请的目的在于提供一种商标模切机高精度联动插补的方法,解决了商标模切机的过切问题,并且可控制两轴的同步运行。
为实现上述目的,本申请所采取的技术方案为:
一种商标模切机高精度联动插补的方法,包括:
步骤1、获取原始加工轨迹曲线进行粗插补操作,得到粗插补参数;
步骤2、取粗插补参数中的一段微直线段进行精插补操作,包括:
步骤2.1、设置起跳速度、进给步长表、加速度表,并计算进给速度表;
步骤2.2、根据所述进给速度表与进给步长表计算插补周期内的脉冲数与脉冲周期;
步骤2.3、将长短轴各自对应的脉冲数与脉冲周期写入对应的缓冲区;
步骤2.4、在同步信号的作用下,根据缓冲区中的脉冲数与脉冲周期,采用队列的方式利用STM32单片机的定时器完成脉冲的发送,从而实现对长短轴的同步控制;
步骤2.5、判断长短轴是否同时到达目标点,若长短轴到达目标点则执行步骤3;否则重新执行步骤2.2~2.5;
步骤3、判断当前微直线段是否为最后一段微直线段,若是则完成联动插补;否则返回步骤2。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
作为优选,所述步骤1中获取原始加工轨迹曲线进行粗插补操作,包括:
步骤1.1、获取原始加工轨迹曲线离散成若干段微直线段;
步骤1.2、逐一判断若干段微直线段是否有效:
取当前待判断的微直线段的起始点为A(xa,ya),终点为B(xb,yb),因此在各个坐标轴上的投影坐标增量为ΔX=|xb-xa|,ΔY=|yb-ya|;
建立判断关系式如下:
[ΔX]<S&&[ΔY]<S (1)
其中,S若为精插补操作中所允许的最大步数;
若投影坐标增量ΔX、ΔY满足公式(1)的判断关系式,则为有效微直线段;否则为无效微直线段;
步骤1.3、取无效微直线段,对无线微直线段离散成若干段更小的微直线段,并重新执行步骤1.2,循环执行直至得到的所有微直线段均为有效微直线段。
作为优选,所述步骤2.1中计算进给速度表,包括:
步骤2.1.1、取粗插补操作得到的粗插补参数中所有微直线段的坐标点,确定X、Y两轴的运动方向与距离x_Axislen、y_Axislen,其中运动方向取决于x_Axislen、y_Axislen值的正负,若x_Axislen、y_Axislen值为正则代表正向运动、为负则代表负方向运动,X、Y两轴中的长轴为max={x_Axislen,y_Axislen}、短轴为min={x_Axislen,y_Axislen},其中,x_Axislen、y_Axislen通过公式(2)给出:
其中:xnextp为下一个坐标点的横坐标,xcurrentp为当前坐标点的横坐标,ynextp为下一个坐标点的纵坐标,ycurrentp为当前坐标点的纵坐标;
步骤2.1.2、以坐标缓冲区的末端终点对应的末端Vi作为临时原点,根据公式(2)向前计算一段长度L,即:
依次类推即可以得到进给步长表L0,L1...,Li;
假设进给步长表中的线段的最大长度为Lmax,若当前点到目标点的长度为L,若L>Lmax,则需要将当前的线段L分割成更小的线段,直到L≤L max为止,当满足L≤Lmax条件时,当前的加速度需根据长度L进行动态自适应调整,假设当前的加速度为a,动态调整后的加速度为
其中,k为常数因子;若步进电机加速到线段L的某一位设置为目标速度即为最大速度后开始匀速,并不再加减速,则按照公式(4)计算得到加速度表
首先需要确定拐点处的最大约束速度,假设任意三点Pi-1,Pi,Pi+1,坐标分别为(xi-1,yi-1),(xi,yi),(xi+1,yi+1),设点Pi-1到Pi点处的末速度为Ve,点pi到pi+1的起始速度Vs,两向量的夹角为Δθi,设
进一步化简得:
利用三角形余弦定理,可以得到拐弯速度变化ΔVi:
ΔVi2=|Ve|2+|Vs|2-2|Ve|*|Vs|cosΔθ (7)
利用基本不等式关系得到:
即:当且仅当Ve=Vs=Vi,ΔVi取得最小值:
根据
由公式(10)可以依次得到各个拐点处的最大值Vsysmax(n)(其中:n=1...i),考虑到由于受线段长度的限制,导致商标模切机在实际加工过程中加减速距离不够,导致过切,因此需要对理论上的拐点速度进行修正:
若步进电机加速到线段L的某一位设置为目标速度即为最大速度后开始匀速,并不再加减速,则按照公式(4)计算得到加速度表
重复步骤2.1.1~步骤2.1.2一直推到正向的末尾点速度Vi,得到所有拐点的最终目标速度,即得到给正向进给速度表V0,V1,...Vi。
作为优选,步骤2.2中根据进给速度表与进给步长表计算插补周期内的脉冲数与脉冲周期,包括:
利用建立好的进给步长表l0,l1...li和在长轴的上的进给速度表V0,V1,...Vi,得到电机在第i个插补周期内对应的脉冲个数nxi,即:nxi=li;
令长轴为X轴,短轴为Y轴,根据长轴X、短轴Y与合运动向量的夹角θ,得到短轴Y在第i个插补周期内对应的脉冲数为nyi=nxi.tanθ,推知:从而可以计算出长轴的第i个插补周期为:
其中,C为对应插补周期常量,基于长轴的对应的插补周期Txi,
由于Vyi取值为整数,所以在对应的周期内会存在偏差ΔTyi,即:
ΔTyi=Txi-Vyi.nyi(13)
根据公式(13)可以由上一个周期差值得到短轴的下一个插补周期:
因此计算得到长短轴的插补周期为Txi、
本申请提供的商标模切机高精度联动插补的方法,对于各轴的运行速度的设定实际上是根据各个轴的插补周期得到各个轴的脉冲周期参数的设定。为了满足模切机的高速、高精度切割,需要进行合理的柔性加减速控制,利用速度回溯法并根据运动距离自适应修改加速度完成速度前瞻规划,解决了商标模切机的过切问题。同时考虑到模切机的长短轴同步运动,将两轴同步时间误差控制在一个脉冲周期内,参考长轴的插补周期得到短轴的插补周期,并将短轴的插补周期进行分解,将短轴脉冲数取整后产生的插补周期差值迭代到短轴的下一次插补周期中进行回补。计算过程中从第一个插补周期开始计算,依此类推后面插补周期内的脉冲数与脉冲周期,并控制主从双轴进行同步运行完成插补操作。
附图说明
图1为本申请的商标模切机高精度联动插补的方法流程图;
图2为本申请以回溯法计算进给速度的示意图;
图3为本申请确定拐点处的最大约束速度的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
其中一个实施例中,提供一种商标模切机高精度联动插补的方法,可有效解决了商标模切机的过切问题。
如图1所示,本实施例中的商标模切机高精度联动插补的方法,包括以下步骤:
步骤1、获取原始加工轨迹曲线进行粗插补操作,得到粗插补参数。
粗插补操作主要用于将原始加工轨迹曲线离散成微直线段,并完成这些微直线段的轨迹规划,在粗插补阶段主要是提前确定轴的运动方向,以及任意两点之间的距离,基于此可以得出整个运动过程中的任一时刻对应的位置,从而生成粗插补参数,因此粗插补参数主要包括离散后得到的微直线段以及各微直线段对应的坐标点。需要注意的是,在粗插补操作中,每个插补周期里输出的不是单个脉冲,而是一个直线段(位置增量坐标值)。
一般而言粗插补操作可以由STM32控制器完成,也可以由是预先由其他控制器完成。本实施例中,粗插补操作采用完全离线进行,例如由上位机(PC机软件)完成,避免实时运算给精插补带来运算压力,并将STM32控制器作为下位机,用于获取上位机生成的粗插补参数,基于STM32控制器来实时完成精插补操作。
本实施例中的粗插补操作基于现有常规的粗插补技术实现,因此不对粗插补操作进行详细描述。但为了保证粗插补操作中生成的微直线段有效性,在一实施例中,提供了一种对微直线段有效性验证的方法如下:
步骤1.1、获取原始加工轨迹曲线离散成若干段微直线段。
步骤1.2、逐一判断若干段微直线段是否有效,具体判断过程如下:
取当前待判断的微直线段的起始点为A(xa,ya),终点为B(xb,yb),因此在各个坐标轴(X轴和Y轴)上的投影坐标增量为ΔX=|xb-xa|,ΔY=|yb-ya|。
建立判断关系式如下:
[ΔX]<S&&[ΔY]<S (1)
其中,S若为精插补操作中所允许的最大步数。
若投影坐标增量ΔX、ΔY满足公式(1)的判断关系式,则为有效微直线段;否则为无效微直线段。
步骤1.3、取无效微直线段,对无线微直线段离散成若干段更小的微直线段,并重新执行步骤1.2,循环执行直至得到的所有微直线段均为有效微直线段。
二次插补算法中粗插补阶段得到一系列微直线段,即位置增量坐标值ΔX,ΔY,精插补阶段就是根据粗插补阶段得到的位置增量进行步数转换,精插补的目的就是让商标模切机在切割轨迹的起点与终点之间运行的更加精确,精插补的具体操作如步骤2所示。
步骤2、取粗插补参数中的一段微直线段进行精插补操作。
在精插补阶段,主要根据设置起跳速度、进给步长表、加速度表计算进给速度表,并进行柔性进给加减速控制,完成同步插补控制,避免商标模切机轴的震动带给标签模切的切割精度影响。
具体的,精插补操作包括以下步骤:
步骤2.1、设置起跳速度(该参数对应步进电机的起跳频率。所谓起跳频率是步进电机不经过加速,能够直接启动工作的最高频率)、进给步长表、加速度表,并计算进给速度表。
根据粗插补阶段确定的轴的运动方向,任意两点之间的距离,设置起跳速度、进给步长表和加速度表,其设置方式为插补算法中的常规操作,这里就不进一步限制设置的具体步骤。
通常进给速度表可根据起跳速度、进给步长表和加速度表计算得到。本申请考虑到进给速度表与柔性加减速控制具有较为直接的相关性,因此在一实施例中,提供柔性加减速中进给速度的一种计算方式如下,如图2所示:
步骤2.1.1、取粗插补操作得到的粗插补参数中所有微直线段的坐标点,这里的坐标是上位机处理好的曲线解析的坐标(曲线是由小线段逼近的,每一个小线段都有起点与终点),通常粗插补阶段将处理好的坐标点缓存在坐标缓冲区待用。得到坐标点后确定X,Y两轴的运动方向与距离x_Axislen、y_Axislen,其中运动方向取决于x_Axislen、y_Axislen值的正负,若x_Axislen、y_Axislen值为正则代表正向运动、为负则代表负方向运动,X,Y两轴中的长轴为max={x_Axislen,y_Axislen}、短轴为min={x_Axislen,y_Axislen},其中,x_Axislen、y_Axislen通过公式(2)给出:
其中:xnextp为下一个坐标点的横坐标,xcurrentp为当前坐标点的横坐标,ynextp为下一个坐标点的纵坐标,ycurrentp为当前坐标点的纵坐标。
步骤2.1.2、以坐标缓冲区的末端终点对应的末端Vi作为临时原点,根据公式(2)向前计算一段长度L,即按照回溯方向进行倒推:
依次类推即可以得到进给步长表L0,L1...,Li(即要发送的脉冲数)。
假设进给步长表中的线段的最大长度为Lmax,若当前点到目标点的长度为L,若L>Lmax,则需要将当前的线段L分割成更小的线段,直到L≤L max为止,当满足L≤Lmax条件时,当前的加速度需根据长度L进行动态自适应调整,假设当前的加速度为a,动态调整后的加速度为
其中,k为常数因子。需要说明的是,这里的线段L泛指一段长度为L的线段,即线段L可以是L0,L1...,Li即中的任意一段待计算的线段,与公式(2)中理解的含义相同,即公式(2)为计算线段长度的一个通用公式。
若步进电机加速到线段L的某一位设置为目标速度即为最大速度后开始匀速,并不再加减速,则按照公式(4)计算得到加速度表
首先需要确定拐点处的最大约束速度,如图3所示,假设任意三点Pi-1,Pi,Pi+1,坐标分别为(xi-1,yi-1),(xi,yi),(xi+1,yi+1),设点Pi-1到Pi点处的末速度为Ve,点pi到pi+1的起始速度Vs,两向量的夹角为Δθi,设
进一步化简得:
利用三角形余弦定理,可以得到拐弯速度变化ΔVi:
ΔVi2=|Ve|2+|Vs|2-2|Ve|*|Vs|cosΔθ (7)
利用基本不等式关系得到:
即:当且仅当Ve=Vs=Vi,ΔVi取得最小值:
根据
由公式(10)可以依次得到各个拐点处的最大值Vsysmax(n)(其中:n=1...i)。考虑到由于受线段长度的限制,导致商标模切机在实际加工过程中加减速距离不够,导致过切。因此需要对理论上的拐点速度进行修正。
若步进电机加速到线段L的某一位设置为目标速度即为最大速度后开始匀速,并不再加减速,则按照公式(4)计算得到加速度表
重复步骤2.1.1~步骤2.1.2一直推到正向(即切割方向)的末尾点速度Vi”,得到所有拐点的最终目标速度,即得到新的进给正向进给速度表V0”,V1”,...Vi”。这样可以保证商标模切机在正向切割时以合理的减速到Vi-1”最后减速到0,从而达到速度预判的目的,避免了商标模切机的过切动作。
本实施例通过速度回溯法,并根据运动距离自适应修改加速度完成速度前瞻规划,有效避免了商标模切机在正向切割过程中出现过切的问题。
步骤2.2、根据所述进给速度表计算插补周期内的脉冲数与脉冲周期,即实现轨迹插补计算(联动插补)。
在高精度联动插补中,必须解决在相同的时间片内,各个联动轴能同时以恰当的速率完成相应步数的运行,如:在此微直线段内,X轴运行50步,Y轴运行60步,那么此次时间片结束时,这两个轴必须以相应的速率同时到达相应位置,即同步。同步的核心就是位置同步,在每个脉冲周期内的速度都是恒定的,因此需要进行变周期进行插补,才能实现位置的同步。
在一实施例中,以长轴作为主轴,并将其作为参考轴,短轴为跟随轴。考虑到步进电机开环控制,脉冲周期影响着电机的转速,脉冲数影响着电机的转的实际位置,为了较好的完成短轴实时跟踪长轴,需要将X,Y两轴的同步时间误差控制在一个脉冲周期内,由参考长轴的插补周期得到短轴的插补周期,并将短轴的插补周期进行分解,将短轴脉冲数取整后产生的插补周期差值迭代到短轴的下一次插补周期中进行回补。计算过程中从第一个插补周期开始计算,依此类推后面插补周期内的脉冲数与脉冲周期。
具体的,本实施例中根据进给速度表与进给步长表计算插补周期内的脉冲数与脉冲周期,包括:
利用建立好的进给步长表l0,l1...li,计算电机在第i个插补周期内对应的脉冲个数nxi,即:nxi=li。令长轴为X轴,短轴为Y轴,根据长轴X、短轴Y与合运动向量的夹角θ,得到短轴Y在第i个插补周期内对应的脉冲数为nyi=nxi.tanθ,利用建立好在长轴的上的进给速度表V0,V1,...Vm,推知:从而可以计算出长轴的第i个插补周期为:
其中,C为对应插补周期常量,基于长轴的对应的插补周期Txi,
由于Vyi取值为整数,所以在对应的周期内会存在偏差ΔTyi,即:
ΔTyi=Txi-Vyi.nyi (13)
根据公式(13)可以由上一个周期差值得到短轴的下一个插补周期:
因此计算得到长短轴的插补周期为Txi、
本实施例考虑到模切机的长短轴同步运动,将两轴同步时间误差控制在一个脉冲周期内,参考长轴的插补周期得到短轴的插补周期,并将短轴的插补周期进行分解,将短轴脉冲数取整后产生的插补周期差值迭代到短轴的下一次插补周期中进行回补,从而实现两轴有效的同步运行。
步骤2.3、将长短轴各自对应的脉冲数与脉冲周期写入对应的缓冲区。
步骤2.4、在同步信号的作用下,根据缓冲区中的脉冲数与脉冲周期,采用队列的方式利用STM32单片机的定时器完成脉冲的发送,控制步进电机运动,从而实现对长短轴的同步控制。
步骤2.5、判断长短轴是否同时到达目标点,若长短轴到达目标点则执行步骤3;否则重新执行步骤2.2~2.5,即在进入下一个插补周期之前,控需要根据步骤2.2~2.3的加减速算法重新计算得到下一个插补周期速度来控制切割过程的柔性加减速。
步骤3、判断当前微直线段是否为最后一段微直线段,若是则完成联动插补;否则返回步骤2。
本申请的STM32控制器,在完成一段微直线段精插补之后,发出一个中断信号,通知主程序刷新参数寄存器的值(写入下一个微直线断的运行参数),启动下一个微直线段的精插补,直至完成所有微直线段的精插补操作。该方式插补速度快,实时性高。
本申请的商标模切机高精度联动插补的方法,主要是进行了两次插补,分别是粗插补与精插补。尤其在精插补阶段,主要利用柔性加减速避免商标模切机出现过切问题;以及在两轴同步上,将得到两轴在每个插补周期内对应的脉冲数与脉冲周期存入各自对应的缓冲区,在同步信号的作用下,两个轴的定时器读取各自的缓冲区,向X,Y两轴的驱动器发送脉冲与脉冲周期,即可控制电机运动,完成两轴同步运行。本申请中粗插补完全离线进行,而精插补采用实时控制,二者协调工作,实现X,Y两轴的高速、高精度同步位置控制来完成既定的插补运算。
本申请的方法可以在较为廉价的嵌入式设备上快速的实现出来,尤其在多轴运动控制器方面,较传统插补方法,能够让整个运动系统的工作效率与精度大幅度提高。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。