二维定位设计报告.docx

上传人:b****3 文档编号:24761855 上传时间:2023-06-01 格式:DOCX 页数:25 大小:370.31KB
下载 相关 举报
二维定位设计报告.docx_第1页
第1页 / 共25页
二维定位设计报告.docx_第2页
第2页 / 共25页
二维定位设计报告.docx_第3页
第3页 / 共25页
二维定位设计报告.docx_第4页
第4页 / 共25页
二维定位设计报告.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

二维定位设计报告.docx

《二维定位设计报告.docx》由会员分享,可在线阅读,更多相关《二维定位设计报告.docx(25页珍藏版)》请在冰豆网上搜索。

二维定位设计报告.docx

二维定位设计报告

作品题目序号

09

作品题目名称

二维平面内物体定位

参赛队伍序号

49

参赛队伍名称

参赛队员姓名

作品完成情况

□作品完整        □作品部分完成

□作品未制作

2014 年山东工商学院电子设计竞赛

作品设计报告

 

超声波定位系统

摘要

我们根据超声波的特性来研发制成超声波传感器,机械振动频率比声

波高波,我们称之为超声波。

超声波的频率比较高,其次波长短和绕射现象不

明显,而且具有方向性好,能量消耗缓慢,能长距离传播等优点。

当今社会,在

传感器以及自动控制 距离的方案中,超声波测距是被最广泛应用的一个方

案,它被使用于以下的实际操作中,例如,水位的测量,建筑工地测距这些场

合。

本论文讨论了超声波的定位系以及相应的算法,还比较全面地描述了超

声波传感器的原理以及特性。

基于超声波测距原理的分析,提出了超声波

测距系统的设计过程和需要问题。

以 MC9S12XS128 单片机为核心,我们设

计好的超声波测距仪以及硬件电路有很多优势,它的精度高、低成本以及

数字显示的使用微型。

这个系统的电路的设置和布局较合理,工作性能和稳

定性好,计算简单,实时控制是比较容易做到的,更重要的是,测量满足了工业

实际的要求。

 

关键词:

 超声波定位算法;超声波传感器;超声波测距;误差

分析

 

1

 

一 、 引言 .............................

二 、 方案设计 .........................

三 、 模块设计 .........................

3.1 整体设计示意. . . . . . . . . . . . . . . . . . . . . .

3.2 超声波模块. . . . . . . . . . . . . . . . . . . . . . . .

3.3 报警电路. . . . . . . . . . . . . . . . . . . . . . . . .

3.4 显示电路. . . . . . . . . . . . . . . . . . . . . . . . .

四 、 设计程序及流程图.................

4.1 软件流程图

4-2.程序

五 、 测试结果及分析...................

5.1测试结果分析

5.2测试结果误差分析

六 、 总结 .............................

七 、 附录 .............................

7-1.完整电路图

7-2.元器件清单

 

2

 

§1 引言

当前超声波测距技术应用已经比较成熟,但是对超声波定位系统的研

究探讨才在刚起步的阶段。

超声波定位的原理和无线电定位原理有比较相

似,区别是超声波其在空气传播过程中的衰减很大,其仅能在较小的空间

范围适用。

在实际中,超声波测距系统在短距离测量中得到了应用,其精

度在厘米级,如在没有人的车间的场所运动物体定位的选择等使用超声波

定位系统比较好。

为了研究超声波定位系统,我们要从研究超声波的测距方法开始,之

后由距离和提供的计算方法来求出待被定位的物体的位置坐标,我们采用

的是反射式测距法:

这种测距法就是超声波发射器发射超声波,然后发射

的超声波被待测物反射从而产生回波被接收探头接收,我们依据回波和发

射波之间的时间隔则就可以求出待测物与发射器之间的长度距离。

其原理

图如图 1-1 所示

 

图 1-1采用回波测距法的原理图

超声波发射器在空气中向任一目标位置发射超声波,发射超声波的同

一时刻马上进行计时,超声波在空气传递过程当中如果遇到障碍物就会即

刻返回,一旦超声波接收器获取到反射信号则就会马上中止计时。

超声波

处于空气中传播的速率约为 340 米每秒,并读出计时器所获得的时间 t,

基于计算公式就能够求出发射点与障碍物之间的长度距离 s,也就是:

s=340t/2。

这就是所被人们称为时间差测距法。

 

3

 

§2方案设计

方案一:

回波法定位的定位系统,对周围物体进行定位,超声波的测距仪器固

定在一个已知点上,以这个点为原点建立坐标系,对周围的物体进行测距,

然后测出偏转角度,便可对周围物体进行定位。

 

图 2-1采用回波法的超声波测距仪

如图 2-1 示,O 点为超声波发射与接收测距的原点,和一个测量角度

的仪器规定一个以 O 点为原点的直角坐标系,然后对待测物体进行扫射,

若考虑到超声波当第一次接收到信号时记住一个角度 Q 和距离 M 然后继续

扫射当信号瞬间没有时停止记录另一个角度 W 和距离 N,两个角度求平均

值 α 和距离 L ,便可根据三角函数计算出 A 点的坐标:

x=L×cosα

y=L×sinα

把 O 点周围的物体进行测量之后,各个物体进行了定位,用计算机便

可行对周围的物体进行详细计算,对周围环境形成图像,对其本身进行定

位。

优点:

系统设计非常简单,操作简便,采用回波测距发电路设计简单。

缺点:

误差较大,需进行较详细的误差分析,角度不好测量

方案二:

三角形定位法:

在同一个平面上,设置两个固定的超声波云台,分别

测量出主体到每个接收点的距离,经过相关的计算就可以得到主体的位置

坐标。

在下面二维平面图 2-2 中,选取一个直角坐标系,(-M,0),(M,0)的两

个位置设定接收点。

其中

 

图 2-2 平面三角形定位示意图

主体坐标(x,y)到设定的两个接收点的距离长度分别为 L1、L2,根据

距离计算坐标(x,y)的方法原理如下:

由图 2-1 关系可得

4

 

求解可得:

 

由此可实现超声波平面定位,就是可以求出主体的坐标(x,y)。

优点:

两个超声波云台测量,精准度较高,角度测量方便。

较方案一

合适。

所以,最终采取方案二。

§3 模块设计

3.1 整体设计示意

整体设计示意图如图 3-1 所示

液晶

显示

声波收

发模块

128

控制芯片

报警

电路

图 3-1 整体设计示意图

根据总体设计图,可以设想根据超声波发射与接收器模块在工作时发

射超声波到接收反射回的回波后,并将发射超声波与接收回波的状态信号

传输到单片机,再经过单片机内部程序的处理,并将计算结果以数据的形

式由 128 芯片 I/O 接口传输到 LCD 液晶显示屏并显示出测量结果的数据,

同时由软件控制测量距离在某一临界值时 128 芯片会向报警电路输出报警

信号,使报警电路正常工作。

实现由 128 芯片实现对超声波模块的声波发

射和接收信号进行监控,并将测量数据传送至 128 芯片进行处理,并将结

果由 LCD 显示出来。

3.2 超声波模块

对于超声波发射和接受部分要考虑其结构复杂,所以在设计时考虑设

计的难易程度和在涉及做成实物时让其简化,所以在设计时我选择用 US-

100 超声波收发模块。

以下是对超声波模块作出说明;

该超声波收发模块可自己产生 40kHz 的方波,并经放大电路驱动超声

波发射探头发射超声波,发射出去的超声波经障碍物反射后由超声波接收

5

探头接收。

经接收电路的检波放大,积分整形,在 ECHO 引脚上产生方波

脉冲,该脉冲宽度与被测距离成线性关系。

具体过程如图 3-2 所示。

 

图 3-2 US-100 超声波收发模块工作时序图

图 3-2 表明:

只需要在 Trig/TX 管脚输入一个 10us 以上的高电平,系

统便可发出 8 个 40KHZ 的超声波脉冲,然后检测回波信号,当检测到回波

信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行

校正,将校正后的结果通过 ECHO/RX 管脚输出。

在此模式下,模块将距离值转化为 340m/s 时的时间值的 2 倍,通过

Echo 端输出一个高电平,可根据此高电平的持续时间来计算距离值。

即距

离值为:

(高电平时间*340m/s)/2

注:

因为距离值已经经过温度校正,此时无需再根据环境温度对超声

波声速进行校正,也就是不管温度多少,声速选择 340m/s 即可。

使用 US-100 超声波收发模块进行距离测量测量时,单片机只需要输出

触发信号,并监视回响引脚,通过定时器计算回响信号宽度,并换算成距

离即可。

该模块简化了发送和接收的模拟电路,工作稳定可靠,其参数指

标如表 3-3 所示。

VCC1

TRIG2

ECHO3

GND4

GND5

US-100

图 3-3 超声波收发模块

应注意测量周期必须在 60 毫秒以上,防止发射信号对回响信号的影

响。

模块共有两个接口,即模式选择跳线和 5pin 接口。

模式选择跳线接口

设置为当安装上短路帽时为 UART(串口)模式,拔掉时为电平触发模式。

3.3 报警电路

图 3-5 所示为 LED 报警电路。

电路设计为低电平输出时 LED 灯亮,

高电平关闭。

而且接在 128 芯片的 A2 脚上,当 A2 脚输出低电平时,

LED 灯闪烁报警。

 

6

 

图 3-5 报警电路

3.4 显示电路

 

图 3-412864 显示模块

1. GND 电源地

2. VCC 电源正(3~5.5V)

3. SCL 脚,在SPI 和IIC 通信中为时钟管脚

4. SDA 脚,在SPI 和IIC 通信中为数据管脚

5. RES OLED 的RES#脚,用来复位(低电平复位)

6. DC OLED 的D/C#E 脚,数据和命令控制管脚

7. CS OLED 的 CS#脚,也就是片选管脚

§4 设计程序及流程图

4.1 软件流程图

本设计软件主程序流程图如图 4-1 所示,外部中断子程序流程图如图

4-2 所示

 

7

数据初始化

定时器初始化

显示初始化

进入后台while循环

超声波测量触发

有回波否?

外部中断子程序

 

计算距离并显示

距离小于

20cm否?

声光报警

延时60ms

 

 

 

外部中断入口

读取定时器当前值

置测量成功标志

返回

图 4-1  主程序流程图图 4-2 外部中断子程序流程图

 

4-2.程序

//============================MAIN()===========================

/*********************主函数************************************/

void main(void)

{

int i=0;

int succeedflag_L = 0,succeedflag_R = 0;

double angle = 0;

byte a = 0, b = 0;

int X,Y;

double LF, RF;

double L_average, R_average;

double cos,sin;

 

SetBusCLK_16M();

PitInit();

PWM_Init();

DDRB=0X00;

DDRA=0XFF;

DDRK=0XFF;

8

LCD_Init();

TrigL=0;

TrigR=0;

PORTA_PA2 = 1;

EnableInterrupts;

LCD_Print(64,0,"距左下角");

LCD_Write_Num(64,2,dis_L,4);

LCD_P6x8Str(88,2,"mm");

LCD_Print(64,3,"距右下角");

LCD_Write_Num(64,5,dis_R,4);

LCD_P6x8Str(88,5,"mm");

LCD_Print(64,6,"角度");

LCD_Write_Num(104,7,angle,2);

//Draw_xy(1,1);

LCD_Print(4,0,"图像显示");

LCD_Print(11,3,"有 BUG!

");

LCD_Print(4,6,"囧囧囧囧");

 

while

(1)

{

while

(1)

{

if(succeedflag_L == 0)

{

distance_L();

LF = dis_L;

if(((LF*sinnow(a)) < 640) && ((LF*cosnow(a)) < 640))

{

succeedflag_L = 1;

PWMDTY01 = 800;

}

else

{

a++;

pwm_changeL(a);

Dly_ms(400);

}

9

 

}

 

if(succeedflag_R == 0)

{

distance_R();

RF = dis_R;

if(((RF*sinnow(b)) < 640) && ((RF*cosnow(b)) < 640))

{

succeedflag_R = 1;

PWMDTY45 = 400;

}

else

{

b++;

pwm_changeR(b);

Dly_ms(400);

}

 

}

if(a == 8 && b == 8 && RF+LF>800)

{

error_flag = 1;

}

if(succeedflag_L == 1 && succeedflag_R == 1) break;

if( a == 8)break;

if( b == 8)break;

 

}

 

if(succeedflag_L == 1 && succeedflag_R == 1)

{

//计算余弦值

cos = cosa(LF,RF);

//计算角度

angle = acos(cos);

10

 

//sin = sina(angle);

X = (int)(LF*cos);

Y = (int)(64-(RF*sin));

angle = (int)((angle/3.1415926) * 180);

LCD_Write_Num(64,2,LF,4);//距左下角距离显示

LCD_Write_Num(64,5,RF,4);//距右下角距离显示

LCD_Write_Num(104,7,angle,2);//角度显示

//Dly_ms(100);

//Draw_xy(X,Y);

}

if(error_flag == 1)

{

PORTA_PA2 = 0;

LCD_P6x8Str(64,2,"----");

LCD_P6x8Str(64,5,"----");

LCD_P6x8Str(104,7,"--");

Dly_ms(2000);

PORTA_PA2 = 1;

 

}

a = 0;

b = 0;

error_flag = 0;

succeedflag_L = 0;

succeedflag_R = 0;

pwm_changeL(a);

pwm_changeR(b);

}

}

 

§5测试结果及分析

 

11

5.1测试结果分析

通过多次实验,分别对各电路进行了测量、调试和分析。

下表 5-1 是

使用本论文设计的测距仪所进行的实际测量的结果。

表 5-1测距仪测试结果

实际距离(cm)测量结果(cm)误差℅

20.019.05.0

30.029.03.33

40.039.02.5

50.051.02.0

60.060.00

70.070.00

90.089.01.11

100.0100.00

150.0148.01.33

200.0198.01.0

250.0254.01.6

300.0305.01.67

350.0358.02.3

400.0408.02.0

450.0458.01.78

500.0510.02.0

根据表格的资料我们知道, 在 20 厘米至 150 厘米的范围内误差相对很

小;20 厘米之内的范围误差相对较大,主要是超声波在距离测量的过程中

存在着一定范围的盲区,之所以有盲区的出现是因为发出信号务必有一个上

升的时间, 当距离过近时计算机系统已经不可以迅速处理超声波信号, 所

以距离小于 0.2 米测量误差明显增加。

3 米以后的数据误差会显著增大,

这主要是因为发射的功率不够大, 导致接收到的信号比较弱, 从而出现了

部分干扰因素。

但电路引入温度补偿电路后总的实验结果误差在厘米级,

基本上可以满足测量要求。

 

5.2测试结果误差分析

根据超声波测距仪的原理,我们可以知道测量误差的来源主要有:

动发射和开始启动计时之间的偏差;接收到超声波到波被检测出的滞后;

接收到中断信号至中断响应后中止计时的滞后偏差;计时器自身的误差;

温度对声波速度的影响。

上述五个因素都会引起测量误差,现在详细分析这些误差:

误差一是由于 128 芯片每一次都只能处理一次事件,所以开始发射和

计时按时间顺序完成,有一定的时间差,但命令的速度是否足够快,偏差

是可以忽略不计的。

误差二产生的原因是由于检测电路灵敏程度和判断误差。

实际的超声

接收电路相对确定的输出信号会有一定的滞后性,被接收到的超声波的信

号强弱、超声波被检测电路的原理和判断电路接收灵敏度将影响滞后,这

也是超声波测距的关键。

灵敏度如果过高,会把其他干扰波当作是需要接

12

收的波形,将会导致测量出现差错;灵敏度如果太低,将会限制了检测距

离,因为信号衰减与距离的有很大的关联。

这项误差是导致数据不稳定的

主要来源。

误差三产生的原因是由于 128 芯片中断系统接到中断的信号之后,不

能够立刻响应,起码要完成好当前的指令,有时还需要其它中断服务结束

才能响应,所以这各滞后的时间也是不能准备获取的,故会引起测量的结

果产生一定的误差。

这种误差我们可以使用加快 128 芯片的运行速度和利

用高优先级中断弱化之。

误差四来源于计时器的本身。

为减小此误差可以通过提高计时的最小

单位,减少量化误差,也要选择质量好的晶体。

最后一项误差是源于环境的影响。

温度不同,超声波的传播速度会发

生变化,计时频率会发生变化,导致检测的电路灵敏性也发生变化,一般

可以采用温度补偿来修正音速的变化,后两个变化影响有限可以忽略不计。

 

§6 总结

经过了一个月的学习和工作,我终于完成对超声波测距仪的设计。

开始接到论文题目到设计方案的确定,再到论文文章的完成,每走一步对

于我来说都是新的尝试和挑战。

这也是我在大学期间独立完成的最大的项

目。

在这段时间里,我学到了很多知识也有很多感受。

通过这次设计我开

始独立的学习和探索,查看相关的资料和书籍,让自己头脑模糊的大概到

逐渐清晰,使自己的设计逐步完善起来,每一次改进都使我收益颇丰。

中我也了解到不断学习的重要性。

虽然我的设计不是很成熟,还有很多不足之处,但是我付出了自己的

劳动并且认真动手做出了实物,虽然遇到了很多困难,但是我都尽力解决,

这是我引以自豪的地方,我相信只有经历过的人才会明白其中的酸甜苦辣。

这次做设计的经历也使我终身受益,我感受到做设计是要真正用心去

做的一件事情,是真正的自己学习的过程和研究的过程。

没有学习就不可

能有研究的能力,对自己的研究就不会有所突破,那也就不叫设计,希望

这次经历能让我在以后的工作学习中激励我继续进步。

 

13

 

§7 附录

 

7-1.完整电路图

 

14

 

7-2.元器件清单

LM29401开关1

128 芯片1电容 0.1uf 2

舵机2电解电容 0.47uf122uf1

超声波模块2470uf1

LED 灯2

128641电阻 5.1k11k1

 

15

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1