0 前言我们知道, 任何机械零件的加工都难免会存在误差, 丝杠也同样如此。丝杠共分 7个等级, 每个等级所表现出来的行程误差也各不相同。由于丝杠本身的加工误差以及传动时产生的误差, 在加工零件时, 便表现出来一定的行程误差。比如, 在进给过程中, 行程往往会小于所期望的行程。在机械加工过程中, 有经验的工人师傅往往凭借经验预先加上一个误差值,但是, 这是不准确的, 只适合一些精度要求不高的场合。在精密加工中, 通常要解决行程误差问题才能满足精度要求。自动控制的发展, 为解决行程误差问题带来了方便。1 行程误差曲线丝杠在划分等级时, 往往依据的是行程误差曲线, 这是出厂前经过严格测试的。它是一个随机曲图 1线, 对各个丝杠而言, 其曲线不尽相同。对同一丝杠而言, 在进给和退出的过程中, 由于和螺母的接触面不同, 所表现出来的行程误差也不相同, 大致如图 1所示。2 对行程误差的分析及解决方案一个确定的丝杠, 它在进给与退回时所表现出的行程误差基本上是不变的。我们若确知它的行程误差曲线, 则可以用拟合的方法求出它的函数表达式。每个行程误差曲线在出厂时都已绘制, 即使一个旧丝杠, 我们也可以绘出其误差曲线。比如, 我们给一个进给量, 之后再测量工件上所体现的加工行程, 则进给量与工件加工行程的差值就是对应丝杠进给量的一个误差值, 取多次不同进给量测量就可以得出行程误差曲线。假如我们确知丝杠的进给和退回时的行程误差曲线, 就可以用两个函数式表达这两条随机曲线了。由于计算机技术的发展, 数值的计算方法便有了长足的进步, 求随机曲线的函数表达式便有了一定的方法。其中, 曲线拟合 (又称函数逼近 ) 是求近似函数的一类数值方法。它尽可能地反映了曲线的基本趋势, 在某种意义下与函数最逼近。而函数值与曲线值之差称为残差。残差的大小可作为衡量近似函数好坏的标准。常用准则有以下 3种:(1) 使残差的绝对值之和最小;(2) 使残差的最大绝对值最小;(3) 使残差的平方和最小。我们常用第 3种准则。所求得的近似函数的方法称为最佳平方逼近, 也称曲线拟合的最小二乘法。常用多项式拟合。多项式拟合原理 <1>:对给定的数据组 (xi, yi) (i=1, 2, …, n),求一个m次多项式 (m
2 =F(a0,a1,…,am )为最小, 即选取参数ai(i=0, 1, …, m), 使得F(a0,a1,…,am)=∑ni=12 =min∑ni=12 Φ∈H其中Φ、H为至多m次的多项式集合。这就是数据的多项式拟合, pm (x) 称为这组数据的最小二乘m次拟合多项式。由多元函数取极值的必要条件, 得方程组F/aj=-2∑ni=1xij=0移项得∑mk=0ak(∑ni=1xik+j)=∑ni=1yixij (j=0,1,…,m)即na0+a1∑ni=1x1 +…+am∑ni=1xim=∑ni=1yia0∑ni=1xi+a1∑ni=1xi2 +a2∑ni=1xi3 +…+am∑ni=1xim+1 =∑ni=1yixi…a0∑ni=1x1m+a1∑ni=1x1m+1 +a2∑ni=1xim+2 +… +am∑ni=1xi2m=∑ni=1yixim这是最小二乘拟合多项式的系数ak(k=0, 1,…, m) 应满足的方程组, 称为正则方程组或法方程组。对上述方法举例说明如下:给出一些分布点, 求其多项式拟合的函数表达式。数据如表 1所示。表 1i 1 2 3 4 5 6 7 8 9 10 11xi-2 0 -1 6 -1 2-0 8 -0 4 0 0 4 0 8 1 2 1 6 2 0yi 2 8 2 96 2 54 3 44 3 56 5 4 6 0 8 4 9 5 13 3 15 0xi -2 -1 6 -1 2 -0 8 -0 4 Δ 0 1364 -0 2745 0 2242 -0 2672 0 3509 从此例可见, 用最小二乘拟合多项式完全可以逼近一随机曲线。如果我们用此法把丝杠的行程误差曲线用一函数式表示出来, 给定一行程后, 其误差值自然会直接得到, 那么就可以用程序实现误差补偿。但是, 从曲线的逼近过程可知, 函数的表达式和随机曲线是有误差的, 况且丝杠的行程误差曲线也存在误差, 这势必造成了所求函数的不准确性。对于这个问题, 可以用下面的方法来解决。图 2假设曲线 1是丝杠进给时的行程误差曲线, 而曲线 2是所求函数p(x)所表示的曲线。对于p(x), 我们给定任一行程, 则据函数表达式可得一误差值。通过程序, 把此误差值补偿进去, 可以减少误差。但是, 此时不可能使误差值为 0。此时需要测绘出误差补偿后的行程误差曲线。这时的误差曲线一定比以前图 3小得多, 如图 3所示。此图所反映的误差仍是实际存在的, 为了减小它, 仍可重复前面的方法, 把这条曲线的表达式求出来。例如, 已求出它的表达式为p1 (x),这样我们补偿丝杠的误差值则是p(x) 与p1 (x) 所对应的误差的和。这进一步提高了精度。此时的行程误图 4差曲线将进一步变化, 如图 4所示。再重复一次上述做法, 我们仍可得到另一函数表达式p2(x)…, 针对同一个丝杠, 它的行程误差曲线是不会有太大变化的。我们用上述方法求出p(x), p1 (x), p2 (x), …后, 把这些函数我们设二次拟合多项式为p2 (x)=a0 +a1x+a2x2 将表1数据代入上面方程组, 得正则方程组为11a0 +0+17 6a2 =72 90+17 6a1 +0=54 2417 6a0 +0+50 1248a2 =7 6173解得a0 =4 9788, a1 =3 0818, a2 =1 0303, 故所得函数为p2 (x)=4 9788+3 0818x+1 0303x2其实, 上述过程完全可以借助于Matlab工具,它对拟合多项式的处理非常简单, 使计算量大大减少。把xi= -2, -1 6, …, 2代入p2 (x) 的表达式, 可得出p2 (xi) 的值, 与yi比较, 其差值如表 2所示。2 0 0 4 0 8 1 2 1 6 2 -0 4212 0 3763 -0 2964 0 6606 -0 7528 0 2636的表达式输入程序, 那么每给一进给量, 我们都要求系统把p(x), p1 (x), p2 (x), …所对应的误差累加,求代数值, 然后补偿进去, 直至把误差减到要求的范围。对于丝杠, 由于进给与退回所表现的行程误差曲线并不相同, 我们就得针对它的两种情况分别求出它的拟合函数的表达式。方法同前。系统做误差补偿时, 首先要判断是进给还是退回, 从而选用不同的函数表达式。其次要对坐标位置进行判别, 记忆。3 对局部峰起的处理丝杠的误差曲线变化不是很大, 有利于我们通过多项式拟合的办法来进行处理, 但是也有些特殊的地方, 如局部变化很大, 或者是拟合后局部偏差更大,怎样处理呢? 我们可以采取这样的方法, 即分段处理的方法, 把特殊部位按行程单独划分出来, 之后把它单独拟合出来, 这样问题就解决了。4 结束语实际上, 数控技术的发展, 完全可以通过检测元件来测试, 把丝杠产生的误差补偿进去, 不过, 以上方法虽然是针对丝杠的行程误差, 但是, 所涉及的方法完全适合多种误差的消减, 只要能绘出误差的曲线, 我们就可以用这些类似的方法将误差减小到合理的范围。丝杠行程误差补偿技术@李丙才$兰州理工大学机电工程学院!甘肃兰州730050
@嵇海旭$兰州理工大学机电工程学院!甘肃兰州730050
@田相克$兰州理工大学机电工程学院!甘肃兰州730050 丝杠;;行程误差;;误差补偿对丝杠行程误差曲线进行分析, 用一组编值号代表不同的补偿量放在存储器中, 对丝杠行程误差进行补偿, 提高机加工精度。【1】丁立娟数值计算方法北京理工大学出版社,2000
【2】唐泽圣,周嘉玉,李新友计算机图形学基础清华大学出版社,1995
【3】吴宗泽高等机械设计清华大学出版社,1997
【4】刘惟信机械最优化设计(第二版)清华大学出版社,2000
【5】毕承恩丁乃建等现代数控机床机械工业出版社,1993
【6】游有鹏,王 珉样条曲线脉冲增量插补控制制造技术与机床,2003
【7】解旭辉超精机床数控系统与伺服控制技术研究长沙:国防科技大学,1997
【8】韩权利,马宏伟,张 斌,扬来侠开放式数控系统机械设计与制造工程,20014 9788, a1 =3 0818, a2 =1 0303, 故所得函数为p2 (x)=4 9788+3 0818x+1 0303x2其实, 上述过程完全可以借助于Matlab工具,它对拟合多项式的处理非常简单, 使计算量大大减少。把xi= -2, -1 6, …, 2代入p2 (x) 的表达式, 可得出p2 (xi) 的值, 与yi比较, 其差值如表 2所示。2 0 0 4 0 8 1 2 1 6
More abstracts about the 丝杠行程误差补偿技术