SCI论文(www.lunwensci.com):
摘 要:介绍一种基于 Proteus 软件的超声波测距设计与仿真方法,详细阐述了硬件设计电路、软件实现方法,并且对超 声波仿真结果进行数据分析,并给出了误差修正方法。从实验结果可知,通过 Proteus 仿真超声波功能具有可行性,并对实物 制作具有一定的参考性。同时,还具有节约开发成本,提高开发效率的作用。
关键词:Proteus ;超声波 ;SRF04 ;单片机 ;仿真 ;STC89C52
Design and Simulation of Ultrasonic Ranging Based on Proteus Software
GUO Xingchen
(Jiangsu Union Technical Institute Nanjing Engineering Branch, Jiangsu Nanjing 211135)
【Abstract】: This paper introduces a design and simulation method of ultrasonic ranging based on Proteus software, expounds the hardware design circuit and software implementation method in detail, analyzes the data of ultrasonic simulation results, and gives the error correction method. The experimental results show that it is feasible to simulate the ultrasonic function through Proteus, and it has a certain reference for the actual production. At the same time, it can also save development cost and improve development efficiency.
【Key words】: Proteus;ultrasonic;SRF04;single-chip microcomputer;simulation; STC89C52
0 引言
超声波是一种机械波,由电压对换能片的激励所产 生,在液体、固体等介质中具有穿透作用,振动频率高于 声波频率。因其频率高、波长短、绕射现象小,可以定向传播,非常适合应用于距离测量 [1-2]。虽然超声波测距技术应用已经非常广泛,也不乏关于其高精度方面的研究, 但是在其仿真方面研究还不多。之前,针对 Proteus 的超声波功能仿真都是通过按键或者其他器件代替超声波的 传播功能,这种方式本身并不能模拟超声波真实发射以 及回波信号接收过程,其仿真的准确性也得不到保证, 那么仿真结果应用于实物调试的效果也会大打折扣,影 响了开发效率。通过引入 Proteus 仿真软件中的超声波模块,研究超声波测距仿真功能,提供一种超声波测距 的 Proteus 仿真设计方法,从而达到辅助超声波实物设 计,提高开发效率,节省硬件研发成本等目的。
1 仿真方案设计
测距仿真系统由微处理器、超声波模块、数码管显示模块、设置模块以及报警模块组成。超声波测距仿真 结构框图如图 1 所示。微处理器采用 ATMEL 公司生产 的 AT89C52 型号单片机,该款单片机虽然上市时间比 较久,但是在实际生产生活中应用比较广泛,具有一定 的典型性。超声波模块采用 SRF04 型号收发一体超声 波传感器,它是 Proteus8.9 版本仿真软件中三个超声 波模块中的一种,选择该款超声波传感器进行仿真,也 是因为它是使用较多并且比较典型的一款超声波传感 器 [3]。数码管显示采用 4 个共阴极数码管进行显示,主 要显示测量距离以及测量状态等。设置模块由 2 个独立按键组成,分别用于启动测量以及结束测量。报警模块 采用蜂鸣器报警形式,主要对测量阈值进行报警。利用 Proteus 中的虚拟示波器对 SRF04 超声波的发射引脚 TR 以及回波信号引脚 ECHO 进行跟踪检测,方便对硬 件电路以及软件程序进行调试。
采用时间渡越法测距,具体见计算公式(1)。其 中,t 为超声波传播时间,v 为超声波传播速度,常温 下超声波在空气中的传播速度 v 为 340m/s,s 则为传感器与障碍物之间的距离。
2 硬件电路
超声波测距仿真电路图如图 2 所示。
2.1 微处理器
微处理器为 ATMEL 公司的 AT89C52 型号单片机, 它具有 8KB ROM,512KB RAM,32 个 I/O 口,看门狗 定时器,内置 4KB EEPROM,MAX810 复位电路,3 个 16 位定时器 / 计数器,4 个外部中断,一个全双工串行口 [4]。
2.2 SRF04 超声波模块
SRF04 超声波模块共有 5 个引脚,分别为 VCC、NC、 TR、ECHO、GND, 其 中 VCC、GND 分别连接 5V 电 源和地,NC 空闲不接,TR 控制发出的超声波信号,与 单片机 P1.0 管脚相连,ECHO 接收反射回来的超声波信号,与单片机 P1.1 管脚相连。因仿真需要,该 P1.1 管 脚外接一个 10K 的上拉电阻,实际电路该电阻可不加。
2.3 数码管显示
数码管显示模块由 4 个共阴极数码管组成。显示段并联,与 P0 口相连接。4 个数码管公共端分别与三极管 集电极相连接,P2.0… P2.3 口分别与各三极管基极相连 接,当单片机 P2.0… P2.3 其中一个引脚输出 0 时,相应 的三极管导通,其他三极管不通,与该三极管相连的数 码管公共端电平为 GND,故该数码管可以点亮,其他 数码管熄灭。编程时采用动态显示原理进行动态显示。因为 Proteus 中仿真距最小为 3cm, 最大为 400cm, 所以,使用其中三个数码管距离显示,单位为厘米。
2.4 按键模块
设置模块由开始按键和结束按键组成。当点击开始 按键后,超声波模块开始工作。当测量完成后,可以点 击结束按键,系统返回到待机状态。
2.5 报警模块
报警模块采用蜂鸣器报警形式,当 SRF04 测量距离低于 10cm 或者高于 350cm 时,系统进行“滴滴滴……” 报警,当恢复到正常范围内则关闭报警。
3 软件设计
仿真采用 Proteus8.9 版本软件,编译环境为 Keil uVision4,鉴于篇幅限制,不再对这两个软件进行赘 述。具体程序包括超声波发射子程序、超声波接收子程 序、距离计算子程序、初始化子程序、显示子程序、报 警子程序以及按键子程序等。启用定时器 0 作为计算超 声波传播时间使用。超声波测距流程图如图 3 所示。
首先对系统进行初始化,如定时器,数码管,蜂鸣 器等。其次,当开始按键按下,通过单片机 TR 引脚输 出一个 10us 以上的高电平信号,触发测距,SRF04 自 动发出 8 个 40kHz 的方波,自动检测是否有信号返回。 如有信号返回,ECHO 引脚输出高电平,单片机一旦 检测到 ECHO 为高电平时立即打开定时器 0 计时,当ECHO 引脚变为低电平时,立即关闭定时器 0,高电 平持续时间即为超声波从发射到返回的时间 [5],同时读 取 TH0,TL0 值。SRF04 超声波模块时序如图 4 所示。 Proteus 软件中默认速度为 58us/cm, 即 340m/s, 单 程时间为 (TH0×256+TL0)/2us, 由计算公式(1) 可 得出距离 s。系统设置距离大于 350cm 或者小于 10cm时,超过阈值,系统报警。为防止发射信号对回波信号 的影响,保证测量的准确性,相邻两次测量间隔时间最 好保持 60ms 以上。
4 Proteus 仿真分析
4.1 仿真波形
将虚拟示波器 A 通道连接 P1.0,该管脚与超声波 模块 TR 端相连,B 通道连接 P1.1,该管脚与超声波模 块 ECHO 端相连。当系统工作时,可以通过示波器看到 P1.0,P1.1 脚的波形与 SRF04 超声波模块时序图一 致,且经计算,高电平持续时间也与超声波传播距离一 致。33cm、43cm、53cm 仿真波形图如图 5-7 所示。
4.2 测量结果分析
将 SRF04 超声波模块步长设置为 10cm, 传播速度 设置为 58us/cm, 以 13cm 为起点, 每次增加 30cm, 到 333cm 为终点,取 12 组数据。同时,将单片机测量 的数据记录下来,两者进行对比分析,以此验证超声波
测距仿真电路的准确性以及改进方向 [6-7]。修正前测量 数据如表 1 所示。
从表 1 中可以看出,随着测量距离增大,绝对误差 也越大,从误差 1cm 到 5cm。仿真误差产生的原因与 实物测距不同,实物测距产生误差的原因很多,比如温 度、反射面、角度、甚至电路等,都有可能引起误差。 仿真超声波测距以上问题均不存在,可能产生误差的原 因主要在于计算,减少误差可以采取四舍五入法、均值 滤波法或者排序法等,这里主要采取四舍五入和均值滤 波相结合的方法。经过试验,发现对计算进行修正后, 误差得到一定的降低。修正后的测量数据如表 2 所示。 鉴于篇幅限制,不再对其他修正方法做验证。
5 结语
本文基于 AT89C52 单片机以及 SRF04 超声波模块设 计开发了一种测距系统,并给出了硬件电路以及软件编程 方法。通过 Proteus 仿真以及数据分析,可以验证电路 的可靠性以及测量数据的准确性。从而证明,针对超声 波开发的电路,在设计前可以通过 Proteus 进行仿真验证,从而达到节约开发成本以及提高开发效率的目的。
参考文献
[1] 吴萍.基于超声波测距的起重机自动控制系统设计[J].电子 设计工程,2020(22):165-169.
[2] 李锦廷,荀延龙.基于超声波测距的安保系统设计与可靠性 分析[J].电子设计工程,2018(14):140-143+148.
[3] 孟卓.基于HC-SR04的超声波导盲系统设计[J].电子设计工 程,2019(21):136-139+145.
[4] 杨丽新,马迎.基于Proteus仿真的教学机器人智能小车设计 [J].实验室研究与探索,2018(8):139-143.
[5] 刘芬,罗前刚,张远征.高精度超声波测距方法的研究[J].自动 化与仪表,2021(5):66-69.
[6] 陈希湘,朱嵘涛,王锦莉.基于MSP430单片机的超声波倒车 雷达系统设计[J].现代电子技术,2021(9):24-27.
[7] 孙辉.基于T/R40-16的超声波测距系统精度提升的设计与实验[J].仪表技术与传感器,2018(8):94-97.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/34297.html