数据采样法圆弧插补的新算法

合集下载

一、插补及其算法 插补:是指在一条已知起点和终点的曲线上进行数

一、插补及其算法 插补:是指在一条已知起点和终点的曲线上进行数

插补: 插补:是指在一条已知起点和终点的曲线上进行 数据点的密化。 数据点的密化。 CNC系统插补功能:直线插补功能 系统插补功能: 系统插补功能 圆弧插补功能 抛物线插补功能 螺旋线插补功能
淮海工学院
8.1
插补原理
直线和圆弧插补功能插补算法: 直线和圆弧插补功能插补算法:
⑴逐点比较法直线插补的象限与坐标变换 线 G01 型 偏 差 判 别 F≥0 F<0 象 2 限 3
1
4
+X +Y
+Y - X
-X -Y
-Y +X
淮海工学院
8.1
插补原理
(2)逐点比较法圆弧插补象限与坐标变换 )
象 线 型 偏差判别 F≥0 G02 G03 F<0 F≥0 F<0 1 -Y +X -X +Y 2 +X +Y -Y -X 3 +Y -X +X -Y 限 4 -X -Y +Y +X
淮海工学院
或半闭环)CNC系统的加减速控制 二、闭环(或半闭环 闭环 或半闭环 系统的加减速控制
前加减速控制: 前加减速控制 (1)稳定速度和瞬时速度 ) (2)线性加减速处理 ①加速处理 )
②减速处理 ③终点判别处理
8.1
插补原理
图8-2 逐点比较法直线插补轨迹
淮海工学院
8.1
插补原理
2.逐点比较法圆弧插补 逐点比较法圆弧插补
(1)判别函数及判别条件 ) (2)进给方向判别 ) (3)迭代法偏差函数F的推导 )迭代法偏差函数 的推导 (4)逐点比较法圆弧插补终点判别 )
淮海工学院
8.1
插补原理
⒊ 坐标变换及自动过象限处理

数控系统圆弧数据采样插补算法

数控系统圆弧数据采样插补算法
的一 种 方 法 。 根 据 内 外 “ 差 ”割 线 法 , 对 圆 弧 均 函数 进 行 插 补 ,可 求 出 若 干 逼 近 线 段 以 实 现 圆 弧 插 补 。 由 于 逼 近 步 长 是 根 据 圆 弧 半 径 和 给 定 误 差 来确 定 的 ,故 逼近 的径 向误 差将较 小 。
K ev W or ds:CNC c Te hni e qu ;A r t nt r ol to cda a i e p a i n;Se a c nt“e qua - r o ” i e po a i od ;Rad al le r r nt r l ton m e i
e rro r



/-
图 1 切 线 方 式
2 几 种 逼 近 方 式 的 比较
在 圆 弧 插 补 时 , 一 般 可 用 3 种 方 式 , 即 切
线 方 式 、 内 接 弦 方 式 或 割 线 方 式 的 线 段 对 圆 弧 进 行 逼 近 。 现 以 6表 示 步 距 角 , e表 示 径 向 最 大 误 在 切 线情 形 ( 1 : 图 )
st ep. angl e. end- t s ep angl e, num ber of s eps or t t t f s ar quadr ant and or f endi quadr ng ant ,and num b,r ' of
st eps and t s ep. angl f w hol quadr e or e ant , i s s n ecant “e ual err q - or” i er nt pol i m ode i di cus d. T he at on , s s se c orr spondi e ng som e bas c f i orm ul as and t nt pol i ari hm e i e gi he i er at on t t c ar ven n t s paper i hi _

1--插补的基本概念、脉冲增量插补与数据采样插补的特点和区别、逐点比较法的基本原理、直线插补和圆弧插补

1--插补的基本概念、脉冲增量插补与数据采样插补的特点和区别、逐点比较法的基本原理、直线插补和圆弧插补

开始 偏差判别
坐标进给
偏差计算 到达终点? Y 结束 N
一、逐点比较法Ⅰ象限直线插补 Y 位置偏差计算 设有第一象限直线OE,起点O为坐标系原点, 终点为E(Xe,Ye),坐标系中各点坐标的单位 为脉冲当量数。 假设在直线OE附近有一个动点N(Xi,Yi), 则该点相对于轮廓OE的位置偏差,可以用轮廓终 点E的位矢和动点N的位矢与X轴的夹角正切差来 O 表示。即
Y F>0 E(Xe,Ye)
F<0
O X
综合上述讨论,有如下结论。 ① 偏差值 Fi = XeYi - XiYe ② 当 Fi ≥ 0 时,动点在直线上,或在直线上方区域,应该向 +X 方向进 给一步; ③ 当 Fi < 0 时,动点在直线下方区域,应该向 +Y 方向进给一步。
据此可设计出逐点比较法直线插补的计算流程如下。
数据采样插补算法 根据数控加工程序所要求的进给速度,按照插补周期的大小,先将零件轮 廓曲线分割为一系列首尾相接的微小直线段,然后输出这些微小直线段所对应 的位置增量数据,控制伺服系统实现坐标轴进给。 采用数据采样插补算法时,每调用一次插补程序,数控系统就计算出本插 补周期内各个坐标轴的位置增量以及各个坐标轴的目标位置。 随后伺服位置控制软件将把插补计算求得的坐标轴位置与采样获得的坐标 轴实际位置进行比较求得位置跟踪误差,然后根据当前位置误差计算出坐标轴 的进给速度并输出给驱动装置,从而驱动移动部件向减小误差的方向运动。
当前 位置 误差 实际 位置
插补模块
目标 位置
调整运算
进给 速度
驱动装置 测量元件
工作台
位置控制软件
特点: ① 每次插补运算的结果不再是某坐标轴方向上的一个脉冲,而是与各坐标 轴位置增量相对应的几个数字量。此类算法适用于以直流伺服电机或交流伺服 电机作为驱动元件的闭环或半闭环数控系统。 ② 数据采样插补程序的运行时间已不再是限制加工速度的主要因素。加工 速度的上限取决于插补精度要求以及伺服系统的动态响应特性。

DDA法圆弧插补误差分析及解决办法

DDA法圆弧插补误差分析及解决办法

4+3=
6
2
5
6<q
7<q
5 6+5= 11-8=
1 3 7+3= 10-8=
4
7
+X
-Y
5-1=4 11>q 3
1 3+1=4 10>q 2
4
3+4=
2+4=
8
1
4
7<q
6<q
4 7+4= 11-8=
4 6+4= 10-8=
9
+X 0
-Y 3
4-1=3 11>q 3
4+1=5 10>q 2
10
停止
乙tn
的时间,其积分值为 A 到 B 的坐标增量,即 xe -x0 =- t0 kyi
乙tn
dt,ye -y0 = t0 kxi dt,(Ⅲ)将式Ⅲ用累加和代替积分式得 xe -
n
n
Σ Σ x0 =- kyi Δt,ye -y0 = kxi Δt,若取 Δt 为一个脉冲时间间
i=1
i=1
n
n
Σ Σ 隔,即 Δt=1,则 xe -x0 =- kyi ,ye -y0 = kxi 由此可见,圆
对式求其在a到b区间的定积分t0和tn分别对应出发点和终点的时间其积分值为a到b的坐标增量即xex0tnt0乙kyidtyey0tnt0乙kxidt将式用累加和代替积分式得xenx0ni1kyityey0i1kxit若取t为一个脉冲时间间隔即t1则xex0ni1kyiyey0ni1kxi由此可见圆弧插补也可由两套数字积分器来实现圆弧插补被积函数为变量kxi和kyi且随着溢出脉冲而不断变化

数控系统中圆弧插补算法的改进和实现

数控系统中圆弧插补算法的改进和实现

1 数据采样法的圆弧插补算法
111 数据采样法圆弧插补算法
[2]
插补计算就其实质而言上是在一个插补周期内 , 如何快捷准确的计算出下一个插补点的进给量以及动 点坐标 。 现以插补第一象限顺圆弧 为例 , 如图 1 所 [5 ] Δ Δ 示 , 说明插补顺圆弧 时进给量 X i , Yi 以及动点坐 标 X i+1 , Yi+1 的产生与计算关系 。
组合机床与自动化加工技术
112 圆弧插补算法的改进
由圆的基本知识可知 : OM 垂直弦线 S E, 且平分该 圆弧所对应的中心角 ∠SO E, 故 ∠SO E = ∠M O E = δ 015 ,在 R Δ t S PE与 R Δ t M YM O 中 , 由于 S E ⊥ OM , S P ⊥
M YM , EP 的延长线 EYi+1 ⊥ O YM 因此 , R Δ t S PE 相似于 RΔ t M YM O

ΔX i = X i+1 ΔL 2 - X i = Yi - Xi 2 R 2R ΔL
Δ 2 Δ ΔY i = Y i+1 - Y i = - Y i L2 - X i L R 2R
插补准备阶段进行计算 , 以便准确快捷地计算进给量 。
・62・
2009 年第 7 期 113 两种算法的比较分析
R
简为
ΔX i = m Y i - nX i ΔY i = m X i + nY i
( 11 ) ( 12 )
由图 1 可得插补点 E 的坐标
X i+1 = X i +ΔX i Y i+1 = Y i - ΔY i ( 13 ) ( 14 )
且令 则
X i+1 = X i 1 Xi k

数据采样插补原理.

数据采样插补原理.

– 数据采样插补的最大进给速度不受计算机最大运算速 度的限制,而主要受圆弧弦线误差和伺服系统性能的 限制。 – 在直线插补中,插补形成的每个微小线段与给定的直 线重和,不会造成轨迹误差。但在圆弧插补中,通常 用内接弦线或内、外均差弦线来逼近圆弧,这种逼近 必然要造成轨迹误差。
(TF) eR R 8 8R
– 设指令进给速度为F,其单位为mm/min,插 补周期8ms,f的单位为μm/ms,l的单位为μm, 则:
F 1000 8 2 l f F 60 1000 15
– 无论进行直线插补还是圆弧插补,都要必须先 用上式计算出单位时间(插补周期)的进给量, 然后才能进行插补点的计算。
– 直线插补原理
数据采样插补原理
数据采样插补法又称数字增量插补法或时间标量 插补法,用在闭环、半闭环交直流伺服电机驱动 的控制系统中,插补结果输出的不是脉冲,而是 数据。计算机定时地对反馈回路采样,得到采样 数据与插补程序所产生的指令数据相比较后,以 误差信号输出,驱动伺服电动机。 数据采样插补可以划分两个阶段:粗插补和精插 补,其中粗插补是主要环节。粗插补是用微小的 直线段逼近给定的轮廓,该微小的直线段与指令 给定的速度有关,常用软件实现;精插补是在上 述微小的直线段上进行“数据点的密化”,这一 阶段其实就是对直线的脉冲增量插补,计算简单, 可以用硬件或软件实现。这种插补方法所产生的 最大速度不受计算机最大运算速度的限制,但插 补程序比较复杂。
100060100015直线插补原理直线插补原理tan圆弧插补原理圆弧插补原理圆弧插补计算就是以轮廓步长为圆弧上相邻两个圆弧插补计算就是以轮廓步长为圆弧上相邻两个插补点之间弦长由前一个插补点的坐标和圆弧半插补点之间弦长由前一个插补点的坐标和圆弧半径计算由前一插补点到后一插补点两个坐标轴的径计算由前一插补点到后一插补点两个坐标轴的进给量进给量x以第一象限顺圆圆弧为例讨论圆弧插补原理

(完整版)圆弧插补

(完整版)圆弧插补
Fi<0
Fi<0
O Fi≥0
X Fi<0 Fi≥0
2、圆弧插补的象限处理
前面的圆弧插补(顺圆、逆圆)只限于第一象限,其他 情况如图所示: Y
O
X
代入偏差函数,得Pi+1点的偏差为: Fi+1 = Fi-2Xi + 1
当Fi<0时,向+Y方向进给一步。动点由Pi(Xi,Yi) 移动到 Pi+1(Xi,Yi +1)则新动点的坐标为 Yi+1=Yi +1
代入偏差函数,得Pi+1点的偏差为:
Fi+1 = Fi + 2Yi + 1
所以,第一象限逆时针圆弧插补加工时偏差加工的递推 公式为:
6 F5= -7 +Y F6=F5+2Y5+1 =0, X6=3,Y6=4 ∑=4
7 F6=0 -X F7=F6-2X6+1 = -5, X7=2,Y7=4 ∑=3 8 F7= -5 +Y F8=F7+2Y7+1 =4, X8=2,Y8=5 ∑=2
9 F8=4 -X F9=F8-2X8+1 = 1, X9=1,Y9=5 ∑=1
若P点在圆弧上,则有 (Xi2 +Yi2 ) — (Xo2 +Yo2) = 0,我们定义偏差函数Fi为 Fi = (Xi2 +Yi2 ) — (Xo2 +Yo2 )
Y
B(Xe,Ye)
Pi(Xi,Yi)
A(Xo,Yo) O
X
可见,若Fi=0,表示动点位于圆弧上;若Fi>0,表示动 点位于圆弧外;Fi<0,表示动点位于圆弧内。
(2)进给控制
把Fi=0和若Fi>0合在一起考虑,当Fi≥0时,向-X方向进 给一步;当Fi<0时,向+Y方向进给一步。

数控加工中两种插补原理及对应算法

数控加工中两种插补原理及对应算法

数控加工中两种插补原理及对应算法数控机床上进行加工的各种工件,大部分由直线和圆弧构成。

因此,大多数数控装置都具有直线和圆弧的插补功能。

对于非圆弧曲线轮廓轨迹,可以用微小的直线段或圆弧段来拟合。

插补的任务就是要按照进给速度的要求,在轮廓起点和终点之间计算出若干中间控制点的坐标值。

由于每个中间点计算的时间直接影响数控装置的控制速度,而插补中间点的计算精度又影响整个数控系统的精度,所以插补算法对整个数控系统的性能至关重要,也就是说数控装置控制软件的核心是插补。

插补的方法和原理很多,根据数控系统输出到伺服驱动装置的信号的不同,插补方法可归纳为脉冲增量插补和数据采样插补两种类型。

一、脉冲增量插补这类插补算法是以脉冲形式输出,每次插补运算一次,最多给每一轴一个进给脉冲。

把每次插补运算产生的指令脉冲输出到伺服系统,以驱动工作台运动。

一个脉冲产生的进给轴移动量叫脉冲当量,用δ表示。

脉冲当量是脉冲分配计算的基本单位,根据加工的精度选择,普通机床取δ=0.01mm,较为精密的机床取δ=1μm或0.1μm。

插补误差不得大于一个脉冲当量。

这种方法控制精度和进给速度低,主要运用于以步进电动机为驱动装置的开环控制系统中。

二、数据采样插补数据采样插补又称时间标量插补或数字增量插补。

这类插补算法的特点是数控装置产生的不是单个脉冲,而是数字量。

插补运算分两步完成。

第一步为粗插补,它是在给定起点和终点的曲线之间插入若干个点,即用若干条微小直线段来拟合给定曲线,每一微小直线段的长度△L都相等,且与给定进给速度有关。

粗插补时每一微小直线段的长度△L与进给速度F和插补T周期有关,即△L=FT。

CNC系统数据采样插补的新算法_陈东海

CNC系统数据采样插补的新算法_陈东海

CNC 系统数据采样插补的新算法New algorithm methods of data sampling interpolation for CNC system陈东海1,牛景丽2,刘进钱1CHEN Dong-hai1, NIU Jing-li2, LIU Jin-qian1(1. 河南理工大学 机械与动力工程学院,焦作 454003 ;2. 河南工程技术学校,焦作 454000)摘 要:插补是CNC系统中重要的功能模块,插补算法的优劣直接影响着加工速度和精度。

本文论述了直线和圆弧的数据采样法的基本原理插补算法及终点判别方法。

利用圆的参数方程 ,提出了一种先计算插补点再计算进给量的新算法。

最后利用LabVIEW软件进行了插补仿真,结果表明此方法大大提高了插补的精度和速度。

关键词:数控系统;数控采样插补;终点判别;圆弧插补中图分类号:TG65 文献标识码:A 文章编号:1009-0134(2009)09-0195-040 引言插补是机床数控系统依据一定方法控制执行部件运动、进而产生零件廓型的过程。

其实质就是根据给定的进给速度和轮廓线形要求,在已知数据点之间插入一系列中间点,完成所谓的数据“密化”工作。

插补计算的任务是根据编程的进给速度F,和终点坐标值Xe、Ye计算出 Ts时间中各坐标的位移量。

这一任务由插补计算软件和伺服控制软件共同实现。

插补计算的速度和精度直接影响数控系统的性能指标。

本文就直线和圆弧的数据采样插补算法进行探讨,并提出了一种新的圆弧插补算法。

1 数据采样插补数据采样插补法是用首尾相连、长度相等的微小线段来逼进加工曲线。

这些微小线段是以时间来化分的,通常把相邻两个微小直线段的插补时间间隔称为插补周期Ts。

数控系统每Ts时间中断一次进行插补计算,计算出各坐标的位移量。

数控系统每Tc(采样周期)时间中断一次进行伺服位置控制,把插补程序的计算结果输出给硬件伺服系统,控制各坐标轴的运动。

数据采样圆弧插补算法及其应用研究

数据采样圆弧插补算法及其应用研究

线 算 法 。该 方 法根 据 用 户提 供 的 编 程 进 给 速 度 . 圆 将
弧轮 廓 曲 线按 插 补 周 期 分 割 成一 系列 微 小 直 线段 . 然
后 将 这 些 微 小 直 线 段 对 应 的 位 置 增 量 数 据 输 出 , 以 用
插 补是 由软件 实现 的 , 并且 由于算 法 中涉 及一 些 三 角 函数 和复杂 的算 术运算 , 以 , 所 大多采用 高级语 言 完 成 。而精 插补算 法 大 多采 用 脉 冲增 量 法 , 它既 可 由软件实现 也 可由硬 件 实现 , 于其相 应算 术 运算 由 比较简单 , 以软件实现 时大 多采用汇编 语言 完成 。 所
设 定
AX 。 一 S
X + Y 一 ( X + ,X 。+ ( A ) YH + AY 一 R , )
式 中 , 和 △y 均为 带 符 号数 , 3 X, , 在这 里 , X , > 0 3 ,
△ Y,< 0。 _
当 J J J J , 轴 为长轴 , 时 X < y 时 X 这
jA , X,I = C S 一 A o (卜 + 口 。 O0, t Lcs a I )



X【 】 '


¨
’一 ~

. , 厂

圆弧终 点坐标值 x 、 y 计算 出插 补周 期
了 时 间的位移 量 △ 可 由式 L
△l 一 FT s
时间 中
两坐标 的位移 量 。 设编 程的进 给速 度为 F, 刀具 每 则
计算 , 后根据 然
两坐标 的位 移量 。
相应地 , 这些数控 系统 中采 用 的插 补算 法发 生 了根

数据采样法圆弧插补运算研究

数据采样法圆弧插补运算研究

数据采样法插补运算也称时间分割法 , 该方
法是 根 据 编程 进 给速 度将 零 件 轮廓 分 割成 一 系列 采 样 周 期 的进 给 线 段 , 每间隔时 间 7 1 进 行 一 次 插
所对 的圆心 角 ;
A K为 弧 A B的切 线 , 相切 点 为 A; 弦 中点 坐标 为 t ( x … Y ); 圆 弧半 径 为 R 。若 刀具 插 补 一 个 周 期 所 需 的 时 间 为 , 进 给 速 度 为 , 则 步 长 =V T。从 图 中几何 关 系可 知 :
插补算法 : 通 过对 圆弧加 工的运算分析 推导 出不 同象限插补运算 计算公式及进 给坐标 , 同时将两种插补 运算方法作 了对 比介绍 ; 为寻求更好更精确 的插补 技术提供必要 的理论依据 。 关键 词 : 数据采样法 圆弧插补 ; 弦长代 替圆弧插 补运算 ; 误差分 析 ; 扩展 D D A法圆弧插补运算
1 6
机 电技术
2 0 1 7 年6 月
长A D。又 因为 A A… ≤L, 从 而提 高 了径 向精度 。 2 . 2 扩展 D D A法 圆弧 插 补运算 分析
图 3 内接弦线误差
△ e = 尺 一 s 等=
△口 ?
— — — — — —

音+ 普一 ( 1 0 )
设刀具在一个采样周期 T内进给速度为 ,
则 A A 川= L =V T, 过 Ⅳ 点 作 与 Y轴 平 行 的 线 段 于 M点 、 轴 于 K 点 。则 R t A NO K
1 4
机 电技术
2 0 1 7 年6 月
数 据采样法 圆弧插 补运算研究。
李双成 莫 玉梅 陈兴媚
( 广东理工学院 , 广东 肇庆 5 2 6 0 0 0 )

CNC系统逐点比较圆弧插补的新算法

CNC系统逐点比较圆弧插补的新算法

0引言机床数控系统的核心技术是插补技术[1]。

插补是机床数控系统依据一定方法控制执行部件运动、进而产生零件轮廓的过程[2]。

插补的实质是在所需路径或轮廓上的两个已知点间,根据某一数学函数确定其中多个中间点的位置坐标值。

数控系统根据这些坐标值控制执行部件运动,实现数控加工。

插补算法的优劣直接影响C N C 系统的性能指标[3]。

由于直线和圆弧是构成工件轮廓的基本线条,因此一般数控系统都具有直线和圆弧插补功能。

数控系统的插补算法可分为基准脉冲插补和数据采样插补两大类,基准脉冲插补在插补计算过程中不断地向各坐标轴发出互相协调的进给脉冲,驱动各坐标轴进给电动机的运动,一个脉冲所产生的移动量称为脉冲当量。

普通数控机床的脉冲当量为0.01m m ,精密数控机床的脉冲当量为0.001m m 或0.0005m m 。

逐点比较法是基准脉冲插补计算方法的一种。

逐点比较插补法就是每走一步(即一个脉冲当量)都要将加工点的瞬时坐标与规定的图形轨迹相比较,判断实际加工点在给定轨迹的什么位置,从而决定下一步的进给方向,这样就能得出一个非常接近规定图形的轨迹[1]。

本文在传统的逐点比较圆弧插补算法的基础上,提出一种改进算法,减少数控系统的插补次数和提高插补精度,从而提高零件圆弧轮廓的加工精度和加工速度。

1传统的逐点比较圆弧插补算法数控机床在加工圆弧轮廓时,逐点比较插补法都以圆弧的圆心为原点建立加工时的相对坐标系。

以X -Y 平面第一象限的逆时针圆弧为例,起点坐标为A(X s ,Y s ),终点坐标为B (X e ,Y e ),圆弧半径为R ,P (X i ,Y j )为加工时的动点,如图1所示,存在三种情况:图1.加工动点P 与加工圆弧轮廓的三种关系C N C 系统逐点比较圆弧插补的新算法方石银(武夷学院电子工程系,福建武夷山354300)摘要:插补技术是机床数控系统的核心技术,逐点比较圆弧插补法是圆弧轮廓的插补算法之一,其算法的优劣直接影响零件圆弧轮廓的加工精度和加工速度。

基于参数方程的数据采样圆弧插补算法

基于参数方程的数据采样圆弧插补算法
第25卷第4期 2009年8月
机械设计与研究
Machine Design and
V01.25 No.4 Aug.,2009
Research
文章编号:1006-2343(2009)04-017-03
基于参数方程的数据采样圆弧插补算法
刘进钱。明平美 (河南理工大学机械与动力工程学院,河南焦作454000,E·mail:jq398@163.eom)
(a)文中所述方法 ▲图3 插补点半径误差值亿m (b)传统方法


上面利用参数方程设计了一种简洁明了、易于编程的圆 弧插补算法,统一了不同象限圆弧的插补公式,各插补点一 定在圆弧上,保证了计算精度,同时以圆心角为中间变量,步 进角为增量,避免了复杂的三角函数运算,改变步进角的符
as
the distin—
put forward
implement
correct
end
point
discrimination for
was
special眦8.Experiments
show that
by
U-
sing the above mentioned algorithm,full circle interpolation ming and
csn can
obtained,and moreover,it Was compact for program— accumulations.In this paper,the calculation errors
be used for arbitrary
tO
arc
interpolation without
想及终点判别方法,编写插补算法如图2a所示。为进行对 比,参阅文献[4]设计了传统圆弧插补算法如图2b所示。其 中输入量有插补起点和终点的坐标、进给步长以及圆弧半 径,e代表插补点与插补终点的距离,t为循环终止的标示,当 t=1时表示循环终止。由while循环的次数i可知插补的步 数。程序中设定占l=lE—04,占2=1E—06。 从图中两种算法的比较可以直观地看出,上述算法仅在 初始化时进行一次三角函数的计算,而传统算法每次都要重 新计算,不仅增加了系统的计算量,而且容易产生误差及误 差累积;另外,上述算法简洁明了,易于编程修改,终点判别 较为全面,而传统算法的计算较为繁琐,且终点判别方法过 于简单。下面分别利用此两种方法进行逆时针圆弧插补。

关于数据采样圆弧插补算法的研究

关于数据采样圆弧插补算法的研究

广泛采用数据采样插补。文章论述了数据采样插补算法的原理,分析了数据采样插补算法中的插补周期与位置控制 周期的关系及如何选择插补周期和位置控制周期,着重阐述了数据采样圆弧插补的算法及其精度分析。 关键词:数控系统 数据采样插补 插补周期
圆弧
精度
doi:10.3969/j.issn.1007-080X.2009.05.008
由e,的表达式得到幂级数的展开式为
e,一rco
s-8。=r{1—1一一(矿8/2)2+铲+...]}o
』8矿12)4=鲁3<<l,
4f 84
由于步距角6很小.则
过前加减速控制速度变化.以及可根据被插补曲线的曲率变化 进行进给速度的自适应控制等突出优点。此外.数据采样插补 和相关的加减速控制易于用软件实现。
和Y轴的进给量血和Ay。图中弦AB是圆弧插补时每周期的
进给步长l。AP是A点切线,M是弦的中点,OMtAB,ME上 AF,E为AF的中点。由此,圆心角有下列关系:
妒f+l=tp。+6。 △AOC—APAF. £AOC=LPAF=蛾。
段长度为△£(不考虑单位),△L=巩。
插补周期对系统稳定性没有影响.但对被加工轮廓的轨迹 精度有影响:而位置控制周期对系统稳定性和轮廓误差均有影 响。因此,选择只时主要从插补精度方面考虑,而选择瓦时则 从伺服系统的稳定性和动态跟踪误差两方面考虑。 一般情况下,插补周期贮越长,插补计算误差也越大,因 此.单从减少插补计算误差角度考虑,插补周期L应尽量选得 小一些。但另一方面.E也不能太短,由于CNC系统在进行轮 廓插补控制时.其CNC装置中CPU不仅要完成插补运算,还 必须处理一些其他任务,例如位置误差计算、显示、监控、I,0处 理等,因此,瓦不单是指CPU完成插补运算所需的时间,而且 还必须留出一部分时间用于执行其他相关的CNC任务。鉴于 此,要求插补周期Z必须大于插补运算时间和完成其他相关 任务所需时间之和。为保证一定的加工精度,CNC系统数据采 样法插补周期一般不大于20ITIs.使用较多的大都在10 m8左 右。例如美国AB公司的7360CNC系统中瓦=10.24ms,德国 SIEMENS一7CNC系统中L=8 ms。但随着CPU处理速度的提 高.为了获得更高的插补精度。插补周期也会越来越小。 3数据采样圆弧插补算法 圆弧插补的基本思想是在满足精度要求的前提下.用弦或 割线进给代替圆弧进给,即用直线逼近圆弧。由于圆弧是二次

数据采样法圆弧插补的新算法(1)

数据采样法圆弧插补的新算法(1)

数据采样法圆弧插补的新算法周慧湖南工程学院机械电子工程系,湖南湘潭 411101摘要:介绍了数据采样圆弧插补的一种新型算法,阐述了这一算法的基本原理和特点,揭示了该算法的内在规律,给出了不同类型圆弧插补的计算公式,总结归纳了圆弧插补的处理方法。

据此,设计的圆弧插补计算软件具有覆盖面更广、计算更方便快捷等特点。

关键词:数据采样法;圆弧插补;内接弦线中图分类号:TP301.6 文献标识码:A 文章编号:1001-2265(2004)02-0038-03The new calculation w ay on circular interpolation of the data sampling kind methodZHOU HuiAbstract :This paper introduce the new calculation way on the data sampling circular interpolation ,and expound its base principle and different from characteristics ,reveal intrinsic law of the interpolating calculation ,give different calculation formula of circular interpolation ,and summarize it .On the basis of the circular interpolation principle ,designing put to repair to compute the soft 2ware to have cover more wide ,the calculation is more convenient and fast etc.K ey w ords :the data sampling kind method ;circular interpolation ;the inside connecting cord图1 数据采样法圆弧插补1 引言随着计算机与伺服控制技术的发展,闭环数控系统已得到广泛的应用,数据采样法就是一种适合闭环数控系统的插补算法。

一个实用的圆弧插补算法及实现

一个实用的圆弧插补算法及实现
[5, 1] 。 出几次 在本系统中还有个需要注意的问题就是安全性。转向器的 夹具固定在滑台上, 转向器装上后它仍然可以滑进和滑出, 当转 向器输出轴和输入轴与联结套筒联上后, 滑台就不应当退出, 但 是可能由于干扰或误操作可能发出了信号驱动滑台退出, 那么 就会损坏转向器。因此采取在系统中采用了互锁的措施, 即通 过行程开关进行位置检测, 当输入或输出部分处于联结状态时, 驱动滑台线路断开, 即使发出了倾动信号, 滑台也不会运动。对 扭矩传感器也采取了保护措施, 即动态检测其力矩大小, 当其值 超出设定的上限即刻停止电机转动。
"
图& 数据预处理 圆上或圆外时,2 ! 类的共同特点是:4 " 4 $,4 $ 4 %, 圆内时,2 " " " $,
结束语
本文介绍的圆弧插补功能模块的设计方法 (下转第 !’ 页)
万方数据
&/
・ 设计与研究 ・ $%%# 年第 & 期 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
! " #转化后输入到工控机。 计数 " 定时卡 采用凌华 !$% & ’()(, 检测大流量 (系 统 流 量) 、 输入轴转角、 输出轴转角和控制步进电机。计算机通过此 卡测试涡轮流量计 (大流量) 发出的脉冲的频率从而得到大流 量; 通过对编码器的计数可以得到输入轴和输出轴的转角; 通过 控制 $* & 、 方向和状态。 #+, & 和 -. & 控制步进电机的速度、 按钮信号、 行程开关 + " / 卡 采用研华 *$% & 012 " *$% & 011, 状态信号、 指示灯和电磁阀控制信号均为开关量信号, 计算机通 过 + " / 卡实现对这些开关量信号的检测和控制。 智能仪表 采集温度传感器和流量计的信号, 将其在控制面 板上动态显示, 并通过计算机 $/3 口进行通讯 ( ,4515) 使工控 机获得温度和流量两个参数的信号。 磁粉制动器控制器 采用工控机通过 $/3 (,4515) 控制输出 电流, 从而控制磁粉制动器的摩擦力。

插补算法——圆弧插补

插补算法——圆弧插补

17-6-16上午10:16H:\Matlab Do...\demo.m第 1 页,共 1 页%% 初始化clear,clcclose allwarning offfeature jit off%% 主程序% R代表所插补的圆的半径R=10;%ThetaAround代表所要插补的角度范围ThetaAround=[135,90;90,0;0,-45];;% Use_SN代表所在控制的插补方向% Use_S表示进行顺向插补 Use_N表示进行逆向插补Use_SN='Use_S';% 通过OCT_MControl函数进行插补并返回插补信息% Data是切削刀头的移动坐标数据% MovePosition是切削刀头的移动方向信息[Data,MovePosition]=OCT_MControl(ThetaAround,R,Use_SN);%% 作图,动态演示插补过程hold ongrid onaxis equalezplot(strcat('x^2+y^2=',num2str(R^2)),[-R,R]);mycomet(Data.X,Data.Y)function [Data,MovePosition]=OCT_MControl(ThetaAround,O_R,Use_SN) % 插补过程的总控制函数% 对于跨过几个象限的圆弧,程序可以分段对其每个象限圆弧进行插补Data.X=[];Data.Y=[];Data.Fm=[];% 确定插补段数for n=1:size(ThetaAround,1)% 将半径及角度信息转换为插补的起始与终止点坐标Position.X_FirstPosition=O_R*cosd(ThetaAround(n,1));Position.Y_FirstPosition=O_R*sind(ThetaAround(n,1));Position.X_EndPosition=O_R*cosd(ThetaAround(n,2));Position.Y_EndPosition=O_R*sind(ThetaAround(n,2));% 对每一象限的圆弧进行单独插补并返回数据TmpData{n,1}=OCT_GetData(OCT_Function(Position,Use_SN));% 记录移动方向信息MovePosition{n,1}=TmpData{n,1}.MovePosition;% 记录坐标及误差等数据信息Data.X=[Data.X;TmpData{n,1}.X];Data.Y=[Data.Y;TmpData{n,1}.Y];Data.Fm=[Data.X;TmpData{n,1}.Fm];endfunction mycomet(varargin)[ax,args,nargs] = axescheck(varargin{:});if nargs < 1error(message('MATLAB:narginchk:notEnoughInputs'));elseif nargs > 3error(message('MATLAB:narginchk:tooManyInputs'));endif nargs < 2, x = args{1}; y = x; x = 1:length(y); endif nargs == 2, [x,y] = deal(args{:}); endif nargs < 3, p = 0.10; endif nargs == 3, [x,y,p] = deal(args{:}); endif ~isscalar(p) || ~isreal(p) || p < 0 || p >= 1error(message('MATLAB:comet:InvalidP'));endax = newplot(ax);if ~ishold(ax)[minx,maxx] = minmax(x);[miny,maxy] = minmax(y);axis(ax,[minx maxx miny maxy])endco = get(ax,'colororder');m = length(x);k = round(p*m);if size(co,1)>=3colors = [ co(1,:);co(2,:);co(3,:)];lstyle = '-';elsecolors = repmat(co(1,:),3,1);lstyle = '--';endhead = line('parent',ax,'color',colors(1,:),'marker','o','linestyle','none', ...'xdata',x(1),'ydata',y(1),'Tag','head');body = matlab.graphics.animation.AnimatedLine('color',colors(2,:),...'linestyle',lstyle,...'Parent',ax,...'MaximumNumPoints',max(1,k),'tag','body');tail = matlab.graphics.animation.AnimatedLine('color',colors(3,:),...'linestyle','-',...'Parent',ax,...'MaximumNumPoints',1+m,'tag','tail');if ( length(x) < 2000 )updateFcn = @()drawnow;elseupdateFcn = @()drawnow('update');endfor i = 1:kpause(0.1);set(head,'xdata',x(i),'ydata',y(i));if ~( body.isvalid() )returnendaddpoints(body,x(i),y(i));updateFcn();enddrawnow;for i = k+1:mpause(0.1);set(head,'xdata',x(i),'ydata',y(i));if ~( body.isvalid() )returnendaddpoints(body,x(i),y(i));addpoints(tail,x(i-k),y(i-k));updateFcn();enddrawnow;for i = m+1:m+kpause(0.1);if ~( body.isvalid() )returnendaddpoints(tail,x(i-k),y(i-k));updateFcn();enddrawnow;endfunction [minx,maxx] = minmax(x) minx = min(x(isfinite(x)));maxx = max(x(isfinite(x)));if minx == maxxminx = maxx-1;maxx = maxx+1;endendfunction CurrentData=OCT_GetData(OriginData) % 提取插补返回信息% 因为插补返回的数据信息是进行的打包的% 所以还需要从打包的数据中把数据提取出来Tmp1=zeros(length(OriginData),4);Tmp2=[];for n=1:length(OriginData)Tmp1(n,1:3)=OriginData{n,1}.Data;Tmp2{n,1}=OriginData{n,1}.MovePosition; end% 重新构建数据CurrentData.X=Tmp1(:,1);CurrentData.Y=Tmp1(:,2);CurrentData.Fm=Tmp1(:,3);CurrentData.MovePosition=Tmp2;endfunction Message=OCT_Function(Position,Use_SN)% 对单个区间的圆弧进行插补并返回进程信息TmpData.Xm=abs(Position.X_FirstPosition);TmpData.Ym=abs(Position.Y_FirstPosition);TmpData.Fm=0;Message{1,1}.MovePosition='FirstPosition';Message{1,1}.Data=[Position.X_FirstPosition,Position.Y_FirstPosition,0]; StepNumber=abs(Position.X_FirstPosition-Position.X_EndPosition)+...abs(Position.Y_FirstPosition-Position.Y_EndPosition);switch Use_SNcase'Use_S'% 使用顺向插补的处理程序段for n=1:StepNumber% 判别所要插补的象限if Position.X_FirstPosition>=0 && Position.Y_FirstPosition>0 % SR1[TmpData,List]=OCT_SetData(OCT_ForS(TmpData,1),1);Message{n+1,1}=List;elseif Position.X_FirstPosition>0 && Position.Y_FirstPosition<=0 % SR4[TmpData,List]=OCT_SetData(OCT_ForS(TmpData,4),4);Message{n+1,1}=List;elseif Position.X_FirstPosition<0 && Position.Y_FirstPosition>=0 % SR2[TmpData,List]=OCT_SetData(OCT_ForS(TmpData,2),2);Message{n+1,1}=List;elseif Position.X_FirstPosition<=0 && Position.Y_FirstPosition<0 % SR3[TmpData,List]=OCT_SetData(OCT_ForS(TmpData,3),3);Message{n+1,1}=List;endendcase'Use_N'% 使用逆向插补的处理程序段for n=1:StepNumber% 判别所要插补的象限if Position.X_FirstPosition>0 && Position.Y_FirstPosition>=0 % NR1[TmpData,List]=OCT_SetData(OCT_ForN(TmpData,1),1);Message{n+1,1}=List;elseif Position.X_FirstPosition>=0 && Position.Y_FirstPosition<0 % NR4[TmpData,List]=OCT_SetData(OCT_ForN(TmpData,4),4);Message{n+1,1}=List;elseif Position.X_FirstPosition<=0 && Position.Y_FirstPosition>0 % NR2[TmpData,List]=OCT_SetData(OCT_ForN(TmpData,2),2);Message{n+1,1}=List;elseif Position.X_FirstPosition<0 && Position.Y_FirstPosition<=0 % NR3[TmpData,List]=OCT_SetData(OCT_ForN(TmpData,3),3);Message{n+1,1}=List;endendendendfunction [TheNowPosition,RuternMessage]=OCT_SetData(TheLastPosition,Quadrant)% 将切削信息打包返回,切削刀头坐标位置进行更新% 将上次插补的结束点坐标变为下次插补的开始点坐标TheNowPosition.Xm=TheLastPosition.NewXm;TheNowPosition.Ym=TheLastPosition.NewYm;TheNowPosition.Fm=TheLastPosition.NewFm;% 装载刀头的移动方向信息RuternMessage.MovePosition=TheLastPosition.MovePosition;% 因为插补数据中的Xm、YM信息是取了绝对值的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Yi + 1 = Yi - Δ Yi
ΔXi = m Yi - nXi Δ Yi = - ( m Xi + n Yi) Xi + 1 = Xi +Δ Xi
Yi + 1 = Yi +Δ Yi
ΔXi = - ( m Yi - nXi) Δ Yi = - ( m Xi + n Yi) Xi + 1 = Xi - ΔXi
定微小逼近直线段 ,这一步称为粗插补 。粗插补分割的对象是 整个曲线 ,所涉及的计算比较复杂 ,一般需要采用高级语言编程 来实现 。第二 ,对微小逼近直线段进行数据点的密化 ,这一步称 为精插补 。精插补分割的对象是微小直线段 ,所涉及的算法相 对简单 ,一般采用脉冲增量法插补即可 。在实际应用中 ,可采用 硬件来完成 ,也可采用汇编语言编写的软件来实现 。本文将探
公式即可。在使用时根据需要作方向数及交换 X 、Y 坐标的处理。 注意 :ΔXi 、Δ Yi 的初值始终为绝对值。粗插补可分为两步进行 :第 一 ,计算常量 ,第二 ,计算进给量与动点坐标。据此 ,可设计数据采
样圆弧插补的计算程序 ,其流程框图如图 2 所示。
214 误差分析 由图 1 可推出半径 R 、步距ΔL 以及径向最大许用误差 er
ΔXi = m Yi + nXi Δ Yi = - ( m Xi - n Yi) Xi + 1 = Xi - ΔXi
Yi + 1 = Yi - Δ Yi
表 1 展示了各类型圆弧插补公式之间的内在联系 , 它们的
变化有明显的规律 :
(1) 所有的顺圆弧插补计算公式都是 S R1 的变形公式 , 只 要对该象限的ΔXi 、Δ Yi 赋方向数 ,该象限的插补计算公式就转 变为 S R1 型计算公式 。
制系统中对象子系统的
Petri 网建模过程 。
5. 3. 1 中央控制子系统
中央控制子系统主要起
着连接和协调各子系统的作
用 ,是 嵌 入 式 A GV 控 制 系
统的核心 。它的 Petri 网模
图 4 中央控制子系统 Petri 网模型
型如图 4 。 (1) P1 中托肯表示新
到来的任务 ;
(2) 所有的逆圆弧插补计算公式都是 N R1 的变形公式 ,当 给出该象限的ΔXi 、Δ Yi 赋方向数时 ,该象限的插补计算公式就 转变为 N R1 型计算公式 。
(3) 当 X 与 Y 坐标交换后再赋方向数时 ,顺圆与逆圆的插补
计算公式就可以互换。由此可得 ,圆弧插补计算仅用 S R1 型计算
间来分割轮廓的 。因此 ,该算法又称为时间分割法 。对于数控 应 的 中 心 角
系统的精度而言 ,将微小逼近直线段作为进给量赋给坐标轴显 ∠S O E ,故
得过分粗大 ,仍需对微小逼近直线段作进一步分割 ,即在逼近直
∠S OM =
线段上插入若干个数据点进行密化 。 由此可见 ,用数据采样法插补曲线需按两步进行 :第一 ,确
∠M O E =
1δ 2
在 RtΔS PE
与 RtΔM YM O
中, 由于 SE ⊥ OM , S P ⊥
图 1 数据采样法圆弧插补
M Y M , EP 的延长线 E Yi + 1 ⊥O Y M 。
因此 , RtΔS PE∽ RtΔM YM O
讨数据采样法圆弧插补 (粗插补) 的基本原理 ,及相关的插补计
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
联立上述式 (1) ~ (4) 并解之 ,得进给量
在上述式 (7) ~ (10) 中 ,有几点值得注意 :
=ΔL
×cos(φi +
1 δ) 2
Δ Yi =ΔL ×sin ( ∠S EP)
(1)
211 插补原理
=ΔL
×sin (φi +
1 2
δ)
(2)
插补计算就其实质而言是在一个插补周期内 , 如何快捷准
在 RtΔM YM O 中 ,有
确地计算出下一个插补点的进给量以及动点坐标 。现以插补第
一象限顺圆弧为例 , 如图 1 所示 , 说明插补顺圆弧 时 进 给 量 ΔXi 、Δ Yi 以及动点坐标 Xi + 1 、Yi + 1的产生与计算关系 。
Yi + 1 = Yi +Δ Yi
ΔXi = - ( m Yi - nXi) Δ Yi = m Xi + n Yi Xi + 1 = Xi - ΔXi
Yi + 1 = Yi - Δ Yi
逆时针
ΔXi = m Yi + nXi Δ Yi = m Xi - n Yi Xi + 1 = Xi - ΔXi
Yi + 1 = Yi +Δ Yi
cos (φi +
1 δ) 2
=
O YM OM
=
sin (φi +
1 2
δ)
=
M YM OM
=
Yi -
1 2
Δ
Y
i
R2 - (Δ2L ) 2
Xi +
1 2
Δ
X
i
R2 -
(ΔL ) 2 2
(3) (4)
3 8 组合机床与自动化加工技术
F
=ΔL Ts

8 Rer = Ts
4. 5 ×105 R (mm/ min)
(13)
ΔXi = - ( m Yi + nXi) Δ Yi = - ( m Xi - n Yi) Xi + 1 = Xi +ΔXi
Yi + 1 = Yi - Δ Yi
ΔXi = - ( m Yi + nXi) Δ Yi = m Xi - n Yi Xi + 1 = Xi +ΔXi
之间的关系
(Δ2L ) 2 = R2 - ( R - er) 2
(11)
由于径向最大许用误差 er 很小 ,即 er < < 1 ,因此 , e2r →0 ,故
ΔL = 2 2 Rer - e2r ≤ 8 Rer
(12)
若假设插补周期 TS = 8ms ,进给速度 F 的单位为 mm/ min ,
径向最大许用误差 er ≤1μm ,将其代入式 (12) ,整理得
设圆弧方程为 : X2 + Y2 = R2 ,顺圆上点 E 为点 S 之后的插 补瞬时点 ,其坐标分别为 S ( Xi , Yi ) 、E ( Xi + 1 , Yi + 1) 。弦线 S E 为步距 ,其值为ΔL = FTS ( F ———进给速度 , TS ———插补周期) , 弦线 S E 对应的中心角δ为步距角 。 M 为弦线 S E 的中点 , P
Yi + 1 = Yi +Δ Yi
图 2 数据采样圆弧插补计算程序流程图 (下转第 42 页)
2 0 0 4 年 第 2 期 3 9
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
故 ∠S EP = ∠M O YM
算公式 。
2 数据采样法圆弧插补
=
∠YMOS +
∠S OM = φi +
1δ 2
在 RtΔS PE 中 ,有
数据采样法圆弧插补的基本思路是在满足加工精度的前提
ΔXi =ΔL ×cos( ∠S EP)
条件下 ,用直线代替弧线实现进给 ,即用直线逼近圆弧 。这种逼 近直线可以是圆的内接弦线 ,也可以是圆的切线或等误差割线 。 这里仅对圆的内接弦线算法加以讨论 。
The ne w calculation way on circular interpolation of the data sampl ing kind method ZHOU Hui
Abstract :This paper introduce t he new calculation way on t he data sampling circular interpolation ,and expound its base principle and different from characteristics , reveal intrinsic law of t he interpolating calculation , give different calculation formula of circular interpolation , and summarize it . On t he basis of t he circular interpolation principle , designing put to repair to compute t he soft2 ware to have cover more wide , t he calculation is more convenient and fast etc. Key words :t he data sampling kind met hod ;circular interpolation ;t he inside connecting cord
1 引言
为 直 线 SXi 与 Yi + 1 E 的交点 。
随着计算机与伺服控制技术的发展 ,闭环数控系统已得到
由圆的基本
广泛的应用 ,数据采样法就是一种适合闭环数控系统的插补算 知 识 可 知 : OM
法 。所谓数据采样法 ,就是用一系列首尾相连的微小直线段 ,逼 垂直弦线 S E , 且
相关文档
最新文档