05 基于单片机的超声波测距Word文档下载推荐.docx
- 文档编号:16605511
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:29
- 大小:157.01KB
05 基于单片机的超声波测距Word文档下载推荐.docx
《05 基于单片机的超声波测距Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《05 基于单片机的超声波测距Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。
在空气中衰减较快,而在液体及固体中传播,衰减较慢,传播较远。
为了以超声波作为检测手段,必须设法产生超生波和接收超声波。
常用的超声波传感器可以分为二大类:
一是用电气方式产生超声波;
二是用机械方式产生超声波。
压电式超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换成超声波发射出去;
超声波发生器内部结构有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
本次设计超声波传感器采用电气方式中的压电式超声波换能器,它是利用压电晶体的谐振来工作的。
它有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频等于压电晶片的固有振荡频率时,压电晶片将会发生共振,产生40KHz的超声波。
2.2.2超声波设计系统方案
根据设计要求并综合各方面因素,可以采用AT89C52单片机作为主控制器,采用2行16位字符的液晶LCD1602进行数字显示,超声波驱动信号用单片机的精确延时模块完成,超声波测距系统框图如图1所示。
图1超声波设计系统框图
3.系统组成
3.1系统硬件部分
系统硬件部分主要由单片机系统及显示电路、超声波发射电路、超声波检测接收电路、温度补偿电路和扫描驱动等五大部分组成。
采用AT89C52来实现对CX20106A红外接收芯片的控制。
单片机通过单片机P2.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。
计数器所计的数据就是超声波所经历的时间,通过计算就可以得到传感器与障碍物之间的距离。
3.2系统软件部分
系统软件部分主要由系统主程序、超声波发生子程序、超声波接收子程序、系统温度补采集程序、距离计算程序、数据转换程序、LCD显示子程序等部分。
超声波发生子程序采用延时操作产生精确的40KHz的脉冲波形,系统温度采集子程序采用DS18B20的异步通信方式,从而实现对温度的读取操作。
4.系统硬件电路设计
4.1超声波发射电路
压电超声波转换器的功能:
利用压电晶体谐振工作。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是超声波发生器;
如没加电压,当共振板接收到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接收转换器。
超声波发射转换器与接收转换器其结构稍有不同。
超声波发射电路原理图如图2所示。
图2超声波发射电路原理图
4.2超声波检测接收电路
参考红外转化接收电路,本设计采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。
由于采用集成芯片可简化电路的复杂性。
并且,提高硬件电路的抗干扰等能力。
从而,进一步的简化了电路设计的难度。
并且适当改变C4的大小,可改变接收电路的灵敏度和抗干扰能力。
超声波检测接收电路原理图如图3所示。
图3超声波检测接收电路原理图
4.3单片机系统及其显示电路
AT89C51具有如下特点:
40个引脚,4KBytesFlash片内程序存储器,128Bytes的随机存取数据存储器(RAM),32个外部双向输入、输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89C51设计和配置了振荡频率可为12MHZ并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
该系列单片机引脚图如图4所示。
图4AT89C51引脚图
5l系列单片机提供以下功能:
4KB存储器;
256BRAM;
32条I/O线;
2个16位定时/计数器;
5个2级中断源;
1个全双向的串行口以及时钟电路。
空闲方式:
CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作,从而可以最大限度的降低单片机的功耗。
掉电方式:
保存RAM的内容,振荡器停振,禁止芯片其他功能直到下一次硬件复位。
5l系列单片机高集成度,体积小,高可靠性,控制功能强。
为许多控制提供了高度灵活和低成本的解决办法。
充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。
4.5LCD1602显示电路
1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。
1602型LCD可以显示2行16位字符,有8位数据总线D0~D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比
度调节和背光功能。
★接口信号说明
1602型LCD的接口信号说明如表1所示:
表11602型LCD的接口信号说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
DataI/O
2
VDD
电源正极
10
D3
3
V0
液晶显示偏压信号
11
D4
4
RS
数据/命令选择端(H/L)
12
D5
5
R/W
读写选择端(H/L)
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
★主要技术参数
1602型LCD的主要技术参数如表2所示:
表21602型LCD的主要技术参数
显示容量
16X2个字符
芯片工作电压
4.5~5.5V
工作电流
2.0mA(5.0V)
模块最佳工作电压
5.0V
字符尺寸
2.95X4.35(WXH)mm
★基本操作程序
读状态:
输入:
RS=L,RW=L,E=H输出:
D0~D7=状态字
读数据:
RS=H,RW=H,E=H输出:
无
写指令:
RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:
D0~D7=数据
写数据:
RS=H,RW=L,D0~D7=数据,E=高脉冲输出:
★显示电路连接图
显示电路采用LCD模块电路设计,利用电位器R2实现对LCD背光的调节。
其显示电路原理图如图5所示。
图5LCD1602显示电路原理图
4.4温度补偿电路
4.5.1DS18B20功能简介
温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。
超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。
对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的最佳选择。
了解其工作原理和应用可以拓宽您对单片机开发的思路。
DS18B20温度传感器内部存储器包括一个高速暂存RAM和一个非易失性可檫除的E2RAM,后者存放高温和低温触发器TH、TL和结构存储器。
暂存存储器包括连续8个字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节的内容是温度的高八位。
第三个和第四个字节是TH、TL的易失性拷贝。
第五个字节是结构寄存器的易失性拷贝。
第六、七、八个字节用于内部计算。
DS18B20的主要特征有:
★全数字温度转换及输出
★先进的单总线数据通信
★最高12位分辨率,精度可达土0.5摄氏度
★12位分辨率时的最大工作周期为750毫秒
★可选择寄生工作方式
★检测温度范围为–55°
C~+125°
C(–67°
F~+257°
F)
★内置EEPROM,限温报警功能
★64位光刻ROM,内置产品序列号,方便多机挂接
★多样封装形式,适应不同硬件系统
4.5.2DS18B20工作原理及其应用
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
他的一个工作周期可分为两个部分,即温度检测和数据处理。
在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。
ROM只读存储器:
用于存放DS18B20编码,其前8位是单线系列编码,后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
RAM数据暂存器:
用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
4.5.3温度补偿电路原理
温度补偿电路主要由DS18B20组成,其信号端口接4.7K上拉电阻。
温度补偿电路原理图如图6所示。
图6温度补偿电路原理图
4.6源电路设计
系统使用5V直流电压,设计原理图如图8所示。
通过变压器变压,再经过整流电路、滤波电路进而将交流电变为直流电,在通过稳压器LM7805得到较稳定的电压,通过两级电容对输出电压滤波后得到稳定的5V直流电压。
图8电源电路原理图
5.系统软件设计
5.1超声波测距原理
在超声探测电路中,发射端得到输出脉冲为一系列方波,其宽度为发射超声的时间间隔,被测物距离越大,脉冲宽度越大,输出脉冲个数与被测距离成正比。
超声测距大致有以下方法:
①取输出脉冲的平均值电压,该电压(其幅值基本固定)与距离成正比,测量电压即可测得距离;
②测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔t,故被测距离为S=1/2vt。
本测量电路采用第二种方案。
由于超声波的声速与温度有关,如果温度变化不大,则可认为声速基本不变。
如果测距精度要求很高,则应通过温度补偿的方法加以校正。
超声波测距适用于高精度的中长距离测量。
因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。
超声波测距的算法设计:
超声波在空气中传播速度为每秒钟340米(15℃时)。
X2是声波返回的时刻,X1是声波发声的时刻,X2-X1得出的是一个时间差的绝对值,假定X2-X1=0.03S,则有340m×
0.03S=10.2m。
由于在这10.2m的时间里,超声波发出到遇到返射物返回的距离如下:
图2.1.4测距原理
超声波测距器的系统框图如下图所示:
5.2主程序流程
主程序首先对系统环境初始化,设置定时器,工作模式为l6位的定时计数器模式,初始化定时器0、外部中断0及LCD显示电路。
然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断O接收返回的超声波信号。
由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,读出计数器0中的值(即超声波来回所用的时间)。
然后根据温度补偿电路测得的温度值所对应下的波速即可算得所测距离。
例如所测温度为2O℃时的声速为344m/s则有:
d=(C*T0)/2=172T0/10000cm。
主程序设计流程图如图10所示。
图10主程序流程图
5.3温度测量流程图
用超声波测量距离需要对速度补偿,这样才能达到我们所要求的精度,因此要完成此设计要对温度进行测量。
由于DS18B20具有超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强等诸多优点。
所以,在此设计中我用DS18B20测量温度。
温度补偿流程图如图11所示。
复位度传感器DS18B20
写入控制字节(0XCC)
写入控制字节0X44启动温度转换
写入读暂存器控制字节0XBE
读出温度
图11温度测量流程图
5.4超声波发生子程序和超声波接收中断程序
超声波发生子程序的作用是通过P2.0端口连续发送6个左右超声波脉冲信号(频率40kHz的方波),脉冲宽度为12us左右,同时把计数器T0打开进行计时。
超声波发生子程序较简单,但要求程序运行准确。
超声波测距接收子程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现下降沿或低电平),立即进入中断程序。
进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。
如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值,表示此次测距不成功。
5.5系统的软硬件的调试
超声波测距的制作和调试都比较简单,其中超声波发射和接收采用直径为15mm的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。
若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。
根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容的大小,以获得合适的接收灵敏度和抗干扰能力。
硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。
根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。
根据所设计的电路参数和程序,测距仪能测的范围为0.04~10m,测距仪最大误差不超过1cm。
系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。
6.设计总结
本课题介绍了一种基于单片机的超声波测距系统的原理和设计。
本系统的控制部分是单片机,采用的是AT89C52。
驱动超声波传感器的方波信号,就是由单片机编程产生的通过它对单片机产生的方波信号进行放大,以驱动传感器工作。
通过接收电路对接收到的信号进行放大和整形,最终再输出负脉冲给单片机响应中断程序。
总体来说,学会了各种放大电路的分析、设计,也掌握了单片机的开发过程和利用单片机设计电路的方法。
对一块电路板的设计、调试、改进等整个过程,有了更深入的理解和掌握。
7.参考文献
(1)专著、论文、学位论文、报告
1Atmel公司。
At89S52的DATASHEET
2DALLS公司。
DS18B20的DATASHEET
3FalrChild公司。
LM7805的DATASHEET
4SONY公司。
CX20106的DATASHEET
5沈红卫.单片机应用系统设计实例与分析.
6沈红卫.基于单片机的智能系统设计与实现.电子工业出版社.2005
7冯育长.单片机系统设计与实例分析.西安电子科技大学出版社,2007年.
8马云峰.数字温度传感器DS18B20的原理与应用.2002.
8.附录
8.1超声波硬件设计原理图
图12超声波硬件设计原理图
8.2超声波硬件设计PCB图
图13超声波硬件设计原理图
8.1C源程序:
#include"
reg52.h"
#include"
intrins.h"
math.h"
#defineucharunsignedchar
#defineuintunsignedint
#defineLcd_DataP0//定义LCD数据端口
//定义显示缓冲
ucharcodedispbuf[33]={"
Temperature:
`CDistance:
mm"
};
ucharnumcode[10]={'
0'
'
1'
2'
3'
4'
5'
6'
7'
8'
9'
uintnum[29]={0};
ucharjsh,jsl;
//计数器的高低位
ucharcount=0;
//10秒计次数
uintdistance;
//距离
sbitRS=P2^0;
//LCDRS
sbitRW=P2^1;
//LCDRW
sbitE=P2^2;
//LCDE
sbitBusy=P0^7;
//LCD忙
ucharbdataflag;
//DS18B20存在标准
sbitDQ=P2^7;
//DS18B20数字端口
uinttemp;
//温度变量
voiddelay(void);
//延时函数
voidInit_LCD(void);
//初始化LCD
voidWrite_Comm(uchar);
//写入LCD命令
voidWrite_Data(uchar);
//写入LCD数据
voidRead_Busy(void);
//检查LCD是否忙
voidInit_18B20(void);
//初始化18B20
ucharReadOneChar(void);
//读取一个字节
voidWriteOneChar(uchardat);
//写入一个字节
voidtesttemp(void);
//启动温度转换,启动后750MS才能读取到温度
uintwd(void);
//读取温度
voidDelay(uinttime);
sbitsta_flag=flag^0;
//10MS到标准位
sbitfuhao=flag^1;
//温度的符号位
sbitSTART=P1^0;
//启动测距
sbitCNT=P2^5;
//发射超声波
sbitCSBIN=P2^6;
//返回信号
sbitBUZZER=P3^7;
voidtimer1(void);
voiddelay1ms(void);
//延时1MS
voidsys_init(void);
//系统初始化
voiddisplay(void);
//显示函数
voidcomputer(void);
//计算
voidhextobcd(bitflag,ucharnum);
//转换成BCD
voidbm(void);
//求补码
voiddelay15(ucharus);
//延时15US
/************************************************************************
系统主函数
*************************************************************************/
voidmain(void)
{
uchari,j;
for(i=0;
i<
255;
i++)
for(j=0;
j<
j++);
//延时
sys_init();
//初始化
display();
//显示
sta_flag=0;
//标准复位
waitforstarting:
//检测按键
while(START);
20;
delay1ms();
if(START)
gotowaitforstarting;
BUZZER=0;
//蜂鸣器鸣音提升按键按下
i=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 05 基于单片机的超声波测距 基于 单片机 超声波 测距