740 likes | 823 Views
第四章 软件插补. 4.1 概述. 4.1.1 插补 ( Interpolation ). 插补:在轨迹起点和终点之间的数据密化。. 4.1.2 插补 方法. 硬件插 补:. 插补算法由专门的硬件电路实现。. 软件插补:. 插补算法由计算机中运行的软件 程序进行控制。. 脉冲增量插补:. 每走一“步”的 行程是固定的 ,每走一“步”的时间由系统控制,从而控制系统的运行速度。多用于步进电机系统中。. 数据采样插补:. 每走一“步”的 时间是固定的 ,每走一“步”的行程由系统控制,从而控制系统的运行速度。多用于伺服电机系统中。. Y. 直线方程为:.
E N D
4.1 概述 4.1.1 插补(Interpolation) 插补:在轨迹起点和终点之间的数据密化。
4.1.2 插补方法 硬件插补: 插补算法由专门的硬件电路实现。 软件插补: 插补算法由计算机中运行的软件程序进行控制。 脉冲增量插补: 每走一“步”的行程是固定的,每走一“步”的时间由系统控制,从而控制系统的运行速度。多用于步进电机系统中。 数据采样插补: 每走一“步”的时间是固定的,每走一“步”的行程由系统控制,从而控制系统的运行速度。多用于伺服电机系统中。
Y 直线方程为: E(Xe,Ye) A(Xa,Ya) B(Xb,Yb) O X 4.2 脉冲增量插补 4.2.1 逐点比较法 被控对象每走一步,都和规定的轨迹进行比较,由比较结果决定下一步的移动方向。 4.2.1.1 直线插补
以第一象限为例: A点在直线的上方,则 B点在直线的下方,则 取判别函数
4.2.1.1.1 计算机迭代算法 为了简化计算机的计算,特别是简化乘除操作,在早期的CNC系统中具有重要意义。 即在第一象限中: F > 0,点在直线的上方,向 + X或 -Y方向走一步; F < 0,点在直线的下方,向 + Y或 -X方向走一步; F = 0,点在直线上,同F>0 , 向 + X或 -Y方向走一步。
4.2.1.1.2 终点判别方法 • 对第一象限,每走一步判断Xi-Xe >=0并且Yi-Ye >= 0是否成立,若条件满足,证明到达终点; • 取总步数N=Xe+Ye,每走一步,N=N-1,直到N=0为止。
开始 初始化Xe, Ye , F, N=Xe+Ye Y N +Y走一步 +X走一步 F=F+Xe F=F-Ye N = N-1 N N = 0 ? Y 结束 4.2.1.1.3 流程图(以第一象限为例)
F >= 0, -X F >= 0, +X F < 0, +Y F < 0, +Y F < 0, -Y F < 0, -Y F >= 0, -X F >= 0, +X 4.2.1.1.4 逐点比较法直线插补的其他象限情况 II Y I Xe,Ye Xe,Ye X0,Y0 X0,Y0 X0,Y0 X0,Y0 X Xe,Ye III Xe,Ye IV
Y (Xe,Ye) 原心在原点的圆的方称为: F>0 F<0 (X0,Y0) 选判别函数 X 4.2.1.2 圆弧插补 则以第一象限逆圆为例:F>0,点在圆弧外,向-X走一步;F=0,点在圆弧上,向-X走一步; F<0,点在圆弧内,向+Y走一步。
开始 初始化Xe, Ye , Xe,Ye,F=0 Y N +Y走一步 -X走一步 F=F+2Y+1 F=F-2X+1 N 插补结束? Y 结束 4.2.1.2.3 第一象限逆圆插补流程图
4.2.1.2.4 逐点比较法圆弧插补的其他象限情况 Y F≥ 0 F≥ 0 II I F< 0 F< 0 F< 0 F< 0 F≥ 0 F≥ 0 X O F≥ 0 F≥ 0 F< 0 F< 0 F< 0 F< 0 III F≥ 0 IV F≥ 0
4.2.1.3 逐点比较法插补举例 例1:直线插补
4.2.1.4 逐点比较法插补的特点 • 误差小于一个脉冲当量; • 运算直观,输出脉冲均匀,输出脉冲的速度变化小; • 不适用于高速度、高精度、多轴联动的场合。
Y Y=f(t) Yi Yi-1 Y0 t ti-1 ti 4.2.2 数字积分法DDA ——Digital Differential Analyzer 4.2.2.1 数字积分原理 函数Y=f(t)的积分 若时间间隔Δt=ti-ti-1足够小,则S离散化为: Δt取最小单位“1”,则
Δt时间内在X,Y方向上的位移量为: Y (Xe,Ye) V Vy 设直线长度 O Vx X 对于直线有: 即 4.2.2.2 DDA直线插补
则 所以,各坐标轴的位移量为:
此时, 在硬件DDA电路中,若积分累加器的字长为n位,则当累加器内的数值到达2n时,就有一个溢出脉冲,终点坐标值越大(长轴),则该轴方向上溢出脉冲的速度越快,即该轴的运行速度越快。 若某轴终点坐标为m(单位为脉冲当量),则累加2n次之后,该轴方向上的溢出脉冲个数必然为m个。
DDA直线硬件插补器流程: X轴被积函数Xe + ΔX X轴溢出脉冲 X轴积分累计器 Δt ΔY 插补迭代控制脉冲 Y轴积分累加器 Y轴溢出脉冲 + Y轴被积函数Ye
Y V Vy ∽ P(X,Y) A Vx O X 4.2.2.3 DDA圆弧插补 图中所示第一象限逆圆
逆圆 对于n位硬件累加器,取 ,则 顺圆
DDA第一象限逆圆硬件插补器流程: X轴被积函数Yi + ΔX X轴溢出脉冲-X方向 X轴积分累计器 Δt ΔY 插补迭代控制脉冲 Y轴积分累加器 Y轴溢出脉冲+Y方向 + Y轴被积函数Xi
DDA第一象限逆圆硬件插补过程: • X轴被积函数初始值置Y0,Y轴被积函数初始值置X0; • X轴积分累加器溢出到-X方向,Y轴积分累加器溢出到+Y方向; • X轴方向每发出一个进给脉冲,Y轴被积函数 寄存器值减1;Y轴方向每发出一个进给脉冲,X轴被积函数 寄存器值加1; • 当其中一个轴到达终点后,该轴不再迭代, 该方向到达终点。另一个轴也到达终点时, 迭代停止,插补结束。
4.2.2.4 硬件DDA插补存在的问题及改进方法 • 加工工件的最大尺寸受累加器的字长的限制; • 因为累加器的字长固定,造成速度不均。可以使用“左移规格化”加以改善; • 长轴的脉冲先溢出,短轴的脉冲后溢出。使用“预置初值”减小加工误差。
4.2.2.5 软件DDA插补 • 随着加工程序段行程的变化而自动改变积分累加器的溢出基值,以提高脉冲发生率,稳定脉冲输出速度,并可以增大加工工件的尺寸; • 直线插补以位移量最大的坐标轴分量(长轴)为溢出基值 • 圆弧插补以半径R为溢出基值
积分累加器预置一定的初值,可以使被积函数值较小的坐标轴提前发生位置变化,从而改善加工轨迹,提高插补精度。积分累加器预置一定的初值,可以使被积函数值较小的坐标轴提前发生位置变化,从而改善加工轨迹,提高插补精度。 • 直线插补预置溢出基值(位移量最大的坐标轴分量)的一半,“四舍五入”; • 圆弧插补预置溢出基值(半径R )减1,即 R-1。