大直径检测系统-三点定圆算法研究获奖科研报告论文_第1页
大直径检测系统-三点定圆算法研究获奖科研报告论文_第2页
大直径检测系统-三点定圆算法研究获奖科研报告论文_第3页
大直径检测系统-三点定圆算法研究获奖科研报告论文_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大直径检测系统-三点定圆算法研究获奖科研报告论文摘要:本文介绍的是一种大直径检测系统,利用超声波传感器作为大直径距离检测的器件,以51单片机为核心,然后利用单片机对三点定圆的算法进行处理并使用12864液晶显示,实现10CM~5M大直径工件的直径检测。检测系统可应用于检测大直径的钢管、大圆柱等大型工件进行内外径测量等,精度可达1mm,并且实用性好、抗干扰能力强,推荐使用KS103S高精度超声波模块。

关键词:大直径;超声波;三点定圆;51单片机;KS103

00G642000B001002-76610013-007-02

一、总体设计方案与思路

使用51单片机驱动KS103超声波模块测得三个与大直径工件的距离,并且使用步进电机确定两两距离之间的精确角度,然后利用三点定圆的算法找到大直径工件的圆心,最后利用圆心到圆上任意一点的距离相等,从而得出半径,进一步得出直径并显示出来。

二、检测原理

1、三点定圆的算法研究

利用单片机超声波所测的三个距离和步进电机所旋转的两个角度,即可确定大直径工件的直径,内外径测量通用。如下图1所示:

图1

内径测量:假设放置点为a点,第一次测得的ab间的距离为m1,然后步进电机驱动超声波模块顺时针转动一个角度为=,然后测得ac间的距离为m2,然后再旋转一个角度为,测得ad之间的距离为m3,最后步进电机逆时针旋转归位超声波模块。当我们测得了m1,m2,m3,,这几组数据的时候,就可以使用三点定圆的算法进行运算得出结果了。具体步骤如下:

1.以a点为坐标原点建立直角坐标系,ab为直角坐标系的y轴正半轴,则此时b点的坐表为(x1=0,y1=m1).由于=,(sin60=0.866,cos60=0.5,sin30=0.5,cos30=0.866)仍然在第一象限,则c点坐标为(x2=m2*0.866,y2=m2*0.5),由于,此时d点处于第4象限,则d点坐标为(x3=m3*cos(120-90),y3=-m3*sin(120-90))=(x3=m3*0.866,y3=-m3*0.5)。

2.求bc的中点e的坐标为(x4=(x1+x2)/2,y4=(y1+y2)/2),cd的中点f的坐标为(x5=(x2+x3)/2,y5=(y2+y3)/2)。

3.bc线段的斜率为,cd线段的斜率为,则bc垂直平分线的斜率为(由于直线垂直平分线的斜率为),则,cd垂直平分线的斜率为。

4.得到bc垂直平分线方程为(点斜式:y=k*x+b,b为常数)则已知该垂直平分线伤的一点的坐标及该直线的斜率,即可求得常数值则bc垂直平分线的方程已知。同理可求得cd垂直平分线的方程。将两方程联立求解,所得的交点坐标即为圆心坐标o(x,y).

5.利用两点之间的距离公式即可得到半径,最后得到直径。

注:需要注意的是,求解两垂直平分线的交点时,只需要告诉单片机求解常数的公式以及最后交点坐标的公式即可,(假设bc、cd垂直平分线方程的常数为n1,n2)具体为:n1=y4-k3*x4,n2=y5-k4*x5。则,。单片机运行的数据类型都应该定义成float型。

同时,该算法对外径测量同样有效,在此就不再赘述,原理请看下图2:

图2

附:三点定圆具体算法

voidmath_cycle(floatdat1,floatdat2,floatdat3)//三点定圆

{

idatafloatx4,y4,x5,y5,m1,m2,m3,k3,k4,x,y;

idatafloatx1,y1,x2,y2,x3,y3,n1,n2;

m1=dat1;m2=dat2;m3=dat3;//实测距离

x1=0;

y1=m1;//b点坐标

x2=0.866*m2;//m2*sin60

y2=0.905*m2;//c点坐标m2*cos60

x3=-0.5*m3;//m3*cos30第四象限为负值

y3=0.771*m3;//d点坐标m3*sin30

x4=(x1+x2)/2;

y4=(y1+y2)/2;//bc中点坐标(x4,y4)

x5=(x2+x3)/2;

y5=(y2+y3)/2;//cd中点坐标(c,d)

k3=(x1-x2)/(y2-y1);//bc垂直平分线的斜率

k4=(x2-x3)/(y3-y2);//cd垂直平分线的斜率

n1=y3-(k3*x3);//bc垂直平分线方程系数

n2=y4-(k4*x4);//cd垂直平分线方程系数

x=(n1-n2)/(k3-k4);//圆心坐标o(x,y)

y=k1*x+n1;

r2=2*(sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)));

LCDString(4,1,"直径:");

LCDNum(4,4,r2);

LCDString(4,7,"毫米");

本系统实现了对大直径工件的内外径测量,本系统经过实地测试,超声波可测得的距离在5m内均可精确到1mm,误差是相当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论