系统框图互联网+.docx

上传人:b****6 文档编号:7456297 上传时间:2023-01-24 格式:DOCX 页数:20 大小:660.70KB
下载 相关 举报
系统框图互联网+.docx_第1页
第1页 / 共20页
系统框图互联网+.docx_第2页
第2页 / 共20页
系统框图互联网+.docx_第3页
第3页 / 共20页
系统框图互联网+.docx_第4页
第4页 / 共20页
系统框图互联网+.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

系统框图互联网+.docx

《系统框图互联网+.docx》由会员分享,可在线阅读,更多相关《系统框图互联网+.docx(20页珍藏版)》请在冰豆网上搜索。

系统框图互联网+.docx

系统框图互联网+

中北大学朔州校区

物联网工程专业

《无线传感器网络》课程设计任务书

 

设计题目:

超声波测距系统设计

专业班级:

13270841

学生姓名:

学号:

指导教师:

设计时间:

XX年XX月XX日至

XX年XX月XX日

 

一、课程设计目的

通过《无线传感器网络》课程设计,掌握传感器及检测系统设计的方法和设计原则及相应的硬件调试的方法。

进一步理解传感器及检测系统的设计和应用。

二、课程设计题目

超声波测距系统设计

三、课程设计内容、要求

1、设计内容

采用40KHz的超声波发射和接收传感器测量距离。

采用发射和接收平行放在一起,通过反射测量距离。

根据温度传感器DS18B20所采集的温度数据来修正测距系统中的声速,从而使超声波测得的距离更准确。

功能:

1)所有测距和温度数据均通过液晶显示器LCD1602显示出来,距离精确到毫米,温度精确到小数点后一位(单位:

摄氏度)。

2)测量范围:

30mm~2000mm。

3)误差<5mm。

4)其它。

2、设计要求

1)掌握传感器的工作原理及相应的辅助电路设计方法。

2)独立设计原理图及相应的硬件电路。

3)设计说明书格式规范,层次合理,重点突出。

并附上详细的原理图

四、传感器工作原理

1.超声波传感器

本次设计超声波传感器采用电气方式中的压电式超声波传感器分机械方式和电气方式两类,它实际上是一种换能器,在发射端它把超声波换能器,它是利用压电晶体的谐振来工作的。

它有两个压电晶片和一个共振板。

当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,产生超声波。

反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,就成为超声波接收器。

超声波测距的方法有多种:

如往返时间检测法、相位检测法、声波幅值检测法。

本设计采用往返时间检测法测距。

其原理是超声波传感器发射一定频率的超声波,借助空气媒质传播,到达测量目标或障碍物后反射回来,经反射后由超声波接收器接收脉冲,其所经历的时间即往返时间,往返时间与超声波传播的路程的远近有关。

测试传输时间可以得出距离。

图4-1测距原理图

假定s为被测物体到测距仪之间的距离,测得的时间为t/s,超声波传播速度为v/m·s-1表示,则有关系式s=vt/2。

在空气中,常温下超声波的传播速度是334米/秒,但其传播速度v易受空气中温度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高1℃,声速增加约0.6米/秒。

声速与温度关系如表4-2所示。

因此在测距精度要求很高的情况下,应通过对温度补偿的方法对传播速度加以校正。

已知现场环境温度T时,超声波传播速度V的计算公式可近似如下:

V=331.5+0.607T

这样,只要测得超声波发射和接收回波的时间差t以及现场环境温度T,就可以精确计算出发射点到障碍物之间的距离。

表4-2声速与温度关系表

温度(℃)

-30

-20

-10

0

10

20

30

40

声速(m/s)

313

319

325

332

338

344

350

356

在本系统中利用AT89S52中的定时器测量超声波传播时间,利用DS18B20测量环境温度,从而提高测距精度。

空气中声速与温度的关系可表示为:

声速确定后,只要测得超声波往返的时间,即可求得距离:

L=1/2(331.4+0.6T)t。

2.温度传感器DS18B20

由于声音的速度在不同的温度下有所不同,因此为提高精度,应通过温度补偿对超声波的传播速度进行校正。

系统采用DS18B20传感器测量温度,DS18B20温度传感器具有不受外界干扰、精度高、测温范围宽等优点。

检测电路如图4-3所示,单片机P3.7口接DS18B20数据总线,控制DS18B20进行温度转换和传输数据,数据总线接10kΩ的上拉电阻,作用是使总线控制器在温度转换期间无需一直保持高电平。

图4-3温度检测电路

五、系统框图

 

六、单元电路设计原理

1、超声波发射电路

超声波发射电路原理图如图6-1所示。

发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。

输出端采两个反向器并联,用以提高驱动能力。

上位电阻R8、R9一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。

图6-1超声波发射电路原理图

压电式超声波换能器是利用压电晶体的谐振来工作的。

超声波换能器内部有两个压电晶片和一个换能板。

当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。

超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。

2、超声波检测接收电路

集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。

实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。

适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。

图6-2超声波接收电路原理图

3、单片机最小系统

3.1、STC89C52芯片

本次设计我们所采用的是STC89C52单片机,是一种带8k字节闪烁可编程可擦除只读存储器的低电压、高性能COMOS8的微处理器,该器件有40引脚,速度较快,价格便宜,烧录方便,通过串口即可下载,还可以实现在线编程,采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

3.2复位电路

为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的基本功能是:

系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。

为可靠起见,电源稳定后还要经一定的延迟才撤销复位,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。

当单片机的复位引脚出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

所以复位引脚的电容大一点没多大关系,顶多是复位时间长一点;但如果电容太小,高电平持续时间太短,则单片机无法正常复位,就不能工作,电容通常取10UF或22UF,铝电解电容即可。

单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,5V的电源通过电阻给电解电容进行充电,电容两端的电会由0V慢慢的升到4V左右(此时间很短一般小于0.3秒),正因为这样,复位脚由低电位升到高电位,引起了内部电路的复位工作;当按下复位键时,电容两端放电,电容又回到0V了,于是又进行了一次复位工作。

电路图如图6-1。

图6-3复位电路

3.3晶振电路

它是单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作。

假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:

电路将无法通信。

它是由一个晶振和两个瓷片电容组成的,晶振和瓷片电容是没有正负的,两个瓷片电容相连的那端一定要接地,如图6-2所示。

图6-4晶振电路

一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。

它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差,也能保证温漂等误差。

一般处理器的一个机器周期由12个时钟周期所组成。

所以单片机用12M晶振,运行速度为1M。

4、显示部分

本设计显示部分采用字符型LCD1602液晶显示所测距离值。

LCD1602显示的容量为2行16个字。

液晶显示屏有微功耗、体积小、显示内容丰富、超薄轻巧、使用方便等诸多优点,与数码管相比,显得更专业、美观。

被广泛用于低功耗电子产品和智能仪表中。

5、温度检测电路

DS18B20是美国DALLAS公司推出的单总线数字测温芯片。

它具有独特的单总线接口方式,仅需使用1个端口就能实现与单片机的双向通讯。

DS18B20采用3脚T0-92封装,形如三极管,同时也有8脚SOIC封装,还有6脚的TSOC封装。

测温范围为-55~+125℃,在-10~85℃范围内,精度为±0.5℃。

每一个DS18B20芯片的ROM中存放了一个64位ID号:

前8位是产品类型编号,随后48位是该器件的自身序号,最后8位是前面56位的循环冗余校验码。

又因其可以采用寄生电源方式供电。

因此,一条总线上可以同时挂接多个DS18B20,实现多点测温系统。

温度传感器的DQ脚与单片机的P1.2管脚相连,用于显示当时的环境温度。

并把从外界检测到的温度返回到单片机中,并通过固化在程序中的温度速度表,查得最接近检测到的温度的速度值,代入距离计算公式,从而得到比较精确的距离,提高了超声波测距的精度。

七、软件设计与系统调试

超声波测距系统的软件设计主要由主程序、超声波发射子程序、超声波接收中断程序、显示子程序、温度采集程序及距离计算子程序组成。

系统程序结构:

(1)DS18B20温度传感器接口模块,分为初始化程序、写入命令以及读取子程序等部分;

(2)基于LCD1602的显示模块,分为初始化子程序、写入子程序以及显示子程序;

(3)温度补偿与距离计算模块、分为超声波发送控制程序、接收处理程序、温度补偿子程序等;

(4)本次设计使用C语言编写程序,C语言相比汇编有许多的优势;编译器使用KeilVersion4进行程序编译,Keil功能强大使用方便。

主程序,分为系统初始化、中断处理以及各个子程序的调度管理等部分。

如图7-1所示描述了各个模块的关系:

图7-1系统软件方框图

1、主程序流程图

本设计主程序的思想如下:

(1)温度为三位显示,分辨率0.1摄氏度,距离为四位显示,单位为mm;

(2)温度每隔900ms采样一次,DS18B20在12位精度下转换周期为750ms,故900ms满足该速度要求;超声波每隔60ms发送一次。

(3)系统采用AT89S52的内时钟:

12MHz;

(4)超声波发送一定时间后才开始启动检测,避免直达信号造成误判。

所以系统最小测量约为30mm;

(5)当主程序检测到接收成功的标志位后,调用测距子程序,即可算得被测物与测距器之间的距离,最后显示在LCD上,主程序流程图如图7-2所示。

图7-2主程序流程图

1.1发射程序与接收程序流程图

超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12μs左右,同时把计数器T0打开进行计时。

本设计中P1.0引脚连接到推挽放大电路再连接到超声波发射传感器,而P3.2(INT0)则被用来接收回波。

定时器T1,T0均工作在工作方式1,为16位计数,T1定时器被用来开启一次测距过程以它的溢出为标志开始一个发射测量循环,T0定时器是用来计算脉冲往返时间,它们的初值均设为0。

超声波的接收由接收子程序来执行,接收子程序如图4-2所示。

首先初始化,其次发射超声波,接收端判断是否有回波,若时间大于30ms仍没检测到回波则重新发射超声波;若有回波,通过软件滤波,判断是否为回波信号,是回波,则读取时间,继续调用计算距离子程序,最后显示出测量的距离。

图7-2接收子程序流程图

1.2中断子程序流程图

1.2.1外部中断子程序

中断服务程序是响应单片机的外部中断。

在系统主程序中,发射的40KHz脉冲信号遇到障碍物反射后,经接收检测电路产生外中断信号至单片机。

在中断服务程序中,首先进行必要的现场保护,再把进入中断服务程序处的计数值读出并对该数据进行处理,计算得到相应的距离值,同时转换为十进制,最后送到显示输出。

1.2.2定时器中断子程序

由于51单片机是16位定时器,最大计时时间为65536us,当测量的距离很远的时候,定时器就会发生溢出。

所以必须对溢出中断进行相应的设置才能使得单片机正常工作。

同时由于电路的测量距离有限最远为2米,当测量距离超出2米时,接收探头就不能检测回波,即不能产出外部中断更不可能关闭定时器。

图7-3外部中断子程序流程图图7-4定时中断子程序流程

1.3距离计算与显示子程序

由于超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。

这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。

在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。

当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。

显示数据子程序的主要功能就是把超声波模块测量后的结果经单片机处理完毕的距离显示在LCD液晶显示屏上。

显示数据子程序流程图如图7-5所示。

图7-5显示流程图

2.系统调试

超声波测距系统中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。

若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。

根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。

当焊接的时候,仔细对照仿真图,焊接完了之后再检查一遍,看有没有多焊、漏焊以及错焊等情况。

在检查的过程中要预防集成片CX20106A与超声波接收电路中的超声波接收传感器R的管脚接错了,同时在检查的时候要注意硬件电路中各管脚是否有焊接在一起的情况,若有错误改正即可。

硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。

根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。

根据所设计的电路参数和程序,测距仪能测的范围为0.03~2m,测距仪最大误差不超过0.5cm。

系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。

八、设计中的问题及解决方法

1.LCD1602不亮

可能原因:

(1)单片机不工作。

(2)LCD显示模块的硬件电路连线有问题

故障排查:

(1)单片机不工作。

先检查单片机的电源线和地线是否接好,发现接线无误。

再看晶振电路是否工作,仔细检查,也无错误。

(2)LCD显示模块的硬件电路连线有问题。

通过万用表检查管脚有虚焊的情况,然后将此处进行修复后,LCD可以显示了。

2.在焊接最小系统是,不小心将103排阻正负方向插反,导致最小系统不工作,整个单片机的程序不能传输到锁存器,无法显示。

发现后,及时更换103排阻,并注意方向。

3.复位电路模块在焊接过程中,将电容击穿,使单片机无法上电复位。

重新焊接了一个复位电路。

九、总结

本次设计的最终结果实现了超声波的发送和接收,并且能够比较精确的检测距离,达到了设计的基本要求。

设计中对外界的温度采用,提高测量的精确度。

从而实现利用超声波方法测量物体间的距离并且以数字的形式显示测量距离和温度。

超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。

本次设计中采用反射波的原理,通过发射波被物体反射回来后接收反射波方式用来实现测距。

超声波测距硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路、超声波检测接收电路和温度采样电路四部分。

单片机采用8052。

采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。

单片机输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。

超声波测距的算法设计原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。

这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。

在启动发射电路后再启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。

当收到超声波反射波时,接收电路输出端产生一个负跳变,产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。

在课程设计完成之际,我们首先要向马老师表示最真挚的谢意。

在这两个星期的设计中,遇到了很多困难,通过查阅大量资料,小组讨论,请教同学老师,终于一一克服,在这个过程中,我们的分析问题、解决问题及独立工作的能力都有了很大的提高。

可以说是苦多于甜,学到了很多很多的东西。

通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

十、参考文献

[1]胡汉才.单片机原理及系统设计[M].北京:

清华大学出版社,2002.

[2]王守中.51单片机开发入门与典型实例[M].北京:

人民邮电出版社,2007.

[3]陈雪丽.单片机原理及接口技术[M].北京:

化学工业出版社,2005.

[4]薛均义,张彦斌.MCS-51系列单片微型计算机及其应用.西安:

西安交通大学出版社,2005.

[5]唐颖,程菊花,任条娟.单片机原理与应用及C51程序设计[M].北京:

北京大学出版社,2008.

[6]李丽霞.单片机在超声波测距中的应用[J].电子技术,2002

[7]贾伯年.传感器技术.南京:

东南大学出版社,2000

 

附录1

系统原理图

附录2

源程序

#include

#include

#include

#include"lcd.h"

#include"ds18b20.h"

#definenop12_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()

/*___________12M晶振,12个nop是1us________*/

sbitwave=P1^0;

sbitecho=P3^2;

charflag_echo=0,flag_pass=0;//第一个参数1表示有回波,第二个参数1表示回波已经失效

/**************************************

*************整形转字符串**************

num:

待转换数,str:

字符串,radix:

进制

**************************************/

voiddis_itoa(intnum,char*str,intradix);

voidmain(void)

{

unsignedchari,str[10];//i:

循环用,str:

用于保存转换后的距离

floattime=0,k;//保存定时器的时间,k:

温度对应的声速因子

unsignedintdistance=0,time_=0;

wave=1;

EA=1;//打开总中断

ET0=1;//定时器0中断

TMOD=0X01;//定时器0方式1

TH0=0X00;//单片机计时器高8位

TL0=0X00;//单片机计时器低8位

IT0=0;//int0下降沿触发

lcd_csh();//显示器(ds18b20)库函数,lcd开头的函数都是

lcd_com(0x01);

sleep_ms(5);

lcd_display(0,1,"Temp:

C");//3个参数,最后一个参数为显示内容

lcd_display(0,0,"Distance:

mm");

while

(1)//死循环,用来监听端口

{

EX0=1;//打开中断int0

for(i=8;i>0;i--)//产生8个40khz脉冲,12us一个

{

wave=1;//引脚名称,见头部定义

nop12;//停顿12us

wave=0;

nop12;

}

TR0=1;//开始计时

wave=1;

while(!

flag_echo)//未接收到回响

{

time=TH0;//时间清零

if(time>=0XeF){

TR0=0;

EX0=0;

flag_pass=1;

break;

}

}

//接收到回响

time_=TH0;//获取单片机计时器的时间

time_=time_<<8;

time_=time_|TL0;

TH0=0X00;

TL0=0X00;

time=(float)time_/1000;//time时间:

ms

k=sqrt((ds_readtm()/2730)+1)*165.5;

distance=time*k;//计算距离:

cm

lcd_display(10,1,ds_itoa());//显示格式化了的温度

lcd_diy();

dis_itoa(distance,str,10);//格式化距离保存在str中

if(flag_pass==1){for(i=0;i<=3;i++)str[i]='-';str[4]=0;flag_pass=0;}//如果回波被标记为失效,则清除显示

lcd_display(10,0,"");

lcd_display(10,0,str);//显示格式化了的距离

sleep_ms(20);

flag_echo=0;//标记为没有回波

}

}

voidGetEcho()interrupt0

{

TR0=0;

flag_echo=1;

EX0=0;

}

voiddis_itoa(intnum,char*str,intradix)//功能函数,将计算得到的距离格式化

{

charindex[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

chartemp;

unsignedunum;

inti=0,j,k;

if(radix==10&&num<0)

{

unum=(unsigned)-num;

str[i++]='-';

}

elseunum=(unsigned)num;

do{

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

当前位置:首页 > 医药卫生 > 中医中药

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

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