直线度误差的计算机处理
在机械制造过程中,经常需要对装配元件诸如机床导轨、轴类零件等进行直线度误差的测量,而且,随着现代化工业的不断发展,对测量的要求也不断提高。以往,多采用作图法对测量数据进行处理,所需时间较长,精度也受到限制。本文介绍一种用计算机处理直线度误差测量数据的方法,能有效地缩短处理时间,提高计算精度。
一、工作原理
本方法的工作原理是采用最小二乘法评定直线度误差。
设最小二乘直线为
则误差方程为
正则方程为
由于在实际测量中,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):将数值变量转换成字符串变量用于显示
相关文章
- 2024-03-28虚拟振动测试分析仪的设计
- 2024-01-26基于盲源分离的超声信号去噪的仿真研究
- 2023-01-09广义数学形态滤波器的旋转机械振动信号降噪
- 2024-08-12直线度误差的计算机处理
- 2024-06-05流量计中微处理器与液晶模块的通信及多参数显示
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。