基于单片机的超声波测距报警系统设计
引言
科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。我们人类耳朵能听到的声波频率为20~20000Hz。当声波的振动频率大于20KHz或小于20Hz时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为“超声波”。
1.超声波测距原理
超声波是指频率高于20KHz 的机械波。为了以超声波作为检测手段,必须产生超声波和接收超声波,完成这种功能的装置称为超声波传感器。超声波传感器有发送器和接收器,有的也可具有发送和接收声波的双重作用。根据超声波的产生方式,超声波传感器可分为两大类:一类是电气式,如压电式、磁致伸缩式和电动式等;一类是机械式,如加尔统笛、液哨等。目前常用的是压电式超声波传感器。它利用压电效应的原理将电能和超声波相互转化,即发射超声波时,将电能转换为超声波发射出去;在收到回波时,将超声振动转换成电信号。
超声波测距的原理一般采用时间差法,即测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即:
![](../img/eep/emb/emb-513604t42ktpj4gb.jpg)
式中,D—传感器与障碍物之间的距离;c—声波在介质中的传输速度。
由于超声波易于定向发射、方向性好、强度易控制、与被测物体不需直接接触,故超声波传感器广泛地应用于液体高度测量、汽车倒车等方面。为了提高测量精度,减小误差,根据公式(1)可知,测距误差由传播速度误差和传播时间误差引起。
当传播速度准确时,传播时间差值精度只要达到微秒级,就可保证测距误差小于1mm。设计中,可采用12MHz 晶体作时钟的基准,单片机定时器的计数精度可达1us,从而保证测量精度。
传播速度受空气密度的影响,空气密度越高,传播速度越快,而空气密度与温度有密切关系。在理想气体中声波的传播速度c 为:
![](../img/eep/emb/emb-5136142icgtbiemy.jpg)
式中,γ—气体定压比热容与定容比热容之比;R—气体常数;M—气体分子量;T—绝对温度。
若温度变化不大,则可认为声速基本不变,其值为340m/s。若测距精度要求较高,为减小温度变化对声速产生的影响,在设计中,应增加温度传感器来监测环境温度,进行实时温度补偿,近似公式为:
![](../img/eep/emb/emb-51362zruz5rib3qy.jpg)
式中,c0—零度时的声波速度332m/s; T—实际温度(℃)。
2.测距报警系统设计
2.1 硬件设计
电路原理图如图1 所示。采用PIC16F73 单片机作为主控制器,实现对CX20106 红外接收芯片(红外常用的载波频率38KHz 与测距超声波频率40KHz 较为接近) 和TCT40 系列超声波转换模块的控制。单片机通过端口RB1 控制超声波的发送,然后单片机不停地检测中断端口RB0/INT,当端口RB0/INT 的电平由高电平变为低电平时,系统认为超声波已返回。计数器所计数据即为超声波所经历的时间,通过换算可得到传感器与障碍物之间的距离。超声信号的驱动由单片机定时器完成,LED 数字显示采用动静态驱动相结合的方法实现,报警模块采用简单的声光报警电路。
![](../img/eep/emb/emb-51363kn2eptsbyeu.jpg)
图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
单片机 相关文章:
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)