基于NE55的超声波测距模块 - 图文

更新时间:2023-11-08 12:03:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目 录

一、系统总体设计 ........................................................................................................................... 3 二、硬件设计 ................................................................................................................................... 5

2.1 AT89S52单片机主控模块 ................................................................................................. 5 2.2 NE555产生40kHz频率模块 ........................................................................................... 6 2.3 超声波测距收发模块 ........................................................................................................ 9

2.3.1 超声波发射模块 ................................................................................................... 11 2.3.2 超声波接收模块 ................................................................................................... 12 2.4 DS18B20温度测量模块 ................................................................................................. 15 2.5 红外遥控模块 .................................................................................................................. 18 2.6 1602液晶显示模块......................................................................................................... 20 三、程序设计 ................................................................................................................................. 29

3.1 超声波测距收发模块程序设计 ...................................................................................... 32 3.2 DS18B20温度测量模块程序设计 .................................................................................. 35 3.3 红外遥控模块程序设计 .................................................................................................. 42

3.3.1 0和1的编码 ....................................................................................................... 42 3.3.2 按键的编码 ........................................................................................................... 42 3.3.3 遥控信号的解码算法及程序编写 ....................................................................... 43 3.4 1602液晶显示模块程序设计 ......................................................................................... 45 四、结语......................................................................................................................................... 47 五、谢辞......................................................................................................... 错误!未定义书签。 六、参考文献 ................................................................................................................................. 48

1

红外遥控超声波测距仪

吴飞运

0600310326

关键词:传感器 超声波 温度 测距

摘要

红外遥控超声波测距仪是以超声波测距为核心的多传感器巧妙结合的作品。本作品用到红外传感器一体化红外接收头、温度传感器DS18B20、压电式传感器超声波测距收发头等传感器。可以根据需要用红外遥控来选择不同的运行模式,并实时地将运行结果在1602液晶显示出来,具有较好的人机界面。本

2

作品可以用于测温、测距,测量精度较高,测量效果很好。如果经过稍微改装,还可以将本作品应用在机器人和汽车上。

一、系统总体设计

3

图1.1-1 系统总体设计框图

红外遥控超声波测距仪主要由AT89S52单片机主控模块、NE555产生40kHz频率模块、超声波测距收发模块、DS18B20温度测量模块、红外遥控模块、1602液晶显示模块等模块组成。

本作品用AT89S52单片机主控模块来控制系统的运行,用红外遥控模块做模式选择,用DS18B20温度测量模块测量温度,用NE555产生40kHz频率模块供给超声波测距收发模块,用超声波测距收发模块来接收和发射超声波信号,用1602液晶显示模块来显示运行结果。

本作品开始运行时在1602液晶显示屏上显示作者的名字,然后自动提示用户进行模式选择,按遥控上的“1”键只测量温度并显示;按“2”键只测量距离并显示;按“3”键测温测距并显示;按“4”键显示作者的名字。用户可以根据需要用红外遥控来选择不同的运行模式。

4

二、硬件设计

2.1 AT89S52单片机主控模块

图2.1-1 AT89S52单片机主控模块图

图2.1-1中的左下部是电源模块用9V供电经7805稳压为5V后供给系统使用。左上部是52单片机的复位电路,按下按键可以手动复位。LOAD_SE1是下载头,用来下载程序。单片机的CON接到NE555产生40kHz频率模块,INT0接到红外遥控模块,BACK_PLUS接到超声波测距收发模块,DQ接到DS18B20温度测量模块,E、RW、RS、D0~D7接到1602液晶显示模块。

AT89S52单片机简介:

AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。

主要性能:

● 与MCS-51单片机产品兼容

5

● 8K字节在系统可编程Flash存储器 ● 1000次擦写周期 ● 全静态操作:0Hz~33Hz ● 三级加密程序存储器 ● 32个可编程I/O口线 ● 三个16位定时器/计数器

● 八个中断源,全双工UART串行通道 ● 低功耗空闲和掉电模式 ● 掉电后中断可唤醒 ● 看门狗定时器 ● 双数据指针 ● 掉电标识符

2.2 NE555产生40kHz频率模块

图2.2-1 NE555产生40kHz频率模块图

6

图2.2-1 中当SW1开关拨到VCC端时,NE555连续发射频率;当接到CON端时,由单片机来控制是否发射频率,当CON为高电平时发射,低电平时不发射。40KHZ_SEND将产生占空比约为1:2的40kHz的频率,40KHZ_SEND接到超声波测距收发模块。

NE555简介:

NE555时基集成电路是8脚的数字集成电路,是由21个晶体三极管、4个晶体二极管和16个电阻组成的定时器,有分压器、比较器、触发器和放电器等功 能的电路。它具有成本低、易使用、适应面广、驱动电流大和一定的负载能力。在电子制作中只需经过简单调试,就可以做成多种实用的各种小电路,远远优于三极管电路,内部结构如图2.2-2。

它的各个引脚功能如下:

1脚:外接电源负端VSS或接地,一般情况下接地。

8脚:外接电源VCC,双极型时基电路VCC的范围是4.5 ~ 16V,CMOS型时基电路VCC

的范围为3 ~ 18V。

3脚:输出端Vo 2脚:TL低触发端 6脚:TH高触发端

4脚:RD是直接清零端。当RD端接低电平,则时基电路不工作,此时不论TL、TH处于何电平,时基电路输出为“0”,该端不用时应接高电平。

5脚:VC为控制电压端。若此端外接电压,则可改变内部两个比较器的基准电压,当该端不用时,应将该端串入一只0.01μF电容接地,以防引入干扰。

7脚:放电端。该端与放电管集电极相连,用做定时器时电容的放电。 在1脚接地,5脚未外接电压,两个比较器A1、A2基准电压分别为情况下,555时基电路的功能表如表2.2-1所示。

7

21VCC,VCC的33

图2.2-2 NE555内部结构图

NE555时基集成电路的主要参数:电源电压4.5~16V,输出驱动电流为200毫安,作定时器使用时,定时精度为1%,作振荡使用时,输出的脉冲的最高频率可达500千赫。

清零端RD 0 1 高触发端TH 低触发端TL Qn+1 放电管T 功能 直接清零 置0 ? 2?VCC 3? 1?VCC 38

0 0 导通 导通

1 1 ??2VCC 32VCC 31?VCC 31?VCC 31 Qn 截止 不变 置1 保持 表2.2-1 555时基电路的功能表

NE555应用十分广泛,可装如下几种电路: (1)单稳类电路

作用:定延时,消抖动,分(倍)频,脉冲输出,速率检测等。 (2)双稳类电路

作用:比较器,锁存器,反相器,方波输出及整形等。 (3)无稳类电路

作用:方波输出,电源变换,音响报警,玩具,电控测量,定时等。 时基电路,可以作成:振荡器,也可以作放大用。

2.3 超声波测距收发模块

图2.3-1 超声波探头图

超声波测距原理 :

9

1、 超声波发生器

为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。

2、压电式超声波发生器原理

压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内

部结构如图2.3-1所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。

图2.3-1 超声波发生器内部结构图

3、超声波测距原理

途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。若

超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2,这就是所谓的时间差测距法。

10

2.3.1 超声波发射模块

图2.3.1 超声波发射模块图

40kHz频率可以由单片机产生,也可以由NE555产生,本作品用NE555产生,产生的频率稳定,控制也方便。图2.3.1中的非门CD4049对40KHz频率信号进行调理,以使超声波传感器产生谐振。

11

2.3.2 超声波接收模块

图2.3.2-1 超声波接收模块图

超声波接收处理部分电路前级采用NE5532构成10000倍放大器,对接收信号进行放大;后级采用LM311比较器对接收信号进行调整,比较电压为LM311的3管脚的输入。 LM311输出7脚在图2.3.2-1的电路中,无回波信号时输出低电平 ;当有回波信号时输出方波,有下降沿出现,单片机进入外部中断程序。

NE5532简介:

图2.3.2-2 NE5532引脚图

5532是高性能低噪声运放,与很多标准运放(如1458)相似,它具有较好的噪声性能,优良的输出驱动能力及相当高的小信号与电源带宽。 (1)小信号带宽:10MHz; (2)输出驱动能力:600Ω,10V;

(3)输入噪声电压:5nV/√HZ(典型值); (4)DC电压增益:50000; (5)AC电压增益:10KHz时2200; (6)电源带宽:140KHz;

12

(7)转换速率:9V/μS;

(8)大电源电压范围:±3~±20V。 极限参数:

电源电压:Vs …………………… ±22V 差分输入电压:VDIFF …………………… ±5V 工作温度范围:TA …………………… 0℃~70℃ 存贮温度:TSTG …………………… -65℃~150℃ 结温:Tj …………………… 150℃

功耗(5532FE):PD …………………… 1000mW 引线温度(焊接,10S)…………………… 300℃

LM311简介:

LM311是单片高速电压比较器,是放大器总类的IC。可以用于产生很宽范围的电压,包括给运算放大器提供的+/-15V电压和系统的5V逻辑电压。输出电压和大多数TTL和MOS电路兼容。通常用的是DIP-8封装形式的,其外型以及引脚如图3.5:

其2,3,7脚为一个放大器单元。2脚为同向输入端,3脚为反向输入端,7脚为输出。

工作原理是:给8脚和4脚分别置电源的两端,2脚和3脚分别输入采集的需要比较的两个模拟电压,当同向电压大于反向电压的话,侧7脚输出逻辑的“1”;反之,若反向大于正向,输出逻辑“0”。输出的逻辑“1”“0”的大小伏值由置与8和4脚的电源电压来决定。比如:置8为+5V,4为0,则比较后输出的逻辑电平伏值就是5V和0V。也可以置其双电源,双电源就好比+5V和-5V,其优点就是可以用于比较在0V上下的电压。现在好多种类的传感器输出就是0V上下的正旋波。

图2.3.2-3 LM311框图

13

超声波测距注意事项:避免余波信号的干扰。

图2.3.2-4 超声波发射头和接收头的两个波形图

图2.3.2-4是通过示波器采集的超声波发射头和接收头的两个波形。从图中我们,当发射头发出一组40KHz的脉冲后(图中下面的波形),接收头几乎在同一时间就收到了超声波信号,这个波束是余波信号。持续一段时间后,我们才看到超声波接收头又收到了一组波束,这个才是经过被测物表面反射的回波信号。

超声波测距时,需要测的是开始发射到接收到信号的时间差,由上图中就可看出,需要检测的有效信号为反射物反射的回波信号,故要尽量避免检测到余波信号。这就要求对接收头收到的波束进行处理,这也是超声波检测中存在最小测量盲区的主要原因。

在软件中的处理方法就是,当发射头发出脉冲后,记时器同时开始记时。我们在记时器开始记时一段时间后再开启检测回波信号,以避免余波信号的干扰。等待的时间可以为1ms左右。更精确的等待时间可以减小最小测量盲区。

14

2.4 DS18B20温度测量模块

图2.4-1 DS18B20温度测量模块图

DS18B20简介:

DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线

路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 1、DS18B20产品的特点

(1)、只要求一个端口即可实现通信。

(2)、在DS18B20中的每个器件上都有独一无二的序列号。 (3)、实际应用中不需要外部任何元器件即可实现测温。 (4)、测量温度范围在-55。C到+125。C之间。 (5)、数字温度计的分辨率用户可以从9位到12位选择。

15

void initial_lcd1602(void) LCD1602 { uchar i; EN=0;

for(i=200;i>0;i--)

lcd_delay(248);

write_lcd_command(0x38);

令,双行显示,显示5x7的点阵字符 for(i=4;i>0;i--)

lcd_delay(248);

write_lcd_command(0x38);

0x38命令,双行显示,显示5x7的点阵字符 for(i=4;i>0;i--)

lcd_delay(248);

write_lcd_command(0x0c);

不闪烁 for(i=4;i>0;i--)

lcd_delay(248);

write_lcd_command(0x06);

不移动 for(i=4;i>0;i--)

lcd_delay(248);

write_lcd_command(0x01);

for(i=4;i>0;i--)

lcd_delay(248);

}

46

//初始化

//0x38

//再写一次

//无光标,

//光标右移,文字

//清屏

四、结语

本作品红外遥控有效距离较远,可达十几米,并且遥控解码准确无误。测温可精确到0.01摄氏度。测距可精确到0.01米,能测到2.5米左右,在2米内测距效果更佳。LCD1602的显示清晰、稳定。

本作品用到红外传感器一体化红外接收头、温度传感器DS18B20、压电式传感器超声波测距收发头等传感器。完成本作品后,我对一些常用的传感器有了更深刻的理解,并将学到的理论知识应用到了实践中去,自己的动手实践能力得到了很大的提高。

47

六、参考文献

[1] 王文辉,刘淑英,蔡胜乐等.电路与电子学(第3版)[M].北京:电子工业出版社,2007.6

[2] 宋培义,刘立新.单片机原理、接口技术及应用[M].北京:北京航空航天大学出版

社.1999.1:3~398.

[3] 何利民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:北京航空

航天大学出版社,2003.

[4] 谭浩强.C程序设计[M].北京:清华大学出版社,2004

[5] 王建校,杨建国,宁改娣,危建国.51系列单片机及C51程序设计[M].北京:科学出版社,2002.4

48

49

图2.6-5 读操作时序

图2.6-6 写操作时序

1602LCD的RAM地址映射及标准字库表

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的

忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图2.6-7是1602的内部显示地址。

26

图2.6-7 1602LCD内部显示地址

例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定

位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。

在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是

自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。

1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点

阵字符图形,如表2.6-4 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”

27

表2.6-4 字符代码与图形对应表

28

系统总体程序设计: 三、程序设计

29

图3-1 系统总体程序设计框图

系统总体程序设计部分程序代码:

void key_scan(void) {

switch(Key_control) { case 1:

DS18B20();

Display_temperature();

30

本文来源:https://www.bwwdw.com/article/dsu2.html

Top