CN116300698A - 一种基于动态规划的螺纹切削加工方法 - Google Patents

一种基于动态规划的螺纹切削加工方法 Download PDF

Info

Publication number
CN116300698A
CN116300698A CN202310143568.8A CN202310143568A CN116300698A CN 116300698 A CN116300698 A CN 116300698A CN 202310143568 A CN202310143568 A CN 202310143568A CN 116300698 A CN116300698 A CN 116300698A
Authority
CN
China
Prior art keywords
thread
speed
deceleration
long axis
interpolation
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.)
Pending
Application number
CN202310143568.8A
Other languages
English (en)
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.)
Guangdong Yashu Intelligent Technology Co ltd
Guangdong University of Technology
Original Assignee
Guangdong Yashu Intelligent Technology Co ltd
Guangdong University of Technology
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 Guangdong Yashu Intelligent Technology Co ltd, Guangdong University of Technology filed Critical Guangdong Yashu Intelligent Technology Co ltd
Priority to CN202310143568.8A priority Critical patent/CN116300698A/zh
Publication of CN116300698A publication Critical patent/CN116300698A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34083Interpolation general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

本发明公开了一种基于动态规划的螺纹切削加工方法,提出一种重算实际切削位置再判断是否发送同步信号的切削起点方案;每个插补周期获取主轴编码器数值,并根据编码器的数值进行预处理和速度规划从而实现整个速度模型都与主轴建立联系的动态规划方式;基于动态规划方式提出的变螺距、变向螺纹的螺纹过渡补偿算法;本发明所提出的算法不仅能在主轴转速发生较大波动时平稳过渡直至再次与主轴建立预设的位置关系,还能在相同螺纹指令设置主轴转速不同时,保证刀具进入同一切入点,相较于传统的螺纹插补方式,除了稳定性、精度更高外,在实现变螺距、变向螺纹过渡的过程更加便捷高效。

Description

一种基于动态规划的螺纹切削加工方法
技术领域
本发明涉及数控加工中螺纹切削加工的技术领域,尤其涉及到一种基于动态规划的螺纹切削加工方法,可应用于各类机床如车床、车铣复合设备等。
背景技术
现有的螺纹切削技术中,插补方式大多以脉冲增量法或标准的数据采样插补法为主;相对于精度不高、进给速度受限于计算机插补速度的脉冲增量法,实现高速螺纹切削,最佳的插补方式是数据采样插补法,但螺纹插补不同于一般的直线圆弧插补,一个标准的螺纹车削速度曲线模型由加速、随动和减速三个阶段组成,整个过程都需与主轴的旋转建立联系,若使用一般的速度规划方式,只有随动阶段才能实时根据主轴编码器的数值动态运动,在保证刀具进入同一切入点上,需用较为复杂的算法补偿主轴速度的波动,否则将会出现螺纹乱扣;且在速度波动比较大的情况下,传统的速度规划方式容易出现较大的速度突跳,引起设备震动甚至设备损坏的情况,此外在进行多段连续螺纹过渡的过程中,传统的速度规划也需进行比较复杂的处理。
发明内容
本发明的目的在于克服现有技术的不足,提供一种相较于传统规划方式,稳定性、精度更高的基于动态规划的螺纹切削加工方法来实现螺纹插补,并在该基础上实现变螺距、变向螺纹的平滑过渡插补。
为实现上述目的,本发明所提供的技术方案为:
一种基于动态规划的螺纹切削加工方法,包括以下步骤:
步骤1,算法流程初始化;设定包括脉冲当量的运动平台的性能参数和主轴编码器的性能参数;从指令缓冲区中取出本次螺纹指令所规定的运动参数,并根据指令模态是否改变修改连续螺纹指令标志位;根据螺纹指令所规定的运动参数,判断运动轴的长短轴轴号和计算长短轴对应的运动参数;
步骤2,多段连续螺纹的预处理;判断指令缓冲区下一条指令是否为螺纹指令,若为螺纹指令,则对其进行连续螺纹预处理;预处理结束后或指令缓冲区下一条指令为非螺纹指令,根据步骤1的赋值结果,若为连续螺纹,跳至步骤6,否则执行下一步;
步骤3,计算实际起始切入位置;以主轴理论起始切入位置为基础,结合主轴编码器的性能参数、当前的主轴转速以及长轴对应的运动参数计算主轴实际起始切入位置,并记录该过程中长轴加速到随动阶段的规划参数;
步骤4,判断是否发送同步信号;判断当前主轴编码器的位置是否在起始切入位置的启动范围内,若不在则每个插补周期都执行步骤4,否则发送同步信号并记录启动偏差,执行下一步;
步骤5,加速阶段的运动与补偿;根据步骤3所规划的加速时间,若当前的时间节点大于加速时间直接跳至步骤8,否则以步骤3的规划参数计算长轴理论新增距离,并在该理论新增距离的基础上补偿当前时间节点主轴的脉冲波动,以及步骤4所获得的启动偏差在当前时间节点的分量,最终得到当前主轴转速下长轴应该新增的距离SDelta,计算结束后跳至步骤8;
步骤6,连续螺纹的处理;根据本次切削连续螺纹的类型,进行对应类型的处理和补偿;若为加速类型连续螺跳至步骤8;若为其他类型的连续螺纹,判断是否进行过减速段的速度规划,若已经规划执行步骤7,若未进行过速度规划则进行速度规划,并计算螺纹终点处的理想编码器数值;
步骤7,非加速类型连续螺纹的运动与补偿;根据步骤6所规划的减速时间,若当前的时间节点小于减速时间,则以规划的值作为当前主轴转速下长轴应该新增的距离SDelta,否则执行下一步;
步骤8,动态速度规划;若之前的步骤已经获得SDelta,则只计算当前主轴转速下长轴的运动速度VDelta,否则根据步骤1的参数,计算标准的SDelta;结合VDelta、SDelta、长轴对应的运动参数以及是否为连续螺纹,进行速度规划的预处理,再根据预处理后的值进行速度规划得到长轴的位移插补点;
步骤9,位移插补点的输出;将长轴规划后的结果根据步骤1所设定的脉冲当量进行圆整,再根据长短轴比例,计算短轴对应的插补点,并输出长、短轴的插补点,同时更新SPre和VCurr;若插补结束,回到步骤1,如果为连续螺纹还需根据步骤6的描述计算目标螺纹长轴对应的起始补偿值SSPComp;若插补未结束同时为非连续螺纹回到步骤5,若插补未结束同时为连续螺纹回到步骤6。
进一步地,所述步骤1中,运动平台的性能参数还包括:插补周期Tc、车床的初速度VsL、极限速度VmaxL、末速度VeL、极限加速度AccL、极限减速度DecL;主轴编码器的性能参数包括:线数Ln、倍频数N;
本次螺纹指令所规定的运动参数包括导程F、主轴转速VSpindle、短轴退尾量J、长轴退尾量K、切削起始角A;长短轴对应的运动参数包括长轴总的插补距离S、长短轴之间的比例RLS、长轴的运动方向VectorL、长轴的终点位置PEnd
进一步地,所述步骤2中,连续螺纹预处理包括:
将指令缓冲区下一条螺纹指令的导程值和长轴运动方向与当前螺纹指令做比较,进而判断连续螺纹的类型;若下一条螺纹指令在长轴运动方向相同的前提下,其导程值大于当前指令为加速类型连续螺纹,否则为减速类型连续螺纹;若下一条螺纹指令的长轴方向与当前相反则为换向类型连续螺纹;其中减速类型连续螺纹与换向类型连续螺纹,均为非加速类型连续螺纹。
进一步地,对于非加速类型连续螺纹,根据极限减速度DecL减速到目标速度VTarget所需的距离,计算长轴理想开始减速位置PIdealDec,其计算过程如下:
采用式1计算当前螺纹指令处于随动阶段的速度为VFollow
VFollow=VSpindle=F 式1
VSpindle为主轴转速,目标速度VTarget根据连续螺纹类型的不同而不同,换向类型连续螺纹其目标速度为车床规定的末速度VeL,而减速类型连续的目标速度则为下一段螺纹指令处于随动阶段的速度VFollow',采用式2、式3,计算VFollow'、VTarget
VFollow'=VSpindle=F 式2
Figure BDA0004088355690000031
基于VFollow、VTarget等采用式4、式5,计算减速距离
Figure BDA0004088355690000037
和PIdealDec
Figure BDA0004088355690000032
Figure BDA0004088355690000033
进一步地,所述步骤3包括:
设每个插补节点的脉冲增量为ΔPulse,在主轴达到额定转速后,获取M个插补周期的ΔPulse,将其平均值作为主轴实际转速VRSpinlde;采用式6计算主轴转速为VRSpinlde时,长轴的随动速度VRFollow
Figure BDA0004088355690000034
采用式7、式8、式9对长轴从起始速度VsL加速到VRFollow进行规划,得到该段的加速距离
Figure BDA0004088355690000035
和运动时间/>
Figure BDA0004088355690000036
并记录规划后的参数:
Figure BDA0004088355690000041
Figure BDA0004088355690000042
Figure BDA0004088355690000043
设长轴一开始就进入随动阶段,则
Figure BDA0004088355690000044
对应着唯一的理想主轴脉冲增量ΔSpindle,由ΔSpindle以及主轴理论起始切入位置Q,可得主轴在长轴运动/>
Figure BDA0004088355690000045
后对应的位置Q',采用式10、式11计算ΔSpindle和Q':
Figure BDA0004088355690000046
Q'=(Q+ΔSpindle)%(N×Ln) 式11
根据VRSpinlde
Figure BDA0004088355690000047
采用式12计算长轴运动/>
Figure BDA0004088355690000048
距离后,主轴的实际脉冲增量ΔSpindle':
Figure BDA0004088355690000049
由Q'和ΔSpindle'可得,若长轴想在加速阶段也达到随动的效果,则主轴的实际起始切入位置应该为Q”,采用式13计算Q”:
Q”=(Q'-ΔSpindle')%(N×Ln) 式13。
进一步地,所述步骤4包括:
设当前主轴编码器的位置为Qnow,主轴转速恒定时,单次定时中断所获取的主轴编码器增量为Delta,当启动范围大于等于Delta即可保证主轴第一次经过起始切入位置时就能发送同步信号;考虑到主轴转动时的波动,以及减少发送同步信号时因主轴实际位置与起始切入位置的不同而产生的偏差值EncodeDev,采用式14计算同步信号的启动范围区间StartRange:
StartRange=1.1=Delta 式14
其中EncodeDev的数值与主轴转速和转向有关,若EncodeDev>0说明主轴位置超前,为了保证主轴旋转一周运动轴的插补距离为F,长轴额外增加插补距离,若EncodeDev<0说明主轴位置滞后,长轴额外减少插补距离;启动偏差SComp为需要插补运动的距离,采用式15、式16计算EncodeDev、SComp:
Figure BDA00040883556900000410
Figure BDA0004088355690000051
若Qnow不在启动范围内,则每个插补周期都执行步骤4,直至位于启动范围内时发送同步信号并记录SComp
进一步地,所述步骤5的计算过程包括:
当前时间节点Tn总的插补距离为Sn,上一时间节点Tn-1总的插补距离为Sn-1,采用式17、式18计算Sn和Sn-1
Figure BDA0004088355690000052
Figure BDA0004088355690000053
将启动偏差均摊到加速阶段,且补偿当前时间节点的主轴的脉冲波动,采用
式19计算当前时间节点的总的补偿值SAllComp
Figure BDA0004088355690000054
在加速阶段,采用式20计算当前时间节点Tn用以动态规划的SDelta
SDelta=Sn-Sn-1+SAllComp式20。
进一步地,所述步骤6中,不同类型的连续螺纹的处理方案如下:
(1)加速类型连续螺纹
令当前螺纹保持步骤2所计算的随动阶段的速度VFollow到达终点,目标螺纹以VFollow作为起始速度并结合SSPComp进行动态速度规划;由于随动过程中主轴速度波动,以及速度曲线的离散化,为了保证目标螺纹长轴以VFollow作为起始速度,允许当前螺纹超过理论终点,并将超过的距离补偿至目标螺纹;设长轴超过的距离为SOver,采用式21计算SSPComp;由于SOver在当前螺纹插补结束时获得,所以在步骤9螺纹插补结束后进行式21的计算:
Figure BDA0004088355690000055
(2)减速类型连续螺纹
在长轴当前位置PNow大于等于步骤2所计算的理论减速位置PIdealDec时进行一次减速速度规划;用以减速速度规划的各类参数包括:初速度
Figure BDA0004088355690000056
末速度/>
Figure BDA0004088355690000057
极限减速度Dec';若在进行减速速度规划时PNow>PIdealDec,设规划时长轴超过PIdealDec的距离为SOverDec,采用式22计算长轴当前位置距离理论终点的实际距离SDecReal
Figure BDA0004088355690000061
设当前时间节点长轴的实际速度为VCurr,令
Figure BDA0004088355690000062
结合SDecReal,采用式23计算Dec':
Figure BDA0004088355690000063
采用式24计算减速时间
Figure BDA0004088355690000064
并对减速时间进行向上取整:
Figure BDA0004088355690000065
Figure BDA0004088355690000066
圆整后,采用式25、式26重算减速度Dec'、减速速度规划总的插补距离SPlanDec
Figure BDA0004088355690000067
Figure BDA0004088355690000068
由于随动过程中主轴速度波动,以及速度曲线的离散化,为了保证目标螺纹长轴以VFollow'作为起始速度,允许当前螺纹超过理论终点;设长轴超过理论终点的数值为ΔS,采用式27计算ΔS:
ΔS=SPlanDec-SDecReal式27
为了使多次切削同一段螺纹时不乱扣,每段螺纹终点处均计算一个理想的主轴编码器位置PIdealSpindle,以用于补偿每段螺纹在多次切削时,由于主轴转速的波动、进行减速速度规划的位置不同导致的偏差;PIdealSpindle的计算步骤如下所示:
(a)计算长轴位于PIdealDec时主轴编码器的数值Q1
在开始进行减速规划时,获取主轴编码器当前的数值Q2;由于螺纹切削在减速前,长轴位置与主轴位置存在一一对应的关系,采用式28反算长轴位于PIdealDec时主轴编码器的数值Q1
Figure BDA0004088355690000069
(b)计算理想减速时间tDecIdeal
在同段螺纹中,若减速时间不同,将会导致理想主轴编码器位置PIdealSpindle不同,所以不能使用
Figure BDA0004088355690000075
作为减速时间;采用式29计算从VFollow减速到VFollow'所需的时间作为tDecIdeal,并对该时间进行向上取整:
Figure BDA0004088355690000071
由于VFollow、V'Follow在同段螺纹中相同,所以在多次切削同段螺纹的过程中tDecIdeal相同;
(c)补偿长轴超过理论终点的距离
由步骤(a)、(b)可得螺纹长轴位于当前螺纹理论终点时,主轴编码器的理想数值;由于减速类型连续螺纹允许当前螺纹长轴超过理论终点,所以还需补偿长轴超过理论终点的数值ΔS,才能获取当前螺纹插补结束时主轴编码器的理论值PIdealSpindle;采用式30计算PIdealSpindle
Figure BDA0004088355690000072
在当前螺纹插补结束时,获取主轴编码器的实际数值PRealSpindle,采用式31计算减速类型连续螺纹的SSPComp;由于PRealSpindle在当前螺纹插补结束时获得,所以在步骤9螺纹插补结束后进行式31的计算:
Figure BDA0004088355690000073
(3)换向类型连续螺纹
该类型的连续螺纹同减速类型连续螺纹类似,令
Figure BDA0004088355690000076
后采用式22、23、24、25、26进行减速速度规划,由于换向类型连续螺纹不允许当前螺纹超过理论终点,所以采用式27计算出ΔS后,需将该值均摊至减速段,从而保证减速规划后当前螺纹在插补结束后位于理论终点;
换向类型连续螺纹也需计算,每段螺纹终点处的理想的主轴编码器位置PIdealSpindle;由于换向类型连续螺纹不允许当前螺纹超过理论终点,所以计算PIdealSpindle只需进行步骤(a)、(b),且步骤(b)采用式32计算理想减速时间tDecIdeal,最终通过式33可得换向类型连续螺纹,每段螺纹终点处的理想的主轴编码器位置PIdealSpindle
Figure BDA0004088355690000074
PIdealSpindle=Q1+tDecIdeal×VSpindle 式33。
进一步地,所述步骤7中,若减速段当前的时间节点
Figure BDA0004088355690000081
大于/>
Figure BDA0004088355690000082
说明长轴已经完成减速直接跳至步骤8,否则在该阶段之后使用动态规划算法时,当前时间节点Tn主轴转速下长轴应该新增的距离SDelta不再是通过主轴编码器获得,而是与减速规划的值有关,其计算过程如下所示:
设减速段当前时间节点为
Figure BDA0004088355690000083
时总的插补距离为/>
Figure BDA0004088355690000084
减速段上一时间节点/>
Figure BDA0004088355690000085
总的插补距离为/>
Figure BDA0004088355690000086
采用式34、式35计算/>
Figure BDA0004088355690000087
和/>
Figure BDA0004088355690000088
Figure BDA0004088355690000089
Figure BDA00040883556900000810
式中:
Figure BDA00040883556900000811
为减速规划的起始速度;
若为换向类型连续螺纹,还需将减速规划所获得的ΔS均摊至减速过程中,采用式36计算当前时间节点Tn用以动态规划的SDelta
Figure BDA00040883556900000812
进一步地,所述步骤8中,动态速度规划包括:
步骤8.1预处理,若之前的步骤已经获得SDelta,则只计算当前主轴转速下长轴的运动速度VDelta,否则还需计算标准的SDelta;根据步骤1所规定的导程F、插补周期Tc、和主轴旋转一周编码器的脉冲数N×Ln,以及当前插补时间节点Tn获得的主轴编码器的脉冲增量ΔPulse,当插补时间节点为Tn时采用式37、式38计算长轴的理论运动距离SDelta、理论运动速度VDelta
Figure BDA00040883556900000813
Figure BDA00040883556900000814
由步骤1知长轴总的插补距离为S,设当前长轴实际已经完成的总插补长度为SPre、当前位置距离终点的理论距离为SLeft;将每个插补时间节点所得的SDelta进行累加,可得到当前长轴的理论总插补长度SIdeal,若为加速类型、减速类型的连续螺纹,由步骤6的补偿可知对SIdeal的值没有限制,否则SIdeal最大为S;并由SPre可得当前插补节点Tn用于速度规划的插补长度SPlan;若目标螺纹长轴对应的起始补偿值SSPComp≠0,说明当前为连续螺纹且需要补偿上一段螺纹过渡到当前螺纹的偏差,即将SSPComp补偿至SIdeal、SPlan,补偿后SSPComp初始化为0;
点反算到当前点长轴所允许的最大速度VBCmax,并根据长轴当前时间节点的实际速度VCurr与VBCmax的大小,判断长轴所处的运动阶段,采用式39计算VBCmax
Figure BDA0004088355690000091
令Vs=VCurr,当VCurr≤VBCmax时,长轴处于加速或随动阶段;当Vcurr>
VBCmax时,长处于减速阶段,处于不同阶段时采用式40、式41重算速度规划参数Vmax、Ve
Figure BDA0004088355690000092
Figure BDA0004088355690000093
步骤8.2速度规划,根据预处理阶段所获得的参数,采用式42、式43计算加速段、减速段的位移Sa、Sd
Figure BDA0004088355690000094
Figure BDA0004088355690000095
若Sa+Sd>SPlan,说明插补距离不足以加减速,采用式44重算最大速度Vmax,再根据Vmax采用式42、式43重算Sa、Sd
Figure BDA0004088355690000096
确定Vmax、Sa、Sd后采用式45、式46、式47计算加速、匀速和减速段所对应的时间节点个数Ta、Td、Tconst
Figure BDA0004088355690000097
Figure BDA0004088355690000098
Figure BDA0004088355690000099
若Tconst≤0同时Ta<0||Td<0时,说明插补距离不足,且本次规划只有加速或减速阶段;当Vs>Ve时说明为纯加速否则为纯减速;根据Vs、Ve的大小,采用式48、式49重算Ve、Vmax后再采用式45、式46重算Ta、Td并令Tconst=0;
Figure BDA0004088355690000101
Figure BDA0004088355690000102
若Tconst>0同时Ta<0,则说明插补距离足够,但没有加速阶段;将Ta、Acc取反使加速段变减速段;
确定Ta、Td、Tconst后,为了减少不必要的加减速过程,缩短整个加工周期,将Ta、Td分别进行四舍五入取整,若时间节点个数为0,则采用式50重算Vs、Ve,若不为0则将时间节点Ta、Td复原;
Figure BDA0004088355690000103
完成Ta、Td是否为0的判断后,将Ta、Td向上取整;若Ta≠0,为了保证加速Acc不变,采用式51对Vmax进行重算:
Vmax=Acc×Ta×Tc+Vs 式51
若Td≠0,则判断Vcurr与VBCmax的大小,进行对应内容的重算;如果Vcurr>VBCmax,说明运动轴还未处于减速阶段,此时需要保证的是减速度Dec所以采用式52重算Ve,否则说明运动轴处于减速阶段,此时为了保证能顺利减速到规定速度,采用式53重算减速度Dec;
Ve=Vmax-Dec×(Td×T),Vcurr>VBCmax 式52
Figure BDA0004088355690000104
完成Ta、Td的取整以及取整后对应参数的修改,采用式54重算Tconst并对其进行向上取整,至此本次的速度规划结束,
Figure BDA0004088355690000111
与现有技术相比,本方案原理及优点如下:
本方案根据主轴转速的不同,调整实际起始切入位置使螺纹切削仅在主轴转速不同时,刀具也能进入同一切入点,弥补了经典方式使用主轴编码器零位Z信号作为切削起点的不足;所提出的动态规划速度曲线模型,可以实现整个模型都与主轴编码器建立联系,且在主轴转速发生较大波动时运动轴也能平稳过渡直至再次与主轴建立预设的位置关系,相较于传统的速度曲线模型只在螺纹插补随动阶段与主轴编码器建立联系,有更强稳定性和精度且基于动态规划所提出多段连续螺纹平滑过渡插补,在算法上的实现更加便捷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为计算实际起始切入位置的示意图;
图2为预处理步骤关键参数关系图;
图3为动态规划速度曲线模型图;
图4为螺纹轨迹线L1、L1.1、L1.2的速度曲线模型图;
图5为螺纹轨迹线L1~L3仿真图;
图6为螺纹轨迹线L1~L3仿真俯视图;
图7为螺纹轨迹线L1、L2的实物车削图;
图8为所测试的加速类型连续螺纹实物图;
图9为加速类型连续螺纹长轴的速度曲线模型图;
图10为所测试的减速类型连续螺纹实物图;
图11为减速类型连续螺纹长轴的速度曲线模型图;
图12为所测试的换向类型连续螺纹实物图;
图13为换向类型连续螺纹长轴的速度曲线模型图;
图14为所测试的螺纹丝杆实物图。
具体实施方式
下面结合具体实施例对本发明作进一步说明:
本实施例所述的一种基于动态规划的螺纹切削加工方法,包括:
步骤1,算法流程初始化
设定运动平台的性能参数和主轴编码器的性能参数;其中在本发明实施例中,运动平台的各类性能参数包括:插补周期Tc、根据运动平台的运动性能设定车床的初速度VsL、极限速度VmaxL、末速度VeL、极限加速度AccL、极限减速度DecL、脉冲当量P;主轴编码器的性能参数包括:线数Ln、倍频数N;
从指令缓冲区中取出本次螺纹指令所规定的运动参数,包括:导程F、主轴转速VSpindle(r/ms)、短轴退尾量J、长轴退尾量K、切削起始角A;
以及根据指令模态是否改变修改连续螺纹指令标志位FlagCont,若未改变其值为True,否则为False;根据螺纹指令所规定的运动参数,判断运动轴的长短轴轴号和计算长短轴对应的运动参数,其中长短轴对应的运动参数包括:长轴总的插补距离S、长短轴之间的比例(带有短轴方向的矢量)RLS、长轴的运动方向VectorL、长轴的终点位置PEnd
步骤2,多段连续螺纹的预处理
判断指令缓冲区下一条指令是否为螺纹指令,若为螺纹指令,则对其进行连续螺纹预处理,预处理的具体内容如下所示:
将指令缓冲区下一条螺纹指令的导程值和长轴运动方向与当前螺纹指令做比较,进而判断连续螺纹的类型。若为加速类型连续螺纹,由于动态规划速度曲线模型的特性,不需要做预处理处理,具体见步骤7;若为非加速类型连续螺纹,则需根据极限减速度DecL减速到目标速度VTarget所需的距离,计算长轴理想开始减速位置PIdealDec,其计算过程如下所示:
采用式1计算当前螺纹指令处于随动阶段的速度为VFollow
VFollow=VSpindle×F式1
目标速度VTarget根据连续螺纹类型的不同而不同,换向类型连续螺纹其目标速度为车床规定的末速度VeL,而减速类型连续的目标速度则为下一段螺纹指令处于随动阶段的速度VFollow',采用式2、式3,计算VFollow'、VTarget
VFollow'=VSpindle×F式2
Figure BDA0004088355690000131
基于VFollow、VTarget等采用式4、式5,计算减速距离
Figure BDA00040883556900001312
和PIdealDec预处理结束:
Figure BDA0004088355690000132
Figure BDA00040883556900001313
预处理结束后或指令缓冲区下一条指令为非螺纹指令,根据步骤1的连续螺纹指令标志位FlagCont,判断后续执行顺序。若FlagCont=True,说明为非连续螺纹或为连续螺纹的第一段,需要计算起始切入位置并发送同步信号,执行下一步,否则直接跳至步骤6。
步骤3,计算实际起始切入位置
图1为本发明计算实际起始切入位置的示意图,图中的Q'、Q”皆以主轴编码器的数值形式表示,其具体计算流程如下所示:
设每个插补节点的脉冲增量为ΔPulse,在主轴达到额定转速后,获取M个插补周期的ΔPulse,将其平均值作为主轴实际转速VRSpinlde(pulse/ms),在本数控系统中M=30;采用式6计算主轴转速为VRSpinlde时,长轴的随动速度VRFollow
Figure BDA0004088355690000133
采用式7、式8、式9对长轴从起始速度VsL加速到VRFollow进行规划,得到该段的加速距离
Figure BDA0004088355690000138
和运动时间/>
Figure BDA0004088355690000139
并记录规划后的参数:
Figure BDA0004088355690000134
Figure BDA0004088355690000135
Figure BDA0004088355690000136
假设长轴一开始就进入随动阶段,则
Figure BDA00040883556900001310
对应着唯一的理想主轴脉冲增量ΔSpindle,由ΔSpindle以及主轴理论起始切入位置Q,可得主轴在长轴运动/>
Figure BDA00040883556900001311
后对应的位置Q',采用式10、式11计算ΔSpindle和Q':
Figure BDA0004088355690000137
Q'=(Q+ΔSpindle)%(N×Ln) 式11
根据VRSpinlde
Figure BDA0004088355690000143
采用式12计算长轴运动/>
Figure BDA0004088355690000144
距离后,主轴的实际脉冲增量ΔSpindle':/>
Figure BDA0004088355690000141
由Q'和ΔSpindle'可得,若长轴想在加速阶段也达到随动的效果,则主轴的实际起始切入位置应该为Q”,采用式13计算Q”:
Q”=(Q'-ΔSpindle')%(N×Ln) 式13
步骤4,判断是否发送同步信号
设当前主轴编码器的位置为Qnow,若只在编码器的位置同起始切入位置完全一致时,才判断为发送同步信号,则需要等待非常长的时间,所以需要在起始切入位置的基础上添加启动范围。
设主轴转速恒定时,单次定时中断所获取的主轴编码器增量为Delta,当启动范围大于等于Delta即可保证主轴第一次经过起始切入位置时就能发送同步信号。考虑到主轴转动时的波动,以及减少发送同步信号时因主轴实际位置与起始切入位置的不同而产生的偏差值EncodeDev,采用式14计算同步信号的启动范围区间StartRange:
StartRange=1.1×Delta 式14
其中EncodeDev的数值与主轴转速和转向有关,若EncodeDev>0说明主轴位置超前,为了保证主轴旋转一周运动轴的插补距离为F,长轴需要额外增加插补距离,若EncodeDev<0说明主轴位置滞后,长轴需要额外减少插补距离;启动偏差SComp为需要插补运动的距离,采用式15、式16计算EncodeDev、SComp:
Figure BDA0004088355690000142
若Qnow不在启动范围内,则每个插补周期都执行步骤4,直至位于启动范围内时发送同步信号并记录SComp
步骤5,加速阶段的运动与补偿
本文的螺纹切削起点方案,在步骤3规定了长轴加速段的插补距离
Figure BDA0004088355690000145
运动时间
Figure BDA0004088355690000146
等参数,若当前的时间节点Tn大于/>
Figure BDA0004088355690000147
说明已完成理论加速阶段直接跳至步骤8,否则在该阶段使用动态规划算法时,当前时间节点Tn主轴转速下长轴应该新增的距离SDelta不再是通过主轴编码器获得,而是与螺纹切削起点方案规划的值有关,且长轴还需补偿当前时间节点主轴的脉冲波动,以及步骤4所获得的启动偏差SComp在当前时间节点的分量,计算完后跳至步骤8,其计算过程如下所示:
当前时间节点Tn总的插补距离为Sn,上一时间节点Tn-1总的插补距离为Sn-1,采用式17、式18计算Sn和Sn-1
Figure BDA0004088355690000151
将启动偏差均摊到加速阶段,且补偿当前时间节点的主轴的脉冲波动,采用式19计算当前时间节点的总的补偿值SAllComp
Figure BDA0004088355690000152
/>
所以在加速阶段,采用式20计算当前时间节点Tn用以动态规划的SDelta
SDelta=Sn-Sn-1+SAllComp式20
步骤6,连续螺纹的处理
根据本次切削连续螺纹的类型,进行对应类型的处理和补偿;若为加速类型连续螺纹跳至步骤8;若为其他类型的连续螺纹,判断是否进行过减速段的速度规划,若已经规划执行步骤7,若未进行过速度规划则进行速度规划。连续螺纹判断和具体处理如下所示:
由式1可知,长轴随动阶段的速度与导程F有关,在相同的主轴转速VSpindle下,根据前后两段螺纹指令导程值F以及运动方向不同,可以分为“加速”、“减速”、“换向”三种类型的连续螺纹。为了便于说明,将当前的螺纹指令称为“当前螺纹”,指令缓冲区下一条螺纹指令称为“目标螺纹”。为了使当前螺纹过渡到目标螺纹后,螺纹不产生乱扣,需要根据连续螺纹的类型计算目标螺纹长轴对应的起始补偿值SSPComp。由步骤8可知动态速度规划曲线模型因其记录了插补过程中主轴当前位置下运动轴对应插补距离SDelta,并将当前时间节点Tn未插补的距离保留至下一个时间Tn+1进行插补,所以只需将SSPComp放置于动态速度规划曲线模型中,即可实现按预设加减速平滑补偿该数值。不同类型的连续螺纹其具体处理方案如下所示:
(1)加速类型连续螺纹
若运动方向相同,且当前螺纹的导程值F小于目标螺纹的导程值FTarget,称之为加速类型连续螺纹。该类型的连续螺纹,只需令当前螺纹保持步骤2所计算的随动速度VFollow到达终点,目标螺纹以VFollow作为起始速度并结合SSPComp进行动态速度规划即可。由于随动过程中主轴速度波动,以及速度曲线的离散化,为了保证目标螺纹长轴以VFollow作为起始速度,允许当前螺纹超过理论终点,并将超过的距离补偿至目标螺纹。设长轴超过的距离为SOver,采用式21计算SSPComp。由于SOver在当前螺纹插补结束时获得,所以在步骤9螺纹插补结束后进行式21的计算;
Figure BDA0004088355690000161
(2)减速类型连续螺纹
若运动方向相同,且F>FTarget,称之为减速类型连续螺纹。该类型的连续螺纹,需在长轴当前位置PNow大于等于步骤2所计算的理论减速位置PIdealDec时进行一次减速速度规划。用以减速速度规划的各类参数包括:初速度
Figure BDA00040883556900001611
末速度/>
Figure BDA00040883556900001610
极限减速度Dec';其中速度单位都为mm/ms,加速度单位都为mm/ms2
若在进行减速速度规划时PNow>PIdealDec,设规划时长轴超过PIdealDec的距离为SOverDec,采用式22计算长轴当前位置距离理论终点的实际距离SDecReal
Figure BDA0004088355690000166
设当前时间节点长轴的实际速度为VCurr,令
Figure BDA0004088355690000167
结合SDecReal,采用式23计算Dec':
Figure BDA0004088355690000162
/>
采用式24计算减速时间
Figure BDA0004088355690000168
并对减速时间进行向上取整
Figure BDA0004088355690000163
Figure BDA0004088355690000169
圆整后,采用式25、式26重算减速度Dec'、减速速度规划总的插补距离SPlanDec
Figure BDA0004088355690000164
Figure BDA0004088355690000165
由于随动过程中主轴速度波动,以及速度曲线的离散化,为了保证目标螺纹长轴以VFollow'作为起始速度,允许当前螺纹超过理论终点。设长轴超过理论终点的数值为ΔS,采用式27计算ΔS:
ΔS=SPlanDec-SDecReal 式27
为了使多次切削同一段螺纹时不乱扣,每段螺纹终点处都需要计算一个理想的主轴编码器位置PIdealSpindle,以用于补偿每段螺纹在多次切削时,由于主轴转速的波动、进行减速速度规划的位置不同导致的偏差。PIdealSpindle的计算步骤如下所示:
(a)计算长轴位于PIdealDec时主轴编码器的数值Q1
在开始进行减速规划时,获取主轴编码器当前的数值Q2。由于螺纹切削在减速前,长轴位置与主轴位置存在一一对应的关系,采用式28反算长轴位于PIdealDec时主轴编码器的数值Q1
Figure BDA0004088355690000171
(b)计算理想减速时间tDecIdeal
在同段螺纹中,若减速时间不同,将会导致理想主轴编码器位置PIdealSpindle不同,所以不能使用
Figure BDA0004088355690000175
作为减速时间。采用式29计算从VFollow减速到VFollow'所需的时间作为tDecIdeal,并对该时间进行向上取整:
Figure BDA0004088355690000172
由于VFollow、V'Follow在同段螺纹中相同,所以在多次切削同段螺纹的过程中tDecIdeal相同
(c)补偿长轴超过理论终点的距离
由步骤(a)、(b)可得螺纹长轴位于当前螺纹理论终点时,主轴编码器的理想数值。由于减速类型连续螺纹允许当前螺纹长轴超过理论终点,所以还需补偿长轴超过理论终点的数值ΔS,才能获取当前螺纹插补结束时主轴编码器的理论值PIdealSpindle。采用式30计算PIdealSpindle
Figure BDA0004088355690000173
在当前螺纹插补结束时,获取主轴编码器的实际数值PRealSpindle,采用式31计算减速类型连续螺纹的SSPComp。由于PRealSpindle在当前螺纹插补结束时获得,所以在步骤9螺纹插补结束后进行式31的计算。
Figure BDA0004088355690000174
(3)换向类型连续螺纹
若运动方向相反,无论F和FTarget的数值关系如何,皆称之为换向类型连续螺纹。该类型的连续螺纹同减速类型连续螺纹类似,令
Figure BDA00040883556900001812
后采用式22、23、24、25、26进行减速速度规划,由于换向类型连续螺纹不允许当前螺纹超过理论终点,所以采用式27计算出ΔS后,需将该值均摊至减速段,从而保证减速规划后当前螺纹在插补结束后位于理论终点。
换向类型连续螺纹也需计算,每段螺纹终点处的理想的主轴编码器位置PIdealSpindle:由于换向类型连续螺纹不允许当前螺纹超过理论终点,所以计算PIdealSpindle只需进行步骤(a)、(b),且步骤(b)采用式32计算理想减速时间tDecIdeal,最终通过式33可得换向类型连续螺纹,每段螺纹终点处的理想的主轴编码器位置PIdealSpindle
Figure BDA0004088355690000181
PIdealSpindle=Q1+tDecIdeal×VSpindle 式33
由于在当前螺纹插补结束时,才能获取主轴编码器的实际数值PRealSpindle,所以同减速类型连续螺纹一致,在步骤9螺纹插补结束后进行式31的计算,获得起始补偿值SSPComp
步骤7,非加速类型连续螺纹的运动与补偿
在步骤6中已对该类型的连续螺纹进行了减速段的规划,若减速段当前的时间节点
Figure BDA0004088355690000185
大于/>
Figure BDA0004088355690000184
说明长轴已经完成减速直接跳至步骤8,否则在该阶段之后使用动态规划算法时,当前时间节点Tn主轴转速下长轴应该新增的距离SDelta不再是通过主轴编码器获得,而是与减速规划的值有关,其计算过程如下所示:
设减速段当前时间节点为
Figure BDA0004088355690000186
时总的插补距离为/>
Figure BDA0004088355690000187
减速段上一时间节点/>
Figure BDA0004088355690000188
总的插补距离为/>
Figure BDA0004088355690000189
采用式34、式35计算/>
Figure BDA00040883556900001810
和/>
Figure BDA00040883556900001811
Figure BDA0004088355690000182
Figure BDA0004088355690000183
式中:
Figure BDA00040883556900001813
为步骤6中减速规划的起始速度。/>
若为换向类型连续螺纹,还需将步骤6中减速规划所获得的ΔS均摊至减速过程中,采用式36计算当前时间节点Tn用以动态规划的SDelta
Figure BDA0004088355690000191
步骤8,动态速度规划
在本发明实施例中,用以速度规划的各类参数包括:初速度Vs、极限速度Vmax、末速度Ve、极限加速度Acc、极限减速度Dec;其中速度单位都为mm/ms,加速度单位都为mm/ms2,并用步骤1所设定车床的参数初始化上述值速度规划的值;下边对动态速度规划的两个步骤进行说明:
步骤8.1预处理,若之前的步骤已经获得SDelta,则只需计算当前主轴转速下长轴的运动速度VDelta,否则还需计算标准的SDelta。根据步骤1所规定的导程F、插补周期Tc、和主轴旋转一周编码器的脉冲数N×Ln,以及当前插补时间节点Tn获得的主轴编码器的脉冲增量ΔPulse,当插补时间节点为Tn时采用式37、式38计算长轴的理论运动距离SDelta、理论运动速度VDelta
Figure BDA0004088355690000192
Figure BDA0004088355690000193
由步骤1知长轴总的插补距离为S,设当前长轴实际已经完成的总插补长度为SPre、当前位置距离终点的理论距离为SLeft;将每个插补时间节点所得的SDelta进行累加,可得到当前长轴的理论总插补长度SIdeal,若为加速类型、减速类型的连续螺纹,由步骤6的补偿可知对SIdeal的值没有限制,否则SIdeal最大为S;并由SPre可得当前插补节点Tn用于速度规划的插补长度SPlan,以上各参数关系如图2所示。若目标螺纹长轴对应的起始补偿值SSPComp≠0,说明当前为连续螺纹且需要补偿上一段螺纹过渡到当前螺纹的偏差,即将SSPComp补偿至SIdeal、SPlan,补偿后SSPComp初始化为0。
为了确保规划的曲线能以系统参数所设定的减速度DecL减速到终点,需计算从终点反算到当前点长轴所允许的最大速度VBCmax,并根据长轴当前时间节点的实际速度VCurr与VBCmax的大小,判断长轴所处的运动阶段,采用式39计算VBCmax
Figure BDA0004088355690000194
令Vs=VCurr,当VCurr≤VBCmax时,长轴处于加速或随动阶段;当Vcurr>
VBCmax时,长处于减速阶段,处于不同阶段时采用式40、式41重算速度规划参数Vmax、Ve
Figure BDA0004088355690000201
/>
步骤8.2速度规划,一个标准的梯型加减速速度曲线模型由加速、匀速和减速组成,通常只需要进行一次规划就确定了总的时间节点个数以及不同速度阶段所对应的节点区间。而动态规划下的梯型速度曲线模型不同,无论本次规划所得的速度曲线模型由多少个时间节点ti组成,只输出第一个时间节点t1的规划内容,其余节点的插补距离累积至下一段SPlan,根据预处理所获得的参数不同,t1可能为加速、匀速或减速段。若运动轴到达终点所需的时间节点Tn个数为i,则i次速度规划所得的i个时间节点t1的规划内容组成动态规划速度曲线模型。该模型在不同速度阶段没有对应固定的节点区间,而是根据预处理所获得的规划参数,动态划分整个模型,从而实现整个速度模型都与主轴建立联系,该模型如图3所示。
速度规划的具体步骤如下所示:根据预处理阶段所获得的参数,采用式42、式43计算加速段、减速段的位移Sa、Sd
Figure BDA0004088355690000202
Figure BDA0004088355690000203
若Sa+Sd>SPlan,说明插补距离不足以加减速,需采用式44重算最大速度Vmax,再根据Vmax采用式42、式43重算Sa、Sd
Figure BDA0004088355690000204
确定了Vmax、Sa、Sd后采用式45、式46、式47计算加速、匀速和减速段所对应的时间节点个数Ta、Td、Tconst
Figure BDA0004088355690000205
Figure BDA0004088355690000206
Figure BDA0004088355690000211
若Tconst≤0同时Ta<0||Td<0时,说明插补距离不足,且本次规划只有加速或减速阶段;当Vs>Ve时说明为纯加速否则为纯减速;根据Vs、Ve的大小,采用式48、式49重算Ve、Vmax后再采用式45、式46重算Ta、Td并令Tconst=0。
Figure BDA0004088355690000212
Figure BDA0004088355690000213
若Tconst>0同时Ta<0,则说明插补距离足够,但没有加速阶段;将Ta、Acc取反使加速段变减速段。
确定了Ta、Td、Tconst后,为了减少不必要的加减速过程,缩短整个加工周期,将Ta、Td分别进行四舍五入取整,若时间节点个数为0,则采用式50重算Vs、Ve,若不为0则将时间节点Ta、Td复原;
Figure BDA0004088355690000214
完成Ta、Td是否为0的判断后,将Ta、Td向上取整。若Ta≠0,为了保证加速Acc不变,需采用式51对Vmax进行重算:Vmax=Acc×Ta×Tc+Vs 式51
若Td≠0,则需判断Vcurr与VBCmax的大小,进行对应内容的重算。如果Vcurr>VBCmax,说明运动轴还未处于减速阶段,此时需要保证的是减速度Dec所以采用式52重算Ve,否则说明运动轴处于减速阶段,此时为了保证能顺利减速到规定速度,需要采用式53重算Dec,
Ve=Vmax-Dec×(Td×T),Vcurr>VBCmax 式52
Figure BDA0004088355690000215
完成Ta、Td的取整以及取整后对应参数的修改,还需采用式54重算Tconst并对其进行向上取整,至此本次的速度规划结束。
Figure BDA0004088355690000221
步骤9,位移插补点的输出
将长轴规划后的结果根据步骤1所设定的脉冲当量P进行圆整,再根据长短轴比例RLS,计算短轴对应的插补点,并输出长、短轴的插补点,同时更新SPre和VCurr。若长轴的已插补距离SPre≥S,说明插补结束,回到步骤1,如果为连续螺纹还需根据步骤6的描述,计算目标螺纹长轴对应的起始补偿值SSPComp;若插补未结束同时为非连续螺纹回到步骤5,若插补未结束同时为连续螺纹回到步骤6;
为验证本文所提及的算法性能,按以下参数进行仿真和实物加工:插补周期Tc为1ms,设定车床的初速度VsL为200mm/min、极限速度VmaxL为25000mm/min、末速度VeL为200mm/min、极限加速度AccL为8000mm/s2、极限减速度DecL为8000mm/s2,脉冲当量P为0.001mm;设定主轴编码器的线数Ln为2500、倍频数N为4。
图4为螺纹轨迹线L1、L1.1、L1.2的速度曲线模型图,为验证动态规划模型的特性,按以下程序和本文的切削起点方案生成螺纹轨迹线L1
M3 S2000
G0 X10 Z0;
G32 Z22 F2 M30;
并以螺纹轨迹线L1的动态规划速度曲线模型作为基础,在当前时间节点为T5时设置主轴转速为3000r/min且持续五个插补周期,模拟主轴发生突跳,该状态下的速度曲线模型为L1.1。由于需要补偿启动偏差和主轴转速偏差,车床极限速度VmaxL必须大于额定主轴转速下的VDelta,否则将无法补偿运动轴额外运动的距离,造成螺纹乱扣。其中VmaxL越大,长轴跟随上主轴所需的时间越短,所以在补偿量较大时其VmaxL不能过小。若发生同L1.1一致的主轴突跳时,所设的最大速度VmaxL=4200mm/min,则该状态下的速度曲线模型为L1.2;如图4螺纹轨迹线L1、L1.1、L1.2的速度曲线模型图所示,如果VmaxL过小将需要较长的时间,长轴才能跟随上主轴进行正确的螺纹插补。
图5为螺纹轨迹线L1~L3仿真图,为验证本文切削起点方案的正确性,按L1的程序和参数做如下修改,生成螺纹轨迹线L2、L3:其中L2的主轴转速为200r/min,同L1一致使用的是本文的切削起点方案;而L3使用的是经典方案,主轴转速为2000r/min。所生成的螺纹轨迹线L1~L3如图5所示,螺纹轨迹线俯视图如图6所示。由图6易知仅在主轴转速不同时,经典方案下的螺纹已经乱扣,而本文所提出的切削起点方案在加速完成后,轨迹线重合,其前后轨迹的偏差仅不到0.001mm即不到一个脉冲的偏差。基于本项目所研发的数控系统,在该运动参数下,L1、L2的实际切削效果如图7所示,切削轨迹重合、加工表面光滑、螺纹完整无乱扣。
图8为所测试的加速类型连续螺纹实物图,为验证该类型连续螺纹的螺纹间过渡补偿算法的正确性,按以下G代码,每次切深增加0.2mm,循环4次进行切削。其长轴的速度曲线如图9所示,综合图8、图9可知使用该过渡补偿算法,螺纹过渡段光滑、螺纹完整无乱扣。
M03 S2000
G00 X23 Z5
G34 Z-25F1 R0.5
图10为所测试的减速类型连续螺纹实物图,为验证该类型连续螺纹螺纹间过渡补偿算法的正确性,按以下G代码,每次切深增加0.2mm,循环4次进行切削。其长轴的速度曲线如图11所示,综合图10、图11可知使用该过渡补偿算法,螺纹过渡段光滑、螺纹完整无乱扣。
M03 S1000
G00 X23 Z5
G34 Z-22F5 R-0.5
图12为所测试的换向类型连续螺纹实物图,为验证该类型连续螺纹螺纹间过渡补偿算法的正确性,按以下G代码,每次切深增加0.2mm,循环4次进行切削。其中切削角度Q为0时,其长轴的速度曲线如图13所示,综合图12、图13可知使用该过渡补偿算法,螺纹过渡段光滑、螺纹完整无乱扣。
M03 S100
G00 X24.3 Z6
G32 Z-24F30 Q0
G32 Z6 F30
G32 Z-24F30 Q600000
G32 Z6 F30
G32 Z-24F30 Q120000
G32 Z6 F30
G32 Z-24F30 Q180000
G32 Z6 F30
G32 Z-24F30 Q240000
G32 Z6 F30
G32 Z-24F30 Q300000
G32 Z6 F30
图14为所测试的螺纹丝杆实物图,使用软件MASTERCAM所生成的G代码进行车削,由图14可知所切削的螺纹丝杆表面光滑,螺纹完整无乱扣。
本发明方法经仿真和加工实验证明,利用该方式进行车削螺纹时,不仅能在主轴转速发生较大波动时平稳过渡直至再次与主轴建立预设的位置关系,还能在只有主轴转速不同的情况下,保证刀具进入同一切入点;相较于传统的螺纹插补方式,除了稳定性、精度更高外,在实现变螺距、变向螺纹过渡补偿的过程更加便捷高效。上述内容已应用在本数控系统中,并在使用过程中取得了较为理想的效果。此研究对于开发具有我国自主知识产权的数控系统具有较高的参考价值。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

Claims (10)

1.一种基于动态规划的螺纹切削加工方法,其特征在于,包括以下步骤:
步骤1,算法流程初始化;设定包括脉冲当量的运动平台的性能参数和主轴编码器的性能参数;从指令缓冲区中取出本次螺纹指令所规定的运动参数,并根据指令模态是否改变修改连续螺纹指令标志位;根据螺纹指令所规定的运动参数,判断运动轴的长短轴轴号和计算长短轴对应的运动参数;
步骤2,多段连续螺纹的预处理;判断指令缓冲区下一条指令是否为螺纹指令,若为螺纹指令,则对其进行连续螺纹预处理;预处理结束后或指令缓冲区下一条指令为非螺纹指令,根据步骤1的赋值结果,若为连续螺纹,跳至步骤6,否则执行下一步;
步骤3,计算实际起始切入位置;以主轴理论起始切入位置为基础,结合主轴编码器的性能参数、当前的主轴转速以及长轴对应的运动参数计算主轴实际起始切入位置,并记录该过程中长轴加速到随动阶段的规划参数;
步骤4,判断是否发送同步信号;判断当前主轴编码器的位置是否在起始切入位置的启动范围内,若不在则每个插补周期都执行步骤4,否则发送同步信号并记录启动偏差,执行下一步;
步骤5,加速阶段的运动与补偿;根据步骤3所规划的加速时间,若当前的时间节点大于加速时间直接跳至步骤8,否则以步骤3的规划参数计算长轴理论新增距离,并在该理论新增距离的基础上补偿当前时间节点主轴的脉冲波动,以及步骤4所获得的启动偏差在当前时间节点的分量,最终得到当前主轴转速下长轴应该新增的距离SDelta,计算结束后跳至步骤8;
步骤6,连续螺纹的处理;根据本次切削连续螺纹的类型,进行对应类型的处理和补偿;若为加速类型连续螺跳至步骤8;若为其他类型的连续螺纹,判断是否进行过减速段的速度规划,若已经规划执行步骤7,若未进行过速度规划则进行速度规划,并计算螺纹终点处的理想编码器数值;
步骤7,非加速类型连续螺纹的运动与补偿;根据步骤6所规划的减速时间,若当前的时间节点小于减速时间,则以规划的值作为当前主轴转速下长轴应该新增的距离SDelta,否则执行下一步;
步骤8,动态速度规划;若之前的步骤已经获得SDelta,则只计算当前主轴转速下长轴的运动速度VDelta,否则根据步骤1的参数,计算标准的SDelta;结合VDelta、SDelta、长轴对应的运动参数以及是否为连续螺纹,进行速度规划的预处理,再根据预处理后的值进行速度规划得到长轴的位移插补点;
步骤9,位移插补点的输出;将长轴规划后的结果根据步骤1所设定的脉冲当量进行圆整,再根据长短轴比例,计算短轴对应的插补点,并输出长、短轴的插补点,同时更新SPre和VCurr;若插补结束,回到步骤1,如果为连续螺纹还需根据步骤6的描述计算目标螺纹长轴对应的起始补偿值SSPComp;若插补未结束同时为非连续螺纹回到步骤5,若插补未结束同时为连续螺纹回到步骤6。
2.根据权利要求1所述的一种基于动态规划的螺纹切削加工方法,其特征在于,所述步骤1中,运动平台的性能参数还包括:插补周期Tc、车床的初速度VsL、极限速度VmaxL、末速度VeL、极限加速度AccL、极限减速度DecL;主轴编码器的性能参数包括:线数Ln、倍频数N;
本次螺纹指令所规定的运动参数包括导程F、主轴转速VSpindle、短轴退尾量J、长轴退尾量K、切削起始角A;长短轴对应的运动参数包括长轴总的插补距离S、长短轴之间的比例RLS、长轴的运动方向VectorL、长轴的终点位置PEnd
3.根据权利要求2所述的一种基于动态规划的螺纹切削加工方法,其特征在于,所述步骤2中,连续螺纹预处理包括:
将指令缓冲区下一条螺纹指令的导程值和长轴运动方向与当前螺纹指令做比较,进而判断连续螺纹的类型;若下一条螺纹指令在长轴运动方向相同的前提下,其导程值大于当前指令为加速类型连续螺纹,否则为减速类型连续螺纹;若下一条螺纹指令的长轴方向与当前相反则为换向类型连续螺纹;其中减速类型连续螺纹与换向类型连续螺纹,均为非加速类型连续螺纹。
4.根据权利要求3所述的一种基于动态规划的螺纹切削加工方法,其特征在于,对于非加速类型连续螺纹,根据极限减速度DecL减速到目标速度VTarget所需的距离,计算长轴理想开始减速位置PIdealDec,其计算过程如下:
采用式1计算当前螺纹指令处于随动阶段的速度为VFollow
VFollow=VSpindle×F式1
VSpindle为主轴转速,目标速度VTarget根据连续螺纹类型的不同而不同,换向类型连续螺纹其目标速度为车床规定的末速度VeL,而减速类型连续的目标速度则为下一段螺纹指令处于随动阶段的速度VFollow',采用式2、式3,计算VFollow'、VTarget
VFollow'=VSpindle×F式2
Figure FDA0004088355680000031
基于VFollow、VTarget等采用式4、式5,计算减速距离
Figure FDA0004088355680000032
和PIdealDec
Figure FDA0004088355680000033
Figure FDA0004088355680000034
5.根据权利要求2所述的一种基于动态规划的螺纹切削加工方法,其特征在于,所述步骤3包括:
设每个插补节点的脉冲增量为ΔPulse,在主轴达到额定转速后,获取M个插补周期的ΔPulse,将其平均值作为主轴实际转速VRSpinlde;采用式6计算主轴转速为VRSpinlde时,长轴的随动速度VRFollow
Figure FDA0004088355680000035
采用式7、式8、式9对长轴从起始速度VsL加速到VRFollow进行规划,得到该段的加速距离
Figure FDA0004088355680000041
和运动时间/>
Figure FDA0004088355680000042
并记录规划后的参数:
Figure FDA0004088355680000043
Figure FDA0004088355680000044
Figure FDA0004088355680000045
设长轴一开始就进入随动阶段,则
Figure FDA00040883556800000410
对应着唯一的理想主轴脉冲增量ΔSpindle,由ΔSpindle以及主轴理论起始切入位置Q,可得主轴在长轴运动/>
Figure FDA00040883556800000411
后对应的位置Q',采用式10、式11计算ΔSpindle和Q':
Figure FDA0004088355680000046
Q'=(Q+ΔSpindle)%(N×Ln) 式11
根据VRSpinlde
Figure FDA0004088355680000047
采用式12计算长轴运动/>
Figure FDA0004088355680000048
距离后,主轴的实际脉冲增量ΔSpindle':
Figure FDA0004088355680000049
由Q'和ΔSpindle'可得,若长轴想在加速阶段也达到随动的效果,则主轴的实际起始切入位置应该为Q”,采用式13计算Q”:
Q”=(Q'-ΔSpindle')%(N×Ln) 式13。
6.根据权利要求2所述的一种基于动态规划的螺纹切削加工方法,其特征在于,所述步骤4包括:
设当前主轴编码器的位置为Qnow,主轴转速恒定时,单次定时中断所获取的主轴编码器增量为Delta,当启动范围大于等于Delta即可保证主轴第一次经过起始切入位置时就能发送同步信号;考虑到主轴转动时的波动,以及减少发送同步信号时因主轴实际位置与起始切入位置的不同而产生的偏差值EncodeDev,采用式14计算同步信号的启动范围区间StartRange:
StartRange=1.1×Delta式14
其中EncodeDev的数值与主轴转速和转向有关,若EncodeDev>0说明主轴位置超前,为了保证主轴旋转一周运动轴的插补距离为F,长轴额外增加插补距离,若EncodeDev<0说明主轴位置滞后,长轴额外减少插补距离;启动偏差SComp为需要插补运动的距离,采用式15、式16计算EncodeDev、SComp:
Figure FDA0004088355680000051
Figure FDA0004088355680000052
若Qnow不在启动范围内,则每个插补周期都执行步骤4,直至位于启动范围内时发送同步信号并记录SComp
7.根据权利要求2所述的一种基于动态规划的螺纹切削加工方法,其特征在于,所述步骤5的计算过程包括:
当前时间节点Tn总的插补距离为Sn,上一时间节点Tn-1总的插补距离为Sn-1,采用式17、式18计算Sn和Sn-1
Figure FDA0004088355680000053
Figure FDA0004088355680000054
将启动偏差均摊到加速阶段,且补偿当前时间节点的主轴的脉冲波动,采用式19计算当前时间节点的总的补偿值SAllComp
Figure FDA0004088355680000055
在加速阶段,采用式20计算当前时间节点Tn用以动态规划的SDelta
SDelta=Sn-Sn-1+SAllComp式20。
8.根据权利要求4所述的一种基于动态规划的螺纹切削加工方法,其特征在于,所述步骤6中,不同类型的连续螺纹的处理方案如下:
(1)加速类型连续螺纹
令当前螺纹保持步骤2所计算的随动阶段的速度VFollow到达终点,目标螺纹以VFollow作为起始速度并结合SSPComp进行动态速度规划;由于随动过程中主轴速度波动,以及速度曲线的离散化,为了保证目标螺纹长轴以VFollow作为起始速度,允许当前螺纹超过理论终点,并将超过的距离补偿至目标螺纹;设长轴超过的距离为SOver,采用式21计算SSPComp;由于SOver在当前螺纹插补结束时获得,所以在步骤9螺纹插补结束后进行式21的计算:
Figure FDA0004088355680000061
(2)减速类型连续螺纹
在长轴当前位置PNow大于等于步骤2所计算的理论减速位置PIdealDec时进行一次减速速度规划;用以减速速度规划的各类参数包括:初速度
Figure FDA0004088355680000068
末速度/>
Figure FDA0004088355680000069
极限减速度Dec';若在进行减速速度规划时PNow>PIdealDec,设规划时长轴超过PIdealDec的距离为SOverDec,采用式22计算长轴当前位置距离理论终点的实际距离SDecReal
Figure FDA0004088355680000062
设当前时间节点长轴的实际速度为VCurr,令
Figure FDA0004088355680000063
结合SDecReal,采用式23计算Dec':
Figure FDA0004088355680000064
采用式24计算减速时间
Figure FDA0004088355680000065
并对减速时间进行向上取整:
Figure FDA0004088355680000066
Figure FDA0004088355680000067
圆整后,采用式25、式26重算减速度Dec'、减速速度规划总的插补距离SPlanDec
Figure FDA0004088355680000071
Figure FDA0004088355680000072
由于随动过程中主轴速度波动,以及速度曲线的离散化,为了保证目标螺纹长轴以VFollow'作为起始速度,允许当前螺纹超过理论终点;设长轴超过理论终点的数值为ΔS,采用式27计算ΔS:
ΔS=SPlanDec-SDecReal式27
为了使多次切削同一段螺纹时不乱扣,每段螺纹终点处均计算一个理想的主轴编码器位置PIdealSpindle,以用于补偿每段螺纹在多次切削时,由于主轴转速的波动、进行减速速度规划的位置不同导致的偏差;PIdealSpindle的计算步骤如下所示:
(a)计算长轴位于PIdealDec时主轴编码器的数值Q1
在开始进行减速规划时,获取主轴编码器当前的数值Q2;由于螺纹切削在减速前,长轴位置与主轴位置存在一一对应的关系,采用式28反算长轴位于PIdealDec时主轴编码器的数值Q1
Figure FDA0004088355680000073
(b)计算理想减速时间tDecIdeal
在同段螺纹中,若减速时间不同,将会导致理想主轴编码器位置PIdealSpindle不同,所以不能使用
Figure FDA0004088355680000074
作为减速时间;采用式29计算从VFollow减速到VFollow'所需的时间作为tDecIdeal,并对该时间进行向上取整:
Figure FDA0004088355680000075
由于VFollow、V'Follow在同段螺纹中相同,所以在多次切削同段螺纹的过程中tDecIdeal相同;
(c)补偿长轴超过理论终点的距离
由步骤(a)、(b)可得螺纹长轴位于当前螺纹理论终点时,主轴编码器的理想数值;由于减速类型连续螺纹允许当前螺纹长轴超过理论终点,所以还需补偿长轴超过理论终点的数值ΔS,才能获取当前螺纹插补结束时主轴编码器的理论值PIdealSpindle;采用式30计算PIdealSpindle
Figure FDA0004088355680000081
在当前螺纹插补结束时,获取主轴编码器的实际数值PRealSpindle,采用式31计算减速类型连续螺纹的SSPComp;由于PRealSpindle在当前螺纹插补结束时获得,所以在步骤9螺纹插补结束后进行式31的计算:
Figure FDA0004088355680000082
(3)换向类型连续螺纹
该类型的连续螺纹同减速类型连续螺纹类似,令
Figure FDA0004088355680000083
后采用式22、23、24、25、26进行减速速度规划,由于换向类型连续螺纹不允许当前螺纹超过理论终点,所以采用式27计算出ΔS后,需将该值均摊至减速段,从而保证减速规划后当前螺纹在插补结束后位于理论终点;
换向类型连续螺纹也需计算,每段螺纹终点处的理想的主轴编码器位置PIdealSpindle;由于换向类型连续螺纹不允许当前螺纹超过理论终点,所以计算PIdealSpindle只需进行步骤(a)、(b),且步骤(b)采用式32计算理想减速时间tDecIdeal,最终通过式33可得换向类型连续螺纹,每段螺纹终点处的理想的主轴编码器位置PIdealSpindle
Figure FDA0004088355680000084
PIdealSpindle=Q1+tDecIdeal×VSpindle 式33。
9.根据权利要求2所述的一种基于动态规划的螺纹切削加工方法,其特征在于,所述步骤7中,若减速段当前的时间节点
Figure FDA0004088355680000091
大于/>
Figure FDA0004088355680000092
说明长轴已经完成减速直接跳至步骤8,否则在该阶段之后使用动态规划算法时,当前时间节点Tn主轴转速下长轴应该新增的距离SDelta不再是通过主轴编码器获得,而是与减速规划的值有关,其计算过程如下所示:
设减速段当前时间节点为
Figure FDA0004088355680000093
时总的插补距离为/>
Figure FDA0004088355680000094
减速段上一时间节点/>
Figure FDA0004088355680000095
总的插补距离为/>
Figure FDA0004088355680000096
采用式34、式35计算/>
Figure FDA0004088355680000097
和/>
Figure FDA0004088355680000098
Figure FDA0004088355680000099
Figure FDA00040883556800000910
式中:
Figure FDA00040883556800000913
为减速规划的起始速度;
若为换向类型连续螺纹,还需将减速规划所获得的ΔS均摊至减速过程中,采用式36计算当前时间节点Tn用以动态规划的SDelta
Figure FDA00040883556800000911
10.根据权利要求2所述的一种基于动态规划的螺纹切削加工方法,其特征在于,所述步骤8中,动态速度规划包括:
步骤8.1预处理,若之前的步骤已经获得SDelta,则只计算当前主轴转速下长轴的运动速度VDelta,否则还需计算标准的SDelta;根据步骤1所规定的导程F、插补周期Tc、和主轴旋转一周编码器的脉冲数N×Ln,以及当前插补时间节点Tn获得的主轴编码器的脉冲增量ΔPulse,当插补时间节点为Tn时采用式37、式38计算长轴的理论运动距离SDelta、理论运动速度VDelta
Figure FDA00040883556800000912
Figure FDA0004088355680000101
由步骤1知长轴总的插补距离为S,设当前长轴实际已经完成的总插补长度为SPre、当前位置距离终点的理论距离为SLeft;将每个插补时间节点所得的SDelta进行累加,可得到当前长轴的理论总插补长度SIdeal,若为加速类型、减速类型的连续螺纹,由步骤6的补偿可知对SIdeal的值没有限制,否则SIdeal最大为S;并由SPre可得当前插补节点Tn用于速度规划的插补长度SPlan;若目标螺纹长轴对应的起始补偿值SSPComp≠0,说明当前为连续螺纹且需要补偿上一段螺纹过渡到当前螺纹的偏差,即将SSPComp补偿至SIdeal、SPlan,补偿后SSPComp初始化为0;
终点反算到当前点长轴所允许的最大速度VBCmax,并根据长轴当前时间节点的实际速度VCurr与VBCmax的大小,判断长轴所处的运动阶段,采用式39计算VBCmax
Figure FDA0004088355680000102
令Vs=VCurr,当VCurr≤VBCmax时,长轴处于加速或随动阶段;当Vcurr>VBCmax时,长处于减速阶段,处于不同阶段时采用式40、式41重算速度规划参数Vmax、Ve
Figure FDA0004088355680000103
Figure FDA0004088355680000104
步骤8.2速度规划,根据预处理阶段所获得的参数,采用式42、式43计算加速段、减速段的位移Sa、Sd
Figure FDA0004088355680000105
Figure FDA0004088355680000106
若Sa+Sd>SPlan,说明插补距离不足以加减速,采用式44重算最大速度Vmax,再根据Vmax采用式42、式43重算Sa、Sd
Figure FDA0004088355680000111
确定Vmax、Sa、Sd后采用式45、式46、式47计算加速、匀速和减速段所对应的时间节点个数Ta、Td、Tconst
Figure FDA0004088355680000112
Figure FDA0004088355680000113
Figure FDA0004088355680000114
若Tconst≤0同时Ta<0||Td<0时,说明插补距离不足,且本次规划只有加速或减速阶段;当Vs>Ve时说明为纯加速否则为纯减速;根据Vs、Ve的大小,采用式48、式49重算Ve、Vmax后再采用式45、式46重算Ta、Td并令Tconst=0;
Figure FDA0004088355680000115
Figure FDA0004088355680000116
若Tconst>0同时Ta<0,则说明插补距离足够,但没有加速阶段;将Ta、Acc取反使加速段变减速段;
确定Ta、Td、Tconst后,为了减少不必要的加减速过程,缩短整个加工周期,将Ta、Td分别进行四舍五入取整,若时间节点个数为0,则采用式50重算Vs、Ve,若不为0则将时间节点Ta、Td复原;
Figure FDA0004088355680000117
完成Ta、Td是否为0的判断后,将Ta、Td向上取整;若Ta≠0,为了保证加速Acc不变,采用式51对Vmax进行重算:
Vmax=Acc×Ta×Tc+Vs式51
若Td≠0,则判断Vcurr与VBCmax的大小,进行对应内容的重算;如果Vcurr>VBCmax,说明运动轴还未处于减速阶段,此时需要保证的是减速度Dec所以采用式52重算Ve,否则说明运动轴处于减速阶段,此时为了保证能顺利减速到规定速度,采用式53重算减速度Dec;
Ve=Vmax-Dec×(Td×T),Vcurr>VBCmax式52
Figure FDA0004088355680000121
完成Ta、Td的取整以及取整后对应参数的修改,采用式54重算Tconst并对其进行向上取整,至此本次的速度规划结束,
Figure FDA0004088355680000122
CN202310143568.8A 2023-02-21 2023-02-21 一种基于动态规划的螺纹切削加工方法 Pending CN116300698A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310143568.8A CN116300698A (zh) 2023-02-21 2023-02-21 一种基于动态规划的螺纹切削加工方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310143568.8A CN116300698A (zh) 2023-02-21 2023-02-21 一种基于动态规划的螺纹切削加工方法

Publications (1)

Publication Number Publication Date
CN116300698A true CN116300698A (zh) 2023-06-23

Family

ID=86825034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310143568.8A Pending CN116300698A (zh) 2023-02-21 2023-02-21 一种基于动态规划的螺纹切削加工方法

Country Status (1)

Country Link
CN (1) CN116300698A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117092966A (zh) * 2023-10-16 2023-11-21 中山迈雷特数控技术有限公司 基于EtherCAT总线的螺纹加工的控制方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117092966A (zh) * 2023-10-16 2023-11-21 中山迈雷特数控技术有限公司 基于EtherCAT总线的螺纹加工的控制方法
CN117092966B (zh) * 2023-10-16 2024-01-02 中山迈雷特数控技术有限公司 基于EtherCAT总线的螺纹加工的控制方法

Similar Documents

Publication Publication Date Title
CN106168790B (zh) 一种在线改变目标速度和位置的s形加减速控制方法
CN102540978B (zh) 面向高速加工的表面质量优先的样条曲线实时插补方法
CN107850887B (zh) S型曲线规划方法、装置及数控机床
CN105892402B (zh) 机械臂点到点运动控制方法
CN104678899B (zh) 曲线速度规划方法、装置及其数控加工路径数据处理方法
Sencer et al. High speed cornering strategy with confined contour error and vibration suppression for CNC machine tools
CN100580592C (zh) 一种基于滤波技术的数控系统加减速控制方法
CN105334805B (zh) 具有考虑插值后加减速的角路径生成功能的数值控制装置
CN1971457A (zh) 一种用于数控机床的加减速控制方法
CN101510087A (zh) 微小线段高速加工的前瞻自适应速度控制方法
CN104281099A (zh) 一种考虑加工特性的nurbs直接插补方法及装置
CN116300698A (zh) 一种基于动态规划的螺纹切削加工方法
CN109683615B (zh) 机器人连续运动的路径的速度前瞻方法及机器人控制器
CN110518848B (zh) 基于单神经元与改进粒子群算法优化双电机高速高精度同步控制方法
CN105955203A (zh) CANopen伺服系统中速度前馈和转矩前馈的处理方法
CN106020122B (zh) 基于牛顿迭代的数控轨迹控制方法
JP2007094936A (ja) 数値制御装置
CN112965443B (zh) 一种裁床拐角轨迹跟踪高精度插值控制方法
CN107844058A (zh) 一种运动曲线离散动态规划方法
CN114077226A (zh) S型曲线速度规划方法、控制终端及计算机可读存储介质
JPS63123605A (ja) タツピング加工制御装置
Zhang et al. Acceleration smoothing algorithm based on jounce limited for corner motion in high-speed machining
CN102082545B (zh) 马达速度控制器及其控制方法
CN112865750A (zh) 基于fir滤波器的数控系统倍率变化平滑控制方法及装置
CN108628259B (zh) 一种钻攻中心刚性攻丝加减速运动控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination