超声波测距模块总结报告
超声测距模块实验报告

一、实验目的1. 理解超声波测距的基本原理。
2. 掌握超声波测距模块的硬件连接与软件编程。
3. 学习使用超声波测距模块进行距离测量。
4. 了解超声波测距在实际应用中的优势与局限性。
二、实验原理超声波测距是利用超声波在介质中传播的速度和距离之间的关系来测量距离的一种方法。
当超声波发射器发出超声波时,它会遇到障碍物并反射回来。
通过测量发射和接收超声波之间的时间差,可以计算出障碍物与发射器之间的距离。
超声波在空气中的传播速度大约为340m/s。
设超声波发射器与接收器之间的距离为d,超声波从发射器传播到障碍物并返回所需的时间为t,则有:\[ d = \frac{v \times t}{2} \]其中,v为超声波在空气中的传播速度,t为超声波往返所需的时间。
三、实验设备1. 超声波测距模块HC-SR042. STM32单片机开发板3. 调试工具4. 电源5. 导线四、实验步骤1. 硬件连接(1)将超声波测距模块的VCC、GND、TRIG和ECHO引脚分别连接到STM32单片机的3.3V、GND、GPIO和中断引脚。
(2)将STM32单片机的电源和地连接到实验平台的电源。
2. 软件编程(1)编写STM32单片机的程序,用于控制超声波测距模块。
(2)程序主要包含以下功能:- 初始化GPIO和中断引脚;- 发送触发信号;- 读取回响信号;- 计算距离;- 显示距离。
(3)使用HAL库函数实现上述功能。
3. 调试与测试(1)将程序烧录到STM32单片机中。
(2)使用调试工具检查程序运行情况。
(3)调整超声波测距模块的位置,测试不同距离下的测量结果。
五、实验结果与分析1. 实验数据通过实验,得到以下数据:| 距离(cm) | 测量值(cm) || :--------: | :--------: || 10 | 9.8 || 20 | 19.7 || 30 | 29.6 || 40 | 39.5 || 50 | 49.4 |2. 数据分析实验结果表明,超声波测距模块的测量精度较高,误差在±1cm以内。
超声波测距仪-实习总结

超声波测距仪-实习总结第一篇:超声波测距仪-实习总结电子实习总结2010-2011学年第一学期,08级电气工程及其自动化专业电子实习与09级电气工程及其自动化专业数字电子技术课程设计,所采用的题目均是“超声波无线测距仪设计”。
该题目是贯彻机电系教学改革精神,根据实践教学要求,新近设计研发的实习内容。
经过两周的实习过程,对于其中一些进步的方面与发现的问题进行总结,以便为接下来的教改工作提供有价值的参考。
对于此次设计过程,一些收获令人满意:第一,从教师团队的角度来说,是一次比较成功的锻炼机会。
无论对于设计研发的老师,还是对参与实习指导的老师,都从中得到了全方面的提高。
相对于原先的教学套件,本设计从理论基础,到软硬件设计,老师们都能够做到深刻理解,熟练掌握。
因此在实习过程中,指导的针对性相较以往,有了明显的进步。
学生反响较好。
同时,在实习结束时进行答辩,有效的提高了教师对于学生掌握实践效果的认识,能够更好的指导下一步的工作。
第二,从学生角度来说,一周的时间,严格按照实习大纲安排,进行了全方面的理论学习,到元器件焊接,最后进行设计分组答辩。
时间紧凑,内容充实。
从实习答辩过程与实习报告的反馈来看,大家都能够做到主动思考,积极求解。
尤其是对于一些成绩相对较差的学生,在实习过程中表现非常主动,令人印象深刻。
尤其在答辩过程中,将固定的“老师问——学生答”方式实现反转,变成“学生问——教师答——教师问——学生答”,用答疑的方式,鼓励学生们发现问题,解决问题。
这种尝试,对于实习过程总结与提高意义重大。
尤其是鼓励每名同学积极主动的寻找问题,用启发式的问题促进每个人去思考问题,符合我们教学改革的目的。
同时,让每名老师的身份由“考官”变为考生,也能够很好的促进教师们的学习能力,为更好的了解学生所想,打下基础。
建议将此经验进行系内教研讨论。
第三,从系部角度来说,由于教学改革势在必行,因此由任课教师设计有针对性的实习内容也是大势所趋。
超声波测距总结报告

电子技术实验课程设计超声波测距系统总结报告自03胡效赫2010012351一、课题内容及分析首先根据课程所给的几个题目进行选择,由于自己最近在做电子设计大赛的平台设计,希望对超声波测距在定位方面应用有更详尽的了解,所以选择课题三——超声波测距作为课程设计,内容如下:对课题进行分析:实验提供超声波传感器T40-16和R40-16,利用面包板和小规模芯片搭接电路,实现距离的测量及显示。
大致思路即驱动发射端发出超声波,接收端收到返回的脉冲进行处理与计算得到测量距离并通过数码管和蜂鸣器显示。
二、方案比较与选择由于超声波测距方案原理基本相同,只要能够检测出发射到接收的时间,并通过相应计算就可以得到所测距离。
所以问题大致分为驱动发射端、接收端检测、间隔时间计算与计算结果显示四部分。
具体的方案设计如下:闸门脉冲源产生基准宽度为T 的闸门脉冲,该脉冲一方面控制计数电路的计数启动和并产生计数器清零脉冲,使计数器从零开始对标准脉冲源输出的时钟脉冲(频率为17KHz)计数。
同时开启控制门,超声波振荡器输出的40kHz脉冲信号通过控制门,放大后送至超声波换能器,由发射探头转换成声波发射出去。
该超声波经过一定的传播时间,达到目标并反射回来,被超声波换能器的接收探头接收变成电信号,经放大、滤波、电压比较和电平转换后,还原成方波。
图中的脉冲前沿检测电路检测出第一个脉冲的前沿,输出控制信号关闭计数器,使计数器停止计数。
则计数器的计数值反映了超声波从发射到接收所经历的时间(或距离)。
三、模块化设计及参数估算1、闸门控制模块●设计思路555振荡电路产生频率为2Hz的脉冲,作为闸门脉冲源。
RC微分电路将输出的2Hz脉冲进行微分运算产生脉冲信号,作为计数启动和计数清零的信号,分别控制D触发器的置高端和74LS90的清零端。
●参数设计:555振荡电路T = (R1+2*R2)*C*ln2。
其中R1取4.7kΩ,R2接入10kΩ滑动变阻器,最后实测7.51kΩ,C取47uF。
超声波测距实验报告

电子信息系统综合设计报告超声波测距仪目录摘要 (3)第一章绪论 (3)1.1 设计要求 (3)1.2 理论基础 (3)1.3 系统概述 (4)第二章方案论证 (4)2.1 系统控制模块 (5)2.2距离测量模块 (5)2.3 温度测量模块 (5)2.4 实时显示模块 (5)2.5 蜂鸣报警模块 (6)第三章硬件电路设计 (6)3.1 超声波收发电路 (6)3.2 温度测量电路 (7)3.3 显示电路 (8)3.4 蜂鸣器报警电路 (9)第四章软件设计 (10)第五章调试过程中遇到的问题及解决 (11)5.1 画PCB及制作 (11)5.2 焊接问题及解决 (11)5.3 软件调试 (11)实验总结 (13)附件 (14)元器件清单 (14)HC-SR04超声波测距模块说明书 (15)电路原理图 (17)PCB图 (17)程序 (18)摘要该系统是一个以单片机技术为核心,实现实时测量并显示距离的超声波测距系统。
系统主要由超声波收发模块、温度补偿电路、LED显示电路、CPU处理电路、蜂鸣器报警电路等5部分组成。
系统测量距离的原理是先通过单片机发出40KHz 方波串,然后检测超声波接收端是否接收到遇到障碍物反射的回波,同时测温装置检测环境温度。
单片机利用收到回波所用的时间和温度补偿得到的声速计算出距离,显示当前距离与温度,按照不同阈值进行蜂鸣报警。
由于超声波检测具有迅速、方便、计算简单、易于做到实时控制的特点,并且在测量精度方面能达到工业实用的要求,因此在生产生活中得到广泛的应用,例如超声波探伤、液位测量、汽车倒车雷达等。
关键词:超声波测距温度测量单片机 LED数码管显示蜂鸣报警第一章绪论1.1设计要求设计一个超声波测距仪,实现以下功能:(1)测量距离要求不低于2米;(2)测量精度±1cm;(3)超限蜂鸣器或语音报警。
1.2理论基础一、超声波传感器基础知识超声波传感器是利用晶体的压电效应和电致伸缩效应,将机械能与电能相互转换,并利用波的特性,实现对各种参量的测量。
超声测距实验报告

超声测距实验报告一、实验目的本次超声测距实验的主要目的是研究和掌握利用超声波进行距离测量的原理和方法,并通过实际操作和数据分析,评估测量系统的精度和可靠性。
二、实验原理超声波是一种频率高于 20kHz 的机械波,其在空气中传播时具有良好的指向性和反射特性。
超声测距的基本原理是利用超声波在发射后遇到障碍物反射回来的时间差来计算距离。
具体计算公式为:距离=(超声波传播速度×传播时间)/ 2 。
在常温常压下,空气中超声波的传播速度约为 340 米/秒。
通过测量超声波从发射到接收的时间间隔 t,就可以计算出距离。
三、实验仪器与材料1、超声测距模块:包括发射探头和接收探头。
2、微控制器:用于控制超声模块的工作和处理数据。
3、显示设备:用于显示测量结果。
4、电源:为整个系统供电。
5、障碍物:用于反射超声波。
四、实验步骤1、硬件连接将超声测距模块的发射探头和接收探头正确连接到微控制器的相应引脚。
连接电源,确保系统正常供电。
将显示设备与微控制器连接,以便显示测量结果。
2、软件编程使用相应的编程语言,编写控制超声模块工作和处理数据的程序。
实现测量时间的计算和距离的换算,并将结果输出到显示设备。
3、系统调试运行程序,检查系统是否正常工作。
调整发射功率和接收灵敏度,以获得最佳的测量效果。
4、测量实验将障碍物放置在不同的距离处,进行多次测量。
记录每次测量的结果。
五、实验数据与分析以下是在不同距离下进行多次测量得到的数据:|距离(米)|测量值 1(米)|测量值 2(米)|测量值 3(米)|平均值(米)|误差(米)||||||||| 05 | 048 | 052 | 050 | 050 | 000 || 10 | 095 | 105 | 100 | 100 | 000 || 15 | 148 | 152 | 150 | 150 | 000 || 20 | 190 | 205 | 195 | 197 | 003 || 25 | 240 | 255 | 245 | 247 | 003 || 30 | 290 | 305 | 295 | 297 | 003 |通过对实验数据的分析,可以看出在较近的距离(05 米至 15 米)内,测量误差较小,基本可以准确测量。
超声波测距仪实训报告

超声波测距仪实训报告一、实训目的本次实训的目的是通过设计和制作超声波测距仪,深入了解超声波测距的原理和应用,掌握相关的电子电路设计、焊接、调试和编程技能,提高实际动手能力和问题解决能力。
二、实训原理超声波测距的原理是利用超声波在空气中的传播速度和往返时间来计算距离。
超声波发生器发射出一定频率的超声波,当遇到障碍物时会反射回来,被超声波接收器接收。
通过测量发射和接收的时间差,再根据超声波在空气中的传播速度(约 340 米/秒),就可以计算出障碍物与测距仪之间的距离。
计算公式为:距离=(传播速度 ×时间差)/ 2三、实训设备和材料1、超声波传感器模块(HCSR04)2、单片机开发板(如 STM32、Arduino 等)3、面包板、杜邦线4、电阻、电容等电子元件5、示波器、万用表6、电脑及编程软件四、实训步骤1、硬件电路设计将超声波传感器模块与单片机开发板连接,根据模块的引脚定义和开发板的接口,使用杜邦线进行连接。
连接电源和地,确保电路的供电正常。
2、软件编程选择相应的编程环境,如 Arduino IDE 或 Keil 等。
编写控制程序,实现超声波的发射和接收,并计算距离。
通过串口将测量的距离数据发送到电脑上进行显示。
3、电路焊接与调试如果需要制作永久性的电路,可以将元器件焊接在电路板上。
使用示波器和万用表检查电路的工作状态,确保信号的正常传输。
4、系统测试将制作好的超声波测距仪放置在不同的距离处,测量并记录数据。
分析测量结果的准确性和稳定性,对系统进行优化和改进。
五、遇到的问题及解决方法1、信号干扰在实际测量中,发现测量结果有时会出现较大的误差,经过检查发现是由于周围环境中的电磁干扰导致的。
解决方法是增加滤波电容,提高电路的抗干扰能力。
2、测量范围有限超声波测距仪的测量范围受到传感器性能和环境因素的影响。
为了扩大测量范围,尝试调整发射功率和接收灵敏度,但效果不明显。
最终通过更换性能更好的超声波传感器模块解决了问题。
超声波测距实训报告结尾

首先,通过本次实训,我们明白了超声波测距技术的原理和应用。
超声波测距仪利用超声波的传播特性,通过测量声波在介质中传播的时间,从而计算出目标物体的距离。
这种非接触式的测量方法,具有精度高、速度快、不受光照和介质影响等优点,在工业、农业、医疗、科研等领域有着广泛的应用前景。
在实训过程中,我们首先学习了超声波测距仪的组成及工作原理。
通过阅读相关资料,我们了解了超声波传感器、单片机、显示屏等关键部件的功能和作用。
在此基础上,我们通过实验验证了超声波在空气中的传播速度,为后续的测距计算奠定了基础。
接下来,我们学习了超声波测距仪的设计与制作。
在老师的指导下,我们完成了电路图的绘制、元器件的选型、电路板的制作和焊接等工作。
在这个过程中,我们遇到了许多困难,如电路板焊接不良、传感器参数不匹配等。
但在老师和同学的帮助下,我们逐一解决了这些问题,最终成功制作出了自己的超声波测距仪。
在测试阶段,我们进行了多次实验,测试了测距仪在不同距离、不同角度、不同环境下的测量精度。
实验结果表明,我们的超声波测距仪在距离范围内具有较高的测量精度,且稳定性较好。
此外,我们还尝试了不同的超声波传感器和单片机,发现不同的组合会对测量结果产生一定影响,这为我们后续的优化工作提供了参考。
在实训过程中,我们还学习了如何利用单片机编程控制超声波测距仪。
通过学习C 语言编程,我们掌握了单片机的基本原理和编程方法。
在编程过程中,我们学会了如何读取传感器数据、计算距离、显示结果等。
这些技能对我们今后的学习和工作具有重要意义。
总结本次实训,我们有以下几点收获:1. 深入了解了超声波测距技术的基本原理和应用领域;2. 提升了动手能力和解决问题的能力;3. 掌握了电路设计、焊接、编程等技能;4. 增强了团队合作意识和沟通能力。
当然,在实训过程中我们也发现了一些不足之处:1. 测距仪的测量精度有待提高;2. 软件功能较为简单,有待进一步优化;3. 实验环境对测量结果有一定影响,需要进一步研究。
超声波测距实习报告

一、实习背景随着科技的不断发展,超声波测距技术逐渐在各个领域得到广泛应用。
为了提高自身实践能力,了解超声波测距技术在实际应用中的原理和操作,我参加了本次超声波测距实习。
二、实习目的1. 了解超声波测距的基本原理及工作流程;2. 掌握超声波测距仪的使用方法及注意事项;3. 培养动手能力和团队合作精神;4. 提高对超声波测距技术在实际应用中的认识。
三、实习内容1. 超声波测距原理及工作流程超声波测距是利用超声波在介质中传播的速度和反射原理来测量距离的一种技术。
当超声波发射器发出超声波后,在遇到障碍物时,部分超声波会被反射回来。
通过测量发射超声波和接收反射超声波之间的时间差,可以计算出障碍物与测距仪之间的距离。
超声波测距工作流程如下:(1)发射器发射超声波;(2)超声波遇到障碍物后反射回来;(3)接收器接收反射回来的超声波;(4)计算发射和接收之间的时间差;(5)根据超声波在介质中的传播速度,计算出障碍物与测距仪之间的距离。
2. 超声波测距仪的使用方法及注意事项(1)使用前,确保超声波测距仪的电源充足,避免因电量不足导致测量误差;(2)将测距仪放置在平稳的表面上,避免因震动导致测量误差;(3)调整测距仪的量程,使其适应被测物体的距离;(4)根据需要,调整测距仪的发射角度,确保超声波能够有效传播;(5)在测量过程中,避免测距仪受到其他信号的干扰;(6)测量完成后,关闭测距仪,确保设备安全。
3. 实际操作在实习过程中,我们使用超声波测距仪对实验室内的物体进行了测量。
具体操作如下:(1)将测距仪放置在平稳的桌面上;(2)调整测距仪的量程,使其适应被测物体的距离;(3)调整测距仪的发射角度,确保超声波能够有效传播;(4)按下测距仪的测量按钮,开始测量;(5)观察测距仪的显示屏,读取测量结果;(6)重复以上步骤,对多个物体进行测量。
四、实习心得通过本次超声波测距实习,我深刻认识到以下几方面:1. 超声波测距技术在实际应用中的重要性;2. 掌握超声波测距仪的使用方法及注意事项对于提高测量精度至关重要;3. 动手能力在实践过程中得到了锻炼,为今后的工作积累了宝贵经验;4. 团队合作精神在实习过程中得到了体现,为今后的团队协作打下了基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超声波测距模块总结报告董升亮Senscomp公司的超声波测距系统包括两个部分,分别是测距模块(6500)和静电换能器(600)。
前者驱动后者,后者负责发送和接收超声波,之后用户便可根据超声波发收这一时间间隔计算出与目标物之间的距离。
经过多次户外实验与优化,目前可实现一片单片机对4个超声波测距模块的控制,并且每个的探测距离都可达到10米左右。
一、超声波测距原理超声波是指频率高于20khz的机械波。
为了以超声波作为检测手段,必须产生超声波和接收超声波。
完成这种功能的装置就是超声波换能器或超声波探头。
超声波换能器有发送器和接收器,600系列换能器同时具有发送和接收声波的作用。
超声波换能器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。
超声波测距原理也很简单,就是测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就可以得到二倍的声源与障碍物之间的距离。
即:D=C*T/2。
其中,D为600换能器到障碍物之间的距离;C为超声波此时在空气中的传播速度;T为超声波的发收时间。
在空气中,声波的传播速度一般受温湿度的影响,在没有温湿度传感器或对测量精度要求不高的情况下,一般取340m/s。
在以上几次实验中,程序中采用C=340m/s。
二、6500驱动模块我们所采用的这款6500驱动模块,手册上说可以实现6英寸-35英尺(0.152m-10.668m)的准确测距,但由于所采用的600模块是自发自收的,在发送过程中从障碍物返回的信号就无法捕获。
另外,超声波换能器有一定的惯性,发送结束后还留有一定的余振,这种余振经换能器同样产生电压信号,扰乱了系统捕捉返回信号的工作。
因此,在余振未消失以前,还不能启动系统进行回波接收(要等待2.38ms),以上两个原因造成了超声传感器具有测量一定的测量范围。
模块最近可以到测量37cm。
当然实际实验过程中会在这些标准上稍有浮动。
该模块操作简单,但要特别注意的是它的噪声干扰问题。
该模块共有九个引脚如图1。
图11引脚:接地2引脚:BLNK,多返回模式时,用于控制(拉低)ECHO信号3引脚:不用4引脚:INIT,拉高启动模块发射超声波。
拉低时,ECHO也同时拉低5引脚:不用6引脚:OSC,6500模块内部时钟,一般用不到7引脚:ECHO,当超声波遇到障碍物返回至换能器时,该引脚拉高。
该引脚需要一个470KΩ的电阻上拉至Vcc8引脚:BINH,可使能探测37cm以内的障碍物9引脚:Vcc,4.5V-6.8V供电,我们采用5V供电说明:在这9个引脚当中,我们只用到其中的4个(Vcc,GND,INIT,ECHO)。
另外一点值得强调的是,由于BLNK和BINH受内部噪声影响比较大,因此这两个引脚直接连接到GND。
并且6500模块与单片机控制板之间的连接排线长度尽量要短。
6500驱动模块具有两种工作方式。
第一种工作方式测量的是换能器到其前方第一个障碍物之间的距离。
第二种工作方式可探测多个障碍物的回波,其区分能力为间隔3英寸以上的障碍物。
图2 单返回模式,控制时序实例三、600系列换能器此超声波换能器是集发送与接收一体的一种换能器。
传感器里面有一个圆形的薄片,薄片的材料是塑料,在其正面涂了一层金属薄膜,在其背面有一个铝制的后板。
薄片和后板构成了一个电容器,当给薄片加上频率为49.4khz、电压为300vacpk-pk左右的方波电压时,薄片以同样的频率震动,从而产生频率为49.4khz 的超声波。
当接收回波时,6500内有一个调谐电路,使得只有频率接近49.4khz的信号才能被接收,而其它频率的信号则被过滤。
换能器在将电信号转化成声波的过程中,所产生的声波并不是理想中的矩形,而是一个类似花瓣一样形状,发送超声波的波束角大约为30度,见图3。
在实际应用中,该波束应为一个立体的圆锥形,这也导致两个问题:1)随着探测距离的延长,探测障碍物方位的准确性下降。
即无法对障碍物进行准确定位。
2)探测距离越远,能量扩散越严重,在障碍物不理想的情况下,返回信号减弱,以至于在标准探测范围内,返回脉冲也达不到600换能器的判断阈值。
图3四、单片机控制模块系统采用PIC30F4011控制芯片,同时集成串口和CAN总线两种数据传输方式。
该电路共配置了8个6500模块接口,目前已经用到了其中的4个。
为了减小相互之间的干扰,每个模块之间都采用了LC滤波电路。
同时在每个模块的电源到地之间增加了一个1uF的旁路电容和一个470uF的铝电解电容,前者用来消除内部干扰对BINH引脚的影响,后者起储能作用,这两者视情况可选择使用。
其电路连接如图4,PCB布线如图5。
两者中的电感用相近引脚间距的电容做了代替。
图4图5五、程序控制模块由于该单片机控制多个超声波测距模块,因此在编程过程中要首先考虑到各个模块之间的相互影响,最基本的要求是某一个模块突然的硬件错误不会对其他模块的正常运行造成影响。
最初考虑到在uCOS-II上进行编程,但实施过程中发现要借用互斥信号量与多个邮箱,任务多且复杂,既费时又费力,并且会对超声波往返时间的计时产生影响,同时也使对程序的阅读更加困难。
最终放弃了这个方案。
新方案采用多重循环来进行模块控制调度,为避免陷入死循环,程序中采用了goto语句。
在此程序中,我们定义了一个整型变量Con6500,让他分别等于1、2、3、4来分别控制这四个模块,同时还用到了3个定时器:Timer1:用于设置6500模块探测周期。
Timer2:用于记录各个模块超声波往返时间。
Timer3:用于防止某一模块超时。
程序中对各个模块的返回引脚均采用查询的方式,整个程序的关键代码如下:int main(void){//CAN、UART、Timer、IO初始化Con6500=1;//从第一个模块开始探测//……while(1){StartChk:while(Timer1Lock==1)//有一个6500模块开启{while(Con6500==1)//开启的是第一个模块(6500-1){TMR3=0;//为第一个模块计时,以避免其超时while(1)//查询6500-1返回引脚{if(PORTDbits.RD1==1)//ECHO1有返回{ECHO1();//完成距离计算及数据发送 TB8=0;//关闭6500-1超声波换能器Con6500=2;//下一次6500-2模块发送Timer1Lock=0;//标记所有模块都关闭goto StartChk; //等待下一个模块开启}else if(TMR3>=W aitTMR3)//如果6500-1超时{ TB8=0;//关闭6500-1超声波换能器Con6500=2;//下一次6500-2模块发送Timer1Lock=0; //标记所有模块都关闭goto StartChk;//等待下一个模块开启}}}while(Con6500==2)//若开启的是第二个模块(6500-2){TMR3=0;//为6500-2计时,避免其超时while(1)//查询6500-2返回引脚{if(PORTEbits.RE1==1)//ECHO2有返回{ECHO2();//完成距离计算及数据发送 TB7=0;//关闭6500-2超声波换能器Con6500=3;//下一次6500-3模块发送Timer1Lock=0; //标记所有模块都关闭goto StartChk; //等待下一个模块开启}else if(TMR3>=W aitTMR3)//若6500-2超时{ TB7=0;//关闭6500-2超声波换能器Con6500=3;//下一次6500-3模块发送Timer1Lock=0; //标记所有模块都关闭goto StartChk; //等待下一个模块开启}}}//……其它模块}}}/*定时器1中断服务程序*/void __attribute__((__interrupt__)) _T1Interrupt(void){IFS0bits.T1IF=0; //清除T1中断标志if(Con6500==1){TMR2=0;//超声波收发时间计时开始TB8=1;//开启6500-1超声波换能器Timer1Lock=1;//标记有模块开启}if(Con6500==2)//判断SonarLock=1是为了防止6500-1不工作{TMR2=0; //超声波收发时间计时开始TB7=1;//开启6500-2超声波换能器Timer1Lock=1; //标记有模块开启}//……}六、关于噪声干扰噪声问题是必须要注意和解决的问题,否则它将影响测距模块的可靠性和准确性,有时甚至会直接导致其无法正常工作。
对超声波测距模块产生的干扰主要包括内部干扰和外部干扰。
1、内部干扰内部干扰主要来自超声波发送时产生的发送脉冲, 6500模块的内部电路见图6。
图6其中TL851是一个数字12步测距控制集成电路。
内部有一个420khz的陶瓷晶振,6500系列超声波距离模块开始工作时,在发送的前16个周期,陶瓷晶振被8.5分频,形成49.4khz的超声波信号,然后通过三极管Q1和变压器T1输送至超声波传感器。
发送之后陶瓷晶振被4.5分频,以供单片机定时用。
在发生脉冲的过程中,通过示波器观察,会发现在GND和BINH上会有多个尖峰脉冲,其峰峰值有时甚至达到4V,这将导致在发送超声波时,ECHO引脚被突然拉高,从而导致根本无法探测障碍物。
其原因为BINH引脚对噪音过于敏感,官方提供的解决办法为将BINH直接连接到地,同时在Vcc与GND之间加1uF的旁路电容。
但在实际应用过程中我们发现,即便单个模块调试成功,当将多个6500模块集成在一个板子上同时工作时,仍会有干扰发生从而影响某一个或几个模块的正常工作。
经过反复调试,我们发现有必要在6500模块排线的末端加一大容量的铝电解电容来稳定供电电压滤除噪音。
TL852是专门为接收超声波而设计的芯片。
因为返回的超声波信号比较微弱,需要进行放大才能被单片机接收,TL852主要提供了放大电路,当TL852接收到4个脉冲信号时,就通过REC给TL851发送高电平表明超声波已经接收。
由此可见,当返回超声波信号太弱或者达不到4个返回脉冲时,将不能实现准确测距。
2、外部干扰外部比较复杂,包括外部事物产生与该超声波类似的噪音;不理想的障碍物对测距的干扰;以及个测距模块之间的相互干扰。
虽然多数超声波传感器的工作频率为50Khz左右,远远高于人类能够听到的频率。
但是周围环境也会产生类似频率的噪音。
比如,电机在转动过程会产生一定的高频,轮子在比较硬的地面上的摩擦所产生的高频噪音,机器人本身的抖动。
这些都将对换能器接收信号造成影响。