1 / 74

第四章 软件插补

第四章 软件插补. 4.1 概述. 4.1.1 插补 ( Interpolation ). 插补:在轨迹起点和终点之间的数据密化。. 4.1.2 插补 方法. 硬件插 补:. 插补算法由专门的硬件电路实现。. 软件插补:. 插补算法由计算机中运行的软件 程序进行控制。. 脉冲增量插补:. 每走一“步”的 行程是固定的 ,每走一“步”的时间由系统控制,从而控制系统的运行速度。多用于步进电机系统中。. 数据采样插补:. 每走一“步”的 时间是固定的 ,每走一“步”的行程由系统控制,从而控制系统的运行速度。多用于伺服电机系统中。. Y. 直线方程为:.

Download Presentation

第四章 软件插补

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 软件插补

  2. 4.1 概述 4.1.1 插补(Interpolation) 插补:在轨迹起点和终点之间的数据密化。

  3. 4.1.2 插补方法 硬件插补: 插补算法由专门的硬件电路实现。 软件插补: 插补算法由计算机中运行的软件程序进行控制。 脉冲增量插补: 每走一“步”的行程是固定的,每走一“步”的时间由系统控制,从而控制系统的运行速度。多用于步进电机系统中。 数据采样插补: 每走一“步”的时间是固定的,每走一“步”的行程由系统控制,从而控制系统的运行速度。多用于伺服电机系统中。

  4. Y 直线方程为: E(Xe,Ye) A(Xa,Ya) B(Xb,Yb) O X 4.2 脉冲增量插补 4.2.1 逐点比较法 被控对象每走一步,都和规定的轨迹进行比较,由比较结果决定下一步的移动方向。 4.2.1.1 直线插补

  5. 以第一象限为例: A点在直线的上方,则 B点在直线的下方,则 取判别函数

  6. 4.2.1.1.1 计算机迭代算法 为了简化计算机的计算,特别是简化乘除操作,在早期的CNC系统中具有重要意义。 即在第一象限中: F > 0,点在直线的上方,向 + X或 -Y方向走一步; F < 0,点在直线的下方,向 + Y或 -X方向走一步; F = 0,点在直线上,同F>0 , 向 + X或 -Y方向走一步。

  7. 4.2.1.1.2 终点判别方法 • 对第一象限,每走一步判断Xi-Xe >=0并且Yi-Ye >= 0是否成立,若条件满足,证明到达终点; • 取总步数N=Xe+Ye,每走一步,N=N-1,直到N=0为止。

  8. 开始 初始化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 流程图(以第一象限为例)

  9. 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

  10. Y (Xe,Ye) 原心在原点的圆的方称为: F>0 F<0 (X0,Y0) 选判别函数 X 4.2.1.2 圆弧插补 则以第一象限逆圆为例:F>0,点在圆弧外,向-X走一步;F=0,点在圆弧上,向-X走一步; F<0,点在圆弧内,向+Y走一步。

  11. 4.2.1.2.1 计算机迭代算法

  12. 4.2.1.2.2 终点判别方法

  13. 开始 初始化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 第一象限逆圆插补流程图

  14. 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

  15. 4.2.1.3 逐点比较法插补举例 例1:直线插补

  16. 例2:圆弧插补

  17. 4.2.1.4 逐点比较法插补的特点 • 误差小于一个脉冲当量; • 运算直观,输出脉冲均匀,输出脉冲的速度变化小; • 不适用于高速度、高精度、多轴联动的场合。

  18. 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”,则

  19. Δt时间内在X,Y方向上的位移量为: Y (Xe,Ye) V Vy 设直线长度 O Vx X 对于直线有: 即 4.2.2.2 DDA直线插补

  20. 所以,各坐标轴的位移量为:

  21. 此时, 在硬件DDA电路中,若积分累加器的字长为n位,则当累加器内的数值到达2n时,就有一个溢出脉冲,终点坐标值越大(长轴),则该轴方向上溢出脉冲的速度越快,即该轴的运行速度越快。 若某轴终点坐标为m(单位为脉冲当量),则累加2n次之后,该轴方向上的溢出脉冲个数必然为m个。

  22. DDA直线硬件插补器流程: X轴被积函数Xe + ΔX X轴溢出脉冲 X轴积分累计器 Δt ΔY 插补迭代控制脉冲 Y轴积分累加器 Y轴溢出脉冲 + Y轴被积函数Ye

  23. Y V Vy ∽ P(X,Y) A Vx O X 4.2.2.3 DDA圆弧插补 图中所示第一象限逆圆

  24. 逆圆 对于n位硬件累加器,取 ,则 顺圆

  25. DDA第一象限逆圆硬件插补器流程: X轴被积函数Yi + ΔX X轴溢出脉冲-X方向 X轴积分累计器 Δt ΔY 插补迭代控制脉冲 Y轴积分累加器 Y轴溢出脉冲+Y方向 + Y轴被积函数Xi

  26. DDA第一象限逆圆硬件插补过程: • X轴被积函数初始值置Y0,Y轴被积函数初始值置X0; • X轴积分累加器溢出到-X方向,Y轴积分累加器溢出到+Y方向; • X轴方向每发出一个进给脉冲,Y轴被积函数 寄存器值减1;Y轴方向每发出一个进给脉冲,X轴被积函数 寄存器值加1; • 当其中一个轴到达终点后,该轴不再迭代, 该方向到达终点。另一个轴也到达终点时, 迭代停止,插补结束。

  27. DDA圆弧插补其他象限情况:

  28. 4.2.2.4 硬件DDA插补存在的问题及改进方法 • 加工工件的最大尺寸受累加器的字长的限制; • 因为累加器的字长固定,造成速度不均。可以使用“左移规格化”加以改善; • 长轴的脉冲先溢出,短轴的脉冲后溢出。使用“预置初值”减小加工误差。

  29. 4.2.2.5 软件DDA插补 • 随着加工程序段行程的变化而自动改变积分累加器的溢出基值,以提高脉冲发生率,稳定脉冲输出速度,并可以增大加工工件的尺寸; • 直线插补以位移量最大的坐标轴分量(长轴)为溢出基值 • 圆弧插补以半径R为溢出基值

  30. 积分累加器预置一定的初值,可以使被积函数值较小的坐标轴提前发生位置变化,从而改善加工轨迹,提高插补精度。积分累加器预置一定的初值,可以使被积函数值较小的坐标轴提前发生位置变化,从而改善加工轨迹,提高插补精度。 • 直线插补预置溢出基值(位移量最大的坐标轴分量)的一半,“四舍五入”; • 圆弧插补预置溢出基值(半径R )减1,即 R-1。

  31. 软件DDA圆弧插补举例——未置初值

  32. 软件DDA圆弧插补举例——未置初值

  33. 软件DDA圆弧插补举例——未置初值

  34. 软件DDA圆弧插补举例——未置初值

  35. 软件DDA圆弧插补举例——未置初值

  36. 软件DDA圆弧插补举例——未置初值

  37. 软件DDA圆弧插补举例——未置初值

  38. 软件DDA圆弧插补举例——未置初值

  39. 软件DDA圆弧插补举例——未置初值

  40. 软件DDA圆弧插补举例——未置初值

  41. 软件DDA圆弧插补举例——未置初值

  42. 软件DDA圆弧插补举例——未置初值

  43. 软件DDA圆弧插补举例——置初值

  44. 软件DDA圆弧插补举例——置初值

  45. 软件DDA圆弧插补举例——置初值

  46. 软件DDA圆弧插补举例——置初值

  47. 软件DDA圆弧插补举例——置初值

  48. 软件DDA圆弧插补举例——置初值

  49. 软件DDA圆弧插补举例——置初值

More Related