基于IAP15W4K58S4单片机超声波测距系统的设计与实现

2021-07-22 07:07葛建新胡燕清
电子测试 2021年12期
关键词:方波测距中断

葛建新,胡燕清

(河源职业技术学院,电子与信息工程学院,517000)

关键字:超声波;测距;IAP15W4K58S4;压电效应

0 引言

超声波是一种频率高于20KHz的机械波,它具有指向性强、反射能力强、能量消耗缓慢和在介质中传输距离较远等优点,非常适于距离、位移、速度的测量,目前广泛应用于工业、农业、军事、医疗等领域。IAP15W4K58S4是一款高速、高可靠、低功耗、抗干扰能力强的在应用可编程单片机,本文采用IAP15W4K58S4,设计了一种简易、便携、低成本的超声波测距系统,该系统可以实现稳定、可靠、精确的距离测量。

1 系统结构与原理

超声波测距系统的结构如图1所示,主要包括了主控制器IAP15W4K58S4单片机、超声波发射电路、超声波发射探头、超声波接收电路、超声波接收探头、电源电路、LCD显示电路和DS18B20温度采集电路等。超声波收发探头均采用压电式超声波传感器,其压电晶体的固有谐振频率为40KHz。系统的工作原理是:单片机的I/O口启动控制超声波发射电路内部的555电路输出40KHz的方波,经超声波发射电路功率放大,加至超声波发射探头,其利用逆压电效应,将振荡电信号转化为机械振动,由此发射出40KHz的超声波,单片机启动发射超声波时刻的同时,启动其定时器开始计时;超声波经测量目标反射至超声波接收探头,其利用正压电效应,将超声波带动的机械振动转化为电信号输入,经超声波接收电路的前置放大、限幅放大、带通滤波、峰值检波、积分整形、比较,最后输出一下降沿,触发单片机的外部中断INT0,即表示超声波接收到达。在外部中断函数内部停止定时器计时,读出计数值,计算出定时时间t(即超声波从发射经反射到接收的往返时间),超声波在介质中的传播速度为v,DS18B20用于采集当前介质中的温度T,以此对v进行温度补偿修正,所以,测量距离D=(定时时间t×超声波传播速度v)/2。

图1 系统结构示意图

2 硬件设计

这里主要介绍单片机最小系统、超声波发射电路、超声波接收电路、DS18B20温度采集电路和LCD显示电路。

2.1 单片机最小系统

本设计采用DIP-40封装的IAP15W4K58S4单片机,其可选择内置晶振,这样则无需外部晶振电路,其最小系统如图2所示。

图2 单片机最小系统

2.2 超声波发射电路

超声波发射电路如图3所示。NE555构成方波发生电路,由其3脚输出,输出方波的频率f取决于R1、R2、RW1和C1,具体表达式为f=1/[ln2×(R1+2(R2+RW1))×C1]。调节电位器RW1,使输出方波的频率为40KHz,等于超声波发射探头内压电晶片的固有谐振频率,以使压电晶片达到共振,产生超声波。超声波发射控制端INC(接单片机控制IO口)输出低电平0,经74HC14反相输出高电平1,即开启74HC08与门,以使40KHz的方波通过,经反相驱动器CD4069,一路经二级反相输出至超声波发射探头的2脚,一路经三级反相输出至超声波发射探头的1脚,由此超声波发射探头的1脚和2脚形成互为颠倒且已经过电流增大的振荡信号,利用压电式超声波传感器的逆压电效应,将振荡电信号转换为压电晶片的机械振动,即发射出超声波。输出端采用两个反相器并联,用以提高驱动能力。

图3 超声波发射电路

2.3 超声波接收电路

超声波接收电路如图4所示。由于超声波40KHz频率和红外38KHz频率接近,超声波接收电路采用红外检波接收专用集成电路CX20106A来构成实现。超声波接收探头将超声波带动的机械振动,利用压电式超声波传感器的正压电效应,转换为超声波电信号由CX20106A的1脚输入,首先经前置放大,2脚接RC串联电路接地,用于调节前置放大增益,再经带通滤波,把有效的40KHz的超声波电信号选通通过,把其他频率的干扰信号滤除,5脚接带通滤波器中心频率设置电阻,带通滤波器输出的有效超声波电信号,再经峰值检波器,输出成近似平滑的水平信号,3脚接检波器的检波电容,再经积分整形,输出成倾斜信号,6脚接积分电容,最后经比较器7脚输出一下降沿信号,触发单片机的外部中断处理。

图4 超声波接收电路

2.4 DS18B20温度采集电路和LCD显示电路

以超声波在空气中传播为例,常温下超声波速度v为340m/s,但其易受到空气中温度、湿度、压强等因素的影响,其中温度的影响最大,一般温度每升高1℃,声速增加约为0.6m/s。因此,为了获得精确的测量结果,必须对波速进行温度补偿。表1为波速与温度的关系表,由表1可得到波速与温度的拟合公式:v=331.5+0.607T,需按此式对波速进行温度修正。

表1 波速与温度的关系表

DS18B20温度采集电路如图5所示,DS18B20为单总线集成温度传感器,单总线DQ接单片机IO口,同时须经4.7KΩ上拉电阻接VCC。

图5 DS18B20温度采集电路

LCD显示电路采用LCD12864,如图6所示,PSB接地表示串行数据方式,此时RS为片选端,R/W为串行数据输入端,EN为串行同步时钟端;VO为对比度调节,VEE为LCD驱动电压输出端。

3 软件设计

本系统的完整详细的程序设计流程图如图7所示,左侧为主程序,右侧为外部中断服务程序。主程序在循环查询单次测距是否完成或是否超时的过程中,若超声波反射接收到达,则超声波接收电路输出一下降沿,触发单片机外部中断,由此程序自动进入外部中断服务程序执行,在其内停止定时器计时、关闭超声波发射、读出计数值、计算定时时间、计算测量距离,最后将测距完成标志位置1,然后中断返回;若测量目标超出有效范围,超声波反射微弱或迟迟没有反射,则超声波接收电路必定无法接收,即无法触发单片机外部中断,此情形即认定为超时,测距值标定为最大值。

图7 系统程序设计流程图

在测距数据处理方面,我们采用中位值平均滤波法,即连续采样N(取N=10)个数据,对其从小到大排序,去掉最大值和最小值,然后计算N-2个数据的算术平均值。这种滤波算法融合了中位值滤波法和算术平均滤波法的优点,可有效消除偶然出现的脉冲干扰所引起的偏差,对距离这种变化相对缓慢的被测量具有良好的滤波效果。

4 测试

本文对该系统进行了反复多次的测试,实际测试图如图8所示,总体测试结果如表2所示。本系统的最大有效测距范围约为400cm,当测距范围为0-80cm时,测距的误差为0.2-0.5cm,最小测量误差为0.2cm。

表2 系统测试结果(单位cm)

图8 系统实物测试图

5 结论

超声波非常适于距离的测量,本文采用IAP15W4K58S4单片机,设计了一种简易、便携、低成本的超声波测距系统,重点介绍了超声波发射电路、超声波接收电路、温度补偿和系统软件的设计。经测试,该系统可以实现稳定、可靠、精确的距离测量。

猜你喜欢
方波测距中断
类星体的精准测距
测绘技术在土地资源管理中的应用
跟踪导练(二)(5)
千里移防,卫勤保障不中断
浅谈超声波测距
碳纳米管方波电沉积铂催化剂的制备及其催化性能研究
基于PSOC超声测距系统设计
方波外场下有限维量子系统的控制协议
相对差分单项测距△DOR
AT89C51与中断有关的寄存器功能表解