碧波液压网 欢迎你,游客。 登录 注册

直线度误差的计算机处理

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  在机械制造过程中,经常需要对装配元件诸如机床导轨、轴类零件等进行直线度误差的测量,而且,随着现代化工业的不断发展,对测量的要求也不断提高。以往,多采用作图法对测量数据进行处理,所需时间较长,精度也受到限制。本文介绍一种用计算机处理直线度误差测量数据的方法,能有效地缩短处理时间,提高计算精度。

  一、工作原理

  本方法的工作原理是采用最小二乘法评定直线度误差。

  设最小二乘直线为

  则误差方程为

  正则方程为

  由于在实际测量中,xi是等距离采样,为了简化计算,适当选取坐标原点,使

  则

  计算B时,xi按所选取的坐标原点而定,若采样点为9,则xi的值为-4,-3,-2,-1,0,1,2,3,4。

  为了评定直线度误差,找出相对于最小二乘直线的最高点Amax和最低点Amin,它们的差即为直线度误差Δ,即

  例:用合像水平仪测量一机床导轨垂直面的直线度误差,测量器具的分度值为0.01mm/m,选用的桥板节距为200mm,则用最小二乘法评定直线度误差的过程如表1所示。

  其中,xi的值为-4,-3,-2,-1,0,1,2,3,4,

  则

  二、程序设计

  该程序是基于Windows操作系统的模态对话框(modal dialog box)应用程序,采用面向对象的程序设计(OOP ,Object Oriented Programming)模式和Visual C++、MFC (Microsoft Foundation Class-es)等工具开发,具有界面友好、易学易用等特点。

  下面,介绍该程序的关键模块ClineErrorDlg类,该类完成用最小二乘法评定直线度误差的主要过程,其结构框图如图1所示。

  ClineErrorDlg类的主要数据成员及其含义如下:

  float m Scale:测量器具的分度值

  int m Pitch:桥板节距

  int m Number:测点个数

  Cstring m Direct:顺测读数

  Cstring m Against:回测读数

  Cstring m Average:平均读数

  Cstring m Relative:相对差

  Cstring m Accu:累计值

  ClineErrorDlg类的主要成员函数及其功能如下:

  void string to data(CString & string,int a[]):

  将字符串变量转换成数值变量用于计算

  void ave value(int a[],int b[],float c[],int n):求平均读数

  void rel value(float a[],float b[],int n):求相对差

  void acc value(float a[],float b[],int n):求累计值

  void data to string(float a[],CString & string,

  int n):将数值变量转换成字符串变量用于显示

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论