基于单片机的超声波测距报警系统设计

发布者:行者无疆1978最新更新时间:2016-09-20 来源: ofweek关键字:单片机  超声波  测距报警系统 手机看文章 扫描二维码
随时随地手机看文章
  引言

 

  科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。我们人类耳朵能听到的声波频率为20~20000Hz。当声波的振动频率大于20KHz或小于20Hz时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为“超声波”。

 

  1.超声波测距原理

 

  超声波是指频率高于20KHz 的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波,完成这种功能的装置称为超声波传感器。超声波传感器有发送器和接收器,有的也可具有发送和接收声波的双重作用。根据超声波的产生方式,超声波传感器可分为两大类:一类是电气式,如压电式、磁致伸缩式和电动式等;一类是机械式,如加尔统笛、液哨等。目前常用的是压电式超声波传感器。它利用压电效应的原理将电能和超声波相互转化,即发射超声波时,将电能转换为超声波发射出去;在收到回波时,将超声振动转换成电信号。

  超声波测距的原理一般采用时间差法,即测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即:

  

  式中,D—传感器与障碍物之间的距离;c—声波在介质中的传输速度。

  由于超声波易于定向发射、方向性好、强度易控制、与被测物体不需直接接触,故超声波传感器广泛地应用于液体高度测量、汽车倒车等方面。为了提高测量精度,减小误差,根据公式(1)可知,测距误差由传播速度误差和传播时间误差引起。

  当传播速度准确时,传播时间差值精度只要达到微秒级,就可保证测距误差小于1mm。设计中,可采用12MHz 晶体作时钟的基准,单片机定时器的计数精度可达1us,从而保证测量精度。

  传播速度受空气密度的影响,空气密度越高,传播速度越快,而空气密度与温度有密切关系。在理想气体中声波的传播速度c 为:

  

  式中,γ—气体定压比热容与定容比热容之比;R—气体常数;M—气体分子量;T—绝对温度。

  若温度变化不大,则可认为声速基本不变,其值为340m/s。若测距精度要求较高,为减小温度变化对声速产生的影响,在设计中,应增加温度传感器来监测环境温度,进行实时温度补偿,近似公式为:

  

  式中,c0—零度时的声波速度332m/s; T—实际温度(℃)。

 

  2.测距报警系统设计

 

  2.1 硬件设计

  电路原理图如图1 所示。采用PIC16F73 单片机作为主控制器,实现对CX20106 红外接收芯片(红外常用的载波频率38KHz 与测距超声波频率40KHz 较为接近) 和TCT40 系列超声波转换模块的控制。单片机通过端口RB1 控制超声波的发送,然后单片机不停地检测中断端口RB0/INT,当端口RB0/INT 的电平由高电平变为低电平时,系统认为超声波已返回。计数器所计数据即为超声波所经历的时间,通过换算可得到传感器与障碍物之间的距离。超声信号的驱动由单片机定时器完成,LED 数字显示采用动静态驱动相结合的方法实现,报警模块采用简单的声光报警电路。

 

  

  图1 测距报警系统电路原理图

 

  系统利用单片机的定时器功能产生40KHz 脉冲信号, 并通过端口RB1 输出到超声波发射部分。超声波发射电路中, 六反相缓冲器CD4049 包括6个非门,现仅使用3 个,为防止干扰或被静电击穿导致整个CD4049 损坏,把未使用的3 个非门串起来做接地处理。当控制端输出一系列固定频率脉冲时,在超声波发射器TCT40-1F 上就以固定的频率加正电压和反电压,从而发出大功率的超声波。这种以软件方式产生的波形较用其他方式产生的效果更理想。

  接收器采用与发射器相配对的TCT40-2S, 将超声波调制脉冲转换为40KHz 毫伏级电压信号, 此信号需经过放大处理才能触发单片机中断。芯片CX20106 内置前置放大器、限幅放大器、带通滤波器、检波器、积分器、整型电路等。其中前置放大器具有自动增益控制功能,可保证在超声波传感器接收较远反射信号而输出微弱电压时,放大器有较高的增益,而在近距离输入信号强时,放大器不会过载。调节芯片引脚5 的外接电阻R3 的值,可设置滤波器的中心频率。当RB3=200K时,中心频率为42KHz;当RB3=220K 时,中心频率为38KHz。当接收到与滤波器中心频率相符的信号时,引脚7 输出一个低电平,从而触发中断。适当改变引脚2 的外接电容C4 的值,可改变接收电路的灵敏度和抗干扰能力。
 

  3位LED数码显示采用显示器动静态驱动相结合的方法实现。采用单片机串行口通过74HC164 串入并出移位寄存器来输出LED 的段驱动信号,每个LED 的段信号都连在一起,并与74HC164 输出的段驱动信号连接。每个LED 的位驱动信号由单片机的端口RB5~RB7 通过ULN2004 驱动集成块分别驱动,LED 需用共阴数码管。

  报警模块的功能是, 当传感器与障碍物的距离不小于设定值时,绿色指示灯闪亮;反之,红色指示灯闪亮,蜂鸣器发声,提示人员注意安全距离。

  2.2 软件设计

  软件分为两部分:主程序和中断服务程序,流程图如图2 所示。主程序完成初始化工作及超声波发射和接收控制。中断服务程序包括定时中断服务子程序和外部中断服务子程序,分别完成超声波的发射、距离计算及显示报警等工作。

 

  

  图2 测距报警系统程序流程图

 

  3.测试结果

 

  当距离大于2m 时,绿灯闪亮,显示距离;当距离小于1m 时,红灯闪亮,由端口RB2 驱动蜂鸣器报警,显示距离;当距离介于2m 和1m之间时,红灯闪亮,显示距离。为提高抗干扰能力,系统连续发射超声波,测量三次,从中剔除最大最小值,取中间值计算出距离。

 

  4.结语

 

  此系统较好地实现了测距及报警功能,可用于汽车倒车、液位监控等场合,而且测量简单、经济、可靠。

关键字:单片机  超声波  测距报警系统 引用地址:基于单片机的超声波测距报警系统设计

上一篇:PIC单片机中重要指令介绍
下一篇:PIC16f1937 IO口配置

推荐阅读最新更新时间:2024-03-16 15:10

单片机按键处理程序(长按 短按 松手检测)
一个很精妙的单键程序: bit flag=0; 定义标志 以下是键盘处理程序: void scankey() //扫描按键 { if(p10= =0&&flag= =0) //p10口按键及处理程序,其中flag如果为1就不用再扫描 就是这里,没有消抖动了~是怎么回事咧 { delay(10); flag=1; delay(5); } if(p10= =1&&flag= =1) //如果p10为1,flag为1说明已经被按下并抬起 { TR0=!TR0; //松开时相应 flag=0; //标志清零,为下次按键做准备(其实为一次处理) } } 以下是另一个一个检测的主要部分: #include reg51.h #i
[单片机]
基于单片机的智能篮球记分器的设计
1 系统设计 1.1 系统分析 基于应用MCS-51系列中的STC89C52芯片,设计出篮球记时、记分、记秒,声音提示,无线遥控系统,同步监视,使其能实现A/B两队比分的加减,准确记录比赛时间,进攻24 s,记分裁判通过无线遥控器进行加减分的同时在主控制台同步监视显示屏上显示比分的变化。其控制系统的模块包含7 bit动态显示数码记分模块、4 bit动态显示数码计时模块、A/B两队加减分模块、无线遥控模块和声音提示模块。在系统硬件各个模块和软件的设计过程中,还要注意如何使得系统的抗干扰能力提高,设计出具有低功耗、可靠、快速、安全以及低成本、操作简单等特点的篮球记分器。此外还要能长期支持软件升级。系统设计方案不仅要完全满足智能篮球
[单片机]
基于<font color='red'>单片机</font>的智能篮球记分器的设计
PIC32MX单片机外设库使用(Ⅲ)-- 定时器之输入捕捉功能
1.如何使用定时器的捕捉功能。 简介:输入捕捉功能在频率(或周期)、脉冲宽度测量的应用中非常有用。 #define FOSC 80E6 //定义主系统时钟为80M #define PB_DIV 8 //定义系统外设分频器为8 #define PRESCALE 8 // 定义定时器分频器为256 #define MSEC 10E-3 #define T1_TICK (500 * MSEC * FOSC)/(PB_DIV * PRESCALE) /**************************************************************
[单片机]
PIC32MX<font color='red'>单片机</font>外设库使用(Ⅲ)-- 定时器之输入捕捉功能
单片机I/O口管脚内部结构
学习ARM嵌入式的时候,发现自己对以前学过的数模器件的知识遗忘了不少,按照我的进度本来应该继续学习ARM微处理器控制的课程,但想着后来势必还会遇到相同的问题所以就准备中断一下,杀回来把汇编和一些电路知识再总结一下,查漏补缺。如果有写的不合理的地方,还请多多指教。 言归正传,先来一幅图片来引入今天要讲述的三个知识点: 锁存器(由一个D触发器构成) D:数据输入端; CP/CLK:时序信号输入端; Q:输出端; ~Q:反向输出端; 工作原理: 当D端输入数据信号,CP/CLK端没有时序信号时,Q和~Q端将不会有信号输出; 当D端输入数据信号,CP/CLK端有时序信号时,Q和~Q端有信号输出; 当D端和CP/CLK端同时有信号输入后
[单片机]
<font color='red'>单片机</font>I/O口管脚内部结构
单片机外部RAM的数据传送
单片机传送数据 将存储器中 0000H--00FFH 中的数据传送到 2000H--20FFH中 悬赏分:30 - 解决时间:2009-10-4 09:42 ======================================= 其他回答: 如果是51单片机,应该这样: MOV DPL, #00H MOV R2, #00H LOOP: MOV DPH, #00H MOVX A, @DPTR MOV DPH, #20H MOVX @DPTR, A INC DPTR DJNZ R2, LOOP RET 回答者: 做而论道 - 六级 2009-9-18 11:08 =============
[单片机]
单片机交通灯实验汇编语言程序
经过几天的整理,终于将网络上得到交通灯仿真文件,用汇编自己编写了一个程序,实验结果完全符合本人的思路,实验成功。 程序比较长,估计还会用更好的办法重新写。 编写心得是:单片机编程,不一定要背指令,用时可以查,也不必去默写子程序,用时还是可以查,但是,很关键的就是,你的程序,你自己要清楚整个的执行过程,也就是单片机的执行流程。而在实际的应用中,要注意驱动电路的设计,特别是单片机上电复位输出高电平可能造成的影响。 程序如下:如果网页显示格式错乱可从http://www.51hei.com/f/jtda.rar处下载. ORG 0000H START: MOV R2,#30 SU0: MOV P
[单片机]
<font color='red'>单片机</font>交通灯实验汇编语言程序
基于51单片机的多功能时钟温度计 DS1302+LCD1602
本设计是由STC89C52单片机为控制核心,具有在线编程功能,低功耗;时钟电路由DS1302提供,它是一种高性能、低功耗的时钟电路,工作电压为3V~5V;所以采用DS1302作为本设计的日历芯片;显示部份使用LCD1602B液晶模块进行数字显示,1602B液晶模块可以显示2行16个字符,有8位数据总线D0—D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU的I/O口资源,系统主要由晶振电路、复位电路、时钟电路部分、中央处理单元、晶显示部分组成。 电路原理图如下: 制作出来的实物图如下: Altium Designer画的
[单片机]
基于51<font color='red'>单片机</font>的多功能时钟温度计 DS1302+LCD1602
51单片机的13%26#215;14点阵缩码汉卡
我们历时数载,开发成“51单片机13%26;#215;14点阵缩码汉卡”,适用于目前国内外应用最为广泛的MCSX-51及其兼容系列单片机。 与此同时,还开发了13%26;#215;14点阵汉字字模。13%26;#215;14点阵字模,可完全与目前通用的16%26;#215;16点阵汉字字模媲美,其在单片机和嵌入式系统的汉字显示应用中也具有明显的经济价值和实用意义。 1 单片机目前的汉字显示 信息交流的最主要方式之一即文字交流,但由于我国方块汉字数量繁多,构形迥异,使汉字显示一直是我国计算机普及的障碍。随着计算机技术的迅速发展,PC机的汉字显示已不成问题。但对于成本低、体积小、应用灵活且用量极为巨大的单片机而言,因其结构简单,
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved