二维定位设计报告.docx

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

二维定位设计报告.docx

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

二维定位设计报告.docx

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

作品设计报告

作品题目序号

09

作品题目名称

二维平面内物体定位

参赛队伍序号

49

参赛队伍名称

参赛队员姓名

作品完成情况

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

超声波定位系统

摘要

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

超声波的频率比较高,其次波长短和绕射现象不明显,而且具有方向性好,能量消耗缓慢,能长距离传播等优点。

当今社会,在传感器以及自动控制测距离的方案中,超声波测距是被最广泛应用的一个方案,它被使用于以下的实际操作中,例如,水位的测量,建筑工地测距这些场合。

本论文讨论了超声波的定位系统以及相应的算法,还比较全面地描述了超声波传感器的原理以及特性。

基于超声波测距原理的分析,提出了超声波测距系统的设计过程和需要问题。

以MC9S12XS128单片机为核心,我们设计好的超声波测距仪以及硬件电路有很多优势,它的精度高、低成本以及数字显示的使用微型。

这个系统的电路的设置和布局较合理,工作性能和稳定性好,计算简单,实时控制是比较容易做到的,更重要的是,测量精度满足了工业实际的要求。

关键词:

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

目录

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

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

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

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

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

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

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

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

4.1软件流程图

4-2.程序

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

5.1测试结果分析

5.2测试结果误差分析

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

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

7-1.完整电路图

7-2.元器件清单

§1引言

当前超声波测距技术应用已经比较成熟,但是对超声波定位系统的研究探讨才在刚起步的阶段。

超声波定位的原理和无线电定位原理有比较相似,区别是超声波其在空气传播过程中的衰减很大,其仅能在较小的空间范围适用。

在实际中,超声波测距系统在短距离测量中得到了应用,其精度在厘米级,如在没有人的车间的场所运动物体定位的选择等使用超声波定位系统比较好。

为了研究超声波定位系统,我们要从研究超声波的测距方法开始,之后由距离和提供的计算方法来求出待被定位的物体的位置坐标,我们采用的是反射式测距法:

这种测距法就是超声波发射器发射超声波,然后发射的超声波被待测物反射从而产生回波被接收探头接收,我们依据回波和发射波之间的时间隔则就可以求出待测物与发射器之间的长度距离。

其原理图如图1-1所示

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

超声波发射器在空气中向任一目标位置发射超声波,发射超声波的同一时刻马上进行计时,超声波在空气传递过程当中如果遇到障碍物就会即刻返回,一旦超声波接收器获取到反射信号则就会马上中止计时。

超声波处于空气中传播的速率约为340米每秒,并读出计时器所获得的时间t,基于计算公式就能够求出发射点与障碍物之间的长度距离s,也就是:

s=340t/2。

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

§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关系可得

求解可得:

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

优点:

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

较方案一合适。

所以,最终采取方案二。

§3模块设计

3.1整体设计示意

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

液晶

显示

128控制芯片

超声波收发模块

报警

电路

图3-1整体设计示意图

根据总体设计图,可以设想根据超声波发射与接收器模块在工作时发射超声波到接收反射回的回波后,并将发射超声波与接收回波的状态信号传输到单片机,再经过单片机内部程序的处理,并将计算结果以数据的形式由128芯片I/O接口传输到LCD液晶显示屏并显示出测量结果的数据,同时由软件控制测量距离在某一临界值时128芯片会向报警电路输出报警信号,使报警电路正常工作。

实现由128芯片实现对超声波模块的声波发射和接收信号进行监控,并将测量数据传送至128芯片进行处理,并将结果由LCD显示出来。

3.2超声波模块

对于超声波发射和接受部分要考虑其结构复杂,所以在设计时考虑设计的难易程度和在涉及做成实物时让其简化,所以在设计时我选择用US-100超声波收发模块。

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

该超声波收发模块可自己产生40kHz的方波,并经放大电路驱动超声波发射探头发射超声波,发射出去的超声波经障碍物反射后由超声波接收探头接收。

经接收电路的检波放大,积分整形,在ECHO引脚上产生方波脉冲,该脉冲宽度与被测距离成线性关系。

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

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

图3-2表明:

只需要在Trig/TX管脚输入一个10us以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号,当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过ECHO/RX管脚输出。

在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过Echo端输出一个高电平,可根据此高电平的持续时间来计算距离值。

即距离值为:

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

注:

因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,也就是不管温度多少,声速选择340m/s即可。

使用US-100超声波收发模块进行距离测量测量时,单片机只需要输出触发信号,并监视回响引脚,通过定时器计算回响信号宽度,并换算成距离即可。

该模块简化了发送和接收的模拟电路,工作稳定可靠,其参数指标如表3-3所示。

图3-3超声波收发模块

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

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

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

3.3报警电路

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

电路设计为低电平输出时LED灯亮,高电平关闭。

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

LED灯闪烁报警。

图3-5报警电路

3.4显示电路

图3-412864显示模块

1.GND电源地

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

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

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

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

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

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

§4设计程序及流程图

4.1软件流程图

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

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

4-2.程序

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

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

voidmain(void)

{

inti=0;

intsucceedflag_L=0,succeedflag_R=0;

doubleangle=0;

bytea=0,b=0;

intX,Y;

doubleLF,RF;

doubleL_average,R_average;

doublecos,sin;

SetBusCLK_16M();

PitInit();

PWM_Init();

DDRB=0X00;

DDRA=0XFF;

DDRK=0XFF;

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)

{

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

当前位置:首页 > 解决方案 > 其它

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

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