激光三角测距实验第八组报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
激光三角测距实验
——第八组
一、实验目的
学习激光三角测距基本原理;了解激光三角测距的应用;搭建激光三角测距系统,实现测量距离的显示,掌握激光三角测距技术。
二、实验原理
三角位移测量系统是从光源发射一束光到被测物体表面,在另一方向通过成像观察反射光点的位置,从而计算出物点的位移。由于入射光和反射光构成一个三角形,所以这种方法被称为三角测量法,又可按入射光线与被测工件表面法线的关系分为直射式和斜射式。
三、摆放方式
直射式直射式三角法测量等效光路如图 1 所示。激光器发出的光线,经会聚透镜聚焦后垂直入射到被测物体表面上,物体移动或表面变化导致入射光点沿入射光轴移动。接收透镜接收来自入射光点处的散射光,并将其成像在光点位置探测器(如PSD、CCD)敏感面上。
若光点在成像面上的位移为x′,利用相似三角形各边之间的比例关系,有
化简后可求出被测面的位移
式中,a 为激光束光轴和接收光轴的交点到接收透镜前主面的距离;b 为接收透镜后主面到成像面中心点的距离;α 为激光束光轴与接收透镜光轴之间的夹角;β 为探测器与接收透镜光轴之间的夹角。
斜射式
图3.2 为斜射式三角测量原理图,激光器发出的光与被测面的法线方向成一定角度入射到被测面上,同样用接收透镜接收光点在被测面的散射光或反射光。
若光点的像在探测器敏感面上移动x′,则物体表面沿法线方向的移动距离为x,利用相似三角形的比例关系,参照前一个公式,用x/cosγ 替换x,α+γ 替换α,有
式中,α 为激光束光轴与被测面法线之间的夹角;γ 为成像透镜光轴与被测面法线之间的夹角;β 为探测器光轴与成像透镜光轴之间的夹角。当γ 为零时,属于斜入射直接收式。
直射式和斜射式特点比较
斜射式可接收来自被测物体的正反射光,比较适合测量表面接近镜面的物体。λ直射式接收散射光,适合于测量散射性能好的表面,如果表面较为平滑,则可能由于耦λ合到光电探测器的散射光强过弱,使测量无法进行,也就是说可能存在测量盲区。斜射式入射光光点照射在物体不同的点上,因此无法直接知道被测物体某点的位移情况,λ而直射式可以。当然,斜射式也可以通过标定的方法得出位移。直射式光斑较小,光强集中,不会因被测面不垂直而扩大光斑,而且一般体积较小。斜λ射式传感器分辨率高于直射式,但它的测量范围较小,体积较大。斜入射直接收式传感器的体积和直入射式相当,并且分辨率高于直射式,因此较为常用。
四、实验过程
为缩小实验误差,我们组经过多次实验,最终采用了如下摆放方式
式中,s为激光束光轴和接收光轴的交点到激光发射点的距离;b 为接收透镜后主面到成像面中心点的距离;x′是光点在成像面上的位移;d是激光发射点和接收透镜的距离。
五、实验结果及程序
我们将接收板移动4.5cm。经过一系列操作,得到了成像面上变化前后的两个点坐标(46,34)(41,33)s=90cm d=20cm b=6mm f=0.604cm 最终根据公式求得x=3.95cm 实验误差为12%。
经过编程、烧录等过程,我组通过实验验收。
针对实验要求,我们进行了如下的程序设计,以求得正确的结果,代码如下#include
unsigned long inPutWord=0;
unsigned long j=5;
sbit Key1=P2^6;
char code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
char code ACT[6]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
char SAV[6]={0x00,0x00,0x00,0x00,0x00,0x00};
void delay(char time)
{
while(time>0)time--;
}
void display()
{
char i=0;
for(i=0;i<6;i++)
{
P0=SEG7[SAV[i]];
P2=ACT[i];
delay(350);
}
}
bit CheckKey()
{
if(Key1==0)
{
delay(200);
if(Key1==0)
{
return 1;
}
else
{
return 0;
}
}
return 0;
}
void initialise()
{
SM0=0;
SM1=1;
REN=1;
TI=0;
RI=0;
PCON=0;
TH1=0xFD;
TL1=0XFD;
TMOD=0X20;
EA=1;
ET1=0;
ES=1;
PS=1;
TR1=1;
}
void main()
{
initialise();
while(1)
{
if(!CheckKey())
{
ES=1;
}
display();
}
}
void intrr() interrupt 4
{
char temp;
temp=SBUF;
if((temp>=112)&&(temp<=121))
{
inPutWord=temp-112;
SAV[j--]=inPutWord;
}
else if(temp==13)
{
j=5;
}
RI=0;
}
六、实验中遇到的问题
我们组第一次采取的是直射式的摆放方式,但是由于角度以其他问题导致实验结果误差较大,不被采取。之后采取的摆放方式,很好的解决了之前的问题,没有了角度计算,最终成功缩小了实验误差。
七、心得体会
在这次实验中,我们接触了单片机、激光器等设备,这使得我们对激光测距有了初步的了解,也提高了我们的动手能力;此外,我们在这次实验中,我们做了很多计算,因此还提高了我们的计算和推理能力;我们还在实验中写了电脑程序,回顾了我们曾经学过的C语言;更重要的是,我们通过合作,终于完成了任务,我们也体会了团队合作的快乐。我相信,这次实验将会是我毕业之后美好的回忆!