超声波测距传感器(硬件篇)
- 格式:pdf
- 大小:2.36 MB
- 文档页数:26
安全避障是移动机器人研究的一个基本问题。
障碍物与机器人之间距离的获得是研究安全避障的前提,超声波传感器以其信息处理简单、价格低廉、硬件容易实现等优点,被广泛用作测距传感器。
本超声波测距系统选用了SensComp公司生产的Polaroid 6500系列超声波距离模块和600系列传感器,微处理器采用了ATMEL公司的AT89C51。
本文对此超声波测距系统进行了详细的分析与介绍。
1、超声波传感器及其测距原理超声波是指频率高于20KHz的机械波[1]。
为了以超声波作为检测手段,必须产生超生波和接收超声波。
完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。
超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。
超声波传感器是利用压电效应[1]的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。
超声波测距的原理一般采用渡越时间法TOF(time of flight)[2]。
首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即1、硬件电路设计我们设计的超声波测距系统由Polaroid 600系列传感器、Polaroid 6500系列超声波距离模块和AT89C51单片机构成。
2.1 Polaroid 600系列传感器此超声波传感器是集发送与接收一体的一种传感器。
传感器里面有一个圆形的薄片,薄片的材料是塑料,在其正面涂了一层金属薄膜,在其背面有一个铝制的后板。
薄片和后板构成了一个电容器,当给薄片加上频率为49.4kHz、电压为300VAC pk-pk的方波电压时,薄片以同样的频率震动,从而产生频率为49.4kHz的超声波。
当接收回波时,Polaroid 6500内有一个调谐电路,使得只有频率接近49.4kHz的信号才能被接收,而其它频率的信号则被过滤。
超声波测距设计方案1. 概述超声波测距是一种利用超声波传感器对目标物体进行距离测量的技术。
它具有非接触、精度高、速度快等优点,广泛应用于工业自动化等领域。
本设计方案旨在实现一个基于Arduino的超声波测距系统,可以测量距离在2cm~400cm之间的目标物体,并将结果显示在液晶屏上,以方便用户观察和使用。
2. 系统组成本系统由硬件和软件两部分组成,硬件系统包括超声波传感器、Arduino主控板、液晶屏、电源等部分;软件系统包括Arduino的程序。
2.1 超声波传感器超声波传感器是本系统中最关键的部分,它通过发射超声波信号并接收回波信号,测量目标物体与传感器的距离。
常用的超声波传感器有HC-SR04、JSN-SR04T等型号,本设计方案使用HC-SR04超声波传感器。
2.2 Arduino主控板Arduino是一种开源的嵌入式系统,具有方便、易用、可扩展等特点,可以实现各种各样的控制任务。
本设计方案使用Arduino UNO主控板,它是一种基于ATmega328P芯片的开发板,具有丰富的接口和较高的性能和稳定性。
2.3 液晶屏液晶屏是显示距离测量结果的部分,本设计方案采用16*2字符型液晶屏,能够显示2行16个字符,显示结果清晰、直观。
2.4 电源本系统采用外接直流电源供电,电压为5V,可以通过USB接口或外部电源插头供电。
3. 系统原理本系统的测距原理基于超声波传感器发射超声波信号并接收回波信号的原理。
当超声波传感器发射超声波信号后,信号会以声速传播在空气中,当遇到目标物体后,部分波信号会被目标物体反射回来,形成回波信号,超声波传感器接收到回波信号后,再通过计算超声波信号的来回时间、声速等参数,便可以计算出目标物体与传感器的距离。
4. 系统设计超声波传感器通过接口连接到Arduino主控板,并需要外接电源,具体接线图如下所示:超声波传感器 VCC -> Arduino 5V液晶屏 RW -> Arduino GND整个系统的软件设计主要包括两部分,一部分是超声波测距的程序,另一部分是液晶屏显示的程序。
本科生毕业设计(论文)学院(系):专业:学生:指导教师:完成日期 2010 年 5 月超声波测距系统的硬件设计The Hardware Design of Ultrasonic Ranging Systerm学院(系):专业:学生姓名:学号:指导教师(职称):评阅教师:完成日期:2010.05.10超声波测距系统的硬件设计测控技术与仪器[摘要]超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。
在本次设计中,设计的超声波测距系统的测量精度为1cm,能够清晰稳定地显示测量结果。
在整个超声波测距硬件电路模块中主要的电路设计有超声波发射电路、超声波接收电路、显示电路、温度补偿电路以及声光报警电路构成。
其中接收电路主要采用的是CX20106A;发射电路采用的是反相器74HC04及超声波发射换能器组成;另外,为了提高测量的精度在电路中又加入了温度补偿装置,DS18B20就是用来测量当前温度从而来实现这一功能。
通过实物验证这一设计方案是可行的。
[关键词]STC89C52;超声波测距;74HC04;CX20106A;温度补偿The Hardware Design of Ultrasonic Ranging Systerm Tracking Control Technology and EquipmentAbstract:Ultrasonic range finder, can be applied to the car into reverse, the construction sites and industrial the position to monitor and may be used as the old, dark, the length of such occasions. In the design of system design, precision measurement range of ultrasonic, the stability of 1cm clear that measurement.In the whole range of ultrasonic hardware circuit that the main circuit design has an ultrasonic the circuit, an ultrasound the circuit, show circuit, temperature compensate circuit and the audible and visible police made a circuit.One of the main circuits are CX20106A ;The circuit is the use of ultrasonic 74HC04 and in the launch of the change to another in order to improve ;The precision measurement in the circuit joined the compensation arrangement, DS18B20 is used to measure the temperature and to fulfil this function. In the design by the scheme is feasible.Keywords:STC89C52;Silent WaveMeasureDistance;74HC04;CX20106A;Temperature Compensation目录1 序言 (1)1.1 课题研究的背景及意义 (1)2 超声波测距的设计思路 (2)2.1 超声波传感器及其测距原理 (2)2.2 方案论证 (3)3 总体方案设计 (3)3.1 单片机测距原理 (4)3.2 单片机系统及其基本电路 (4).1 STC89C52的功能介绍 (5).2 单片机的基本连接电路 (6)3.3 超声波发射部分电路 (7)3.4 超声波接收部分电路 (8)3.5 温度补偿电路 (10).1 温度传感器工作原理 (10).2 温度补偿电路 (11)3.6 数码显示电路 (12)3. 数码管基本知识 (12)3.7 键盘电路 (14)3.7 报警电路 (15)4 软硬件调试 (16)参考文献 (16)附录 (16)结束语 (19)致谢 (20)1 序言课题研究的背景及意义在我国,超声学的研究开始于二十世纪五十年代,1959年至1964年间我国建立了分子声学实验室,对驰豫吸收、悬浮体的声吸收等问题进行了深入的研究,设计生产了固体中超声衰减的测量设备,对粘弹性和可压缩流体的声速和衰减的研究取得了令人兴奋的成果。
超声波测距系统的设计引言:一、硬件设计:1.选择传感器:超声波传感器是测距系统的核心部件,通常采用脉冲法进行测量。
在选择传感器时,应考虑工作频率、测量范围、精度和稳定性等参数,并根据实际需求进行选择。
2.驱动电路设计:超声波传感器需要高频信号进行激励,设计驱动电路时需要根据传感器的工作要求来设计合适的电路,保证信号稳定且能够满足传感器的工作需求。
3.接收电路设计:超声波传感器产生的脉冲回波需要经过接收电路进行信号放大和滤波处理,设计接收电路时需要考虑信号放大的增益、滤波器的截止频率以及抗干扰能力等因素。
4.控制板设计:控制板是超声波测距系统中的核心控制器,负责控制测距过程、数据处理以及通信等功能。
在设计控制板时,应根据系统的要求选择合适的微控制器或单片机,并设计合理的电路布局和电源电路。
二、软件编程:1.驱动程序开发:根据传感器的规格书和数据手册,编写相应的驱动程序,实现对超声波传感器的激励和接收。
2.距离计算算法开发:通过测量超声波的往返时间来计算距离,根据声速和时间的关系进行距离计算,并根据实际情况对计算结果进行修正。
3.数据处理和显示:根据实际需求,对测量得到的距离进行处理,并将结果显示在合适的显示设备上,如LCD屏幕或计算机等。
4.数据通信:如果需要将测量结果传输至其他设备或系统,则需要编写相应的数据通信程序,实现数据的传输和接收。
三、系统测试与优化:1.测试传感器性能:测试测距系统的稳定性、精度和灵敏度等性能指标,根据测试结果对系统参数进行优化和调整。
2.系统校准:超声波测距系统可能受到环境温度、湿度和声速等因素的影响,需要进行校准以提高测量精度。
3.系统集成与实际应用:将超声波测距系统与实际应用场景进行集成,进行实际测试和验证。
总结:超声波测距系统的设计包括硬件设计和软件编程两个方面,其中硬件设计主要包括传感器选择、驱动电路设计和接收电路设计等;软件编程主要包括驱动程序开发、距离计算算法开发、数据处理和显示以及数据通信等。
《超声波测距离传感器,超神奇!》嘿,朋友们!今天咱来聊聊这个超声波测距离传感器,这玩意儿可神奇啦!咱先说说啥是超声波哈。
这超声波呢,就像个神秘的小精灵,咱平常耳朵可听不见它。
它跑得可快啦,比咱跑步快多了。
那这个超声波测距离传感器呢,就是靠着这些小精灵来干活儿的。
想象一下哈,这个传感器就像一个小侦探。
它发出超声波,就像是派出了一群小精灵去探险。
这些小精灵嗖地一下就飞出去啦,然后碰到东西就会反弹回来。
传感器呢,就在这儿等着小精灵们回来报告情况。
那它咋知道距离有多远呢?嘿嘿,这就有讲究啦。
传感器发出超声波的时候,就开始计时。
等小精灵们带着消息回来,它就停下计时。
然后根据时间的长短,就能算出距离有多远啦。
就好像咱玩游戏的时候,数着秒数看谁跑得快一样。
比如说哈,咱要测一个东西离咱有多远。
传感器发出超声波,小精灵们飞快地跑出去。
如果很快就回来了,那就说明这个东西离得近。
要是等了好一会儿才回来,那肯定就是离得远啦。
这个原理听起来是不是很简单?但实际上可厉害着呢!超声波测距离传感器在好多地方都能派上用场。
比如说,汽车上就有这个玩意儿。
它可以帮司机知道车离前面的东西有多远,这样就不容易撞上去啦。
还有在一些工厂里,也能用它来测量物体的位置,让机器能更准确地干活儿。
而且哦,这个传感器还很聪明呢。
它不会被光线啊、颜色啊这些东西影响。
不管是白天还是晚上,不管是黑的白的还是花的,它都能准确地测出距离。
就像一个超级靠谱的小伙伴,随时都能帮咱的忙。
咱再想想哈,要是没有这个超声波测距离传感器,那可就麻烦啦。
比如开车的时候,全靠眼睛看,有时候看不清楚就容易出事儿。
有了这个传感器,就像多了一双眼睛,能让咱更安全。
总之呢,这个超声波测距离传感器可真是个了不起的发明。
它靠着神秘的超声波小精灵,帮我们解决了好多问题。
下次咱再看到有东西用这个传感器的时候,就可以想象一下那些小精灵在飞来飞去地帮忙,是不是觉得很有趣呀?哈哈!。
自制一个由你掌控的—— 超声波测距传感器(硬件篇)一、背景四年多前,我曾尝试自己制作一个超声波测距传感器。
当时是想为 LEGO 的 RCX 配套,因为我是Semia 的技术支持,那时RCX 还没有配置任何测距传感器。
由于可查阅的资料有限,且不详细,最后以失败告终 /(也许在网络搜索上我属于“菜鸟”)。
为了达到目的,只好选用了 Sharp 公司的 GP2D12。
但自制超声波测距传感器的愿望一直没被遗忘。
一是觉得超声波用于测距从原理上讲应该效果不错(GP2D12的测距范围太小,只有 10 — 80 cm);二是市售成品不够灵活,为了适应它还得做转换接口,费力耗财。
前段时间协助一个单位搞项目,涉及到超声波测距;有幸的是解剖了一款进口的超声波测距传感器 —— SensComp公司的6500,使我对相关原理和技术有了比较透彻的了解。
本想项目结束后立刻动手设计一个自己的传感器,后因忙于“圆梦小车”耽搁了。
现在圆梦小车已初具雏形,可以腾出一点时间,而且小车也需要一些传感器与之配套,便着手实现了这个夙愿。
基于嵌入之梦工作室的宗旨 —— 为学习单片机的大学生服务,将设计和制作的细节与大家分享,希望能有助于读者做出属于你自己的超声波传感器,也让和我有类似想法的人不至于再次失望于网络。
二、需求分析¾能在测距范围上弥补 GP2D12 的不足,将距离延伸到 80cm以外;¾可以提供给大学生和爱好者 DIY,具有学习功能;¾方便自己随时修改程序,使学习的作用得以充分发挥;¾成品具有一定的使用价值,可方便的应用于小车等需要测距的装置上。
三、概要设计总体设计参照 SensComp公司()6500测距模块,其核心是两片专用的超声波测距IC:TL851和TL852。
TL852是一片专门设计用于超声波接收、放大、检测的芯片,集成了可变增益、选频放大器,可通过四根控制线变换11级增益,对于检测超声波信号十分有效。
一、超声波测距原理超声波测距原理是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播时碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为v ,而根据计时器记录的测出发射和接收回波的时间差△t ,就可以计算出发射点距障碍物的距离S ,即: S = v·△t /2 ①这就是所谓的时间差测距法。
由于超声波也是一种声波, 其声速C与温度有关,表1列出了几种不同温度下的声速。
在使用时,如果温度变化不大, 则可认为声速是基本不变的。
常温下超声波的传播速度是334 米/秒,但其传播速度V 易受空气中温度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高1 ℃, 声速增加约0. 6 米/ 秒。
如果测距精度要求很高, 则应通过温度补偿的方法加以校正(本系统正是采用了温度补偿的方法)。
已知现场环境温度T 时, 超声波传播速度V 的计算公式为:V = 331.45 + 0.607T ②声速确定后,只要测得超声波往返的时间,即可求得距离。
这就是超声波测距仪的机理。
二、系统硬件电路设计图2 超声波测距仪系统框图基于单片机的超声波测距仪框图如图2所示。
该系统由单片机定时器产生40KHZ的频率信号、超声波传感器、接收处理电路和显示电路等构成。
单片机是整个系统的核心部件,它协调和控制各部分电路的工作。
工作过程:开机,单片机复位,然后控制程序使单片机输出载波为40kHz的10个脉冲信号加到超声波传感器上,使超声波发射器发射超声波。
当第一个超声波脉冲群发射结束后,单片机片内计数器开始计数,在检测到第一个回波脉冲的瞬间,计数器停止计数,这样就得到了从发射到接收的时间差△t;根据公式①、②计算出被测距离,由显示装置显示出来。
下面分别介绍各部分电路:1 、超声波发射电路超声波发射电路如图3所示,89C51通过外部引脚P1.0 输出脉冲宽度为250μs , 40kHz的10个脉冲串通过超声波驱动电路以推挽方式加到超声波传感器而发射出超声波。
第三章超声波测距仪硬件电路的设计3.1 超声波测距仪硬件电路硬件电路可分为单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。
3.1.1 单片机系统及显示电路本系统采用AT89S52来实现对超声波传感器的控制。
单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。
计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。
超声波测距的硬件示意图如图3所示:单片机采用89S52或其兼容系列。
采用12MHz高精度的晶振,已获得较稳定的时钟频率,减少测量误差。
单片机用P1.0端口输出超声波换能器所需的40KHz的方波信号,利用外中断0口检测超声波接收电路输出的返回信号。
3.1.2 显示的输出显示的种类很多,从液晶显示、发光二极管显示到CRT显示器等,都可以与微机连接。
其中单片机应用系统最常用的显示是发光二极管数码显示器(简称LED显示器)。
液晶显示器简LCD。
LED显示器价廉,配置灵活,与单片接口方便,LCD可显示图形,但接口较复杂成本也较高。
该电路使用7段LED构成字型“8”,另外还有一个发光二极管显示符号及小数点。
这种显示器分共阳极和共阴极两种。
这里采用共阳极LED显示块的发光二极管阳极共接,如下图3-1所示,当某个发光二极管的阴极为低电平时,该发光二极管亮。
它的管脚配置如下图3-2所示。
VCC图3-1图3-2实际上要显示各种数字和字符,只需在各段二极管的阴极上加不同的电平,就可以得到不同的代码。
这些用来控制LED显示的不同电平代码称为字段码(也称段选码)。
如下表为七段LED的段选码。
表3-1 七段LED的段选码显示字符共阳极段选码dp gfedcba 显示字符共阳极段选码dp gfedcbaC0HA 88H1F9HB 83H2A4HC C6H3B0HD A1H499HE 86H592HF 8EH682HP 8CH7F8Hy 91H880H8. 00H990H“灭” FFH本系统显示电路采用简单实用的4位共阳LED数码管,位码用PNP三极管8550驱动。
《基于STM32单片机的高精度超声波测距系统的设计》篇一一、引言随着科技的不断发展,高精度测距技术被广泛应用于各个领域,如机器人导航、环境监测、智能家居等。
本文将介绍一种基于STM32单片机的高精度超声波测距系统的设计。
该系统采用先进的超声波测距原理,结合STM32单片机的强大处理能力,实现了高精度、快速响应的测距功能。
二、系统概述本系统主要由超声波发射模块、接收模块、STM32单片机以及相关电路组成。
通过STM32单片机控制超声波发射模块发射超声波,然后接收模块接收反射回来的超声波信号,根据超声波的传播时间和速度计算距离。
系统具有高精度、抗干扰能力强、测量范围广等特点。
三、硬件设计1. STM32单片机本系统采用STM32系列单片机作为主控制器,具有高性能、低功耗、丰富的外设接口等特点。
通过编程控制单片机的GPIO 口,实现超声波发射和接收的控制。
2. 超声波发射模块超声波发射模块采用40kHz的超声波传感器,具有体积小、功耗低、测距范围广等优点。
通过单片机控制发射模块的触发引脚,产生触发信号,使传感器发射超声波。
3. 超声波接收模块超声波接收模块同样采用40kHz的超声波传感器。
当传感器接收到反射回来的超声波信号时,会产生一个回响信号,该信号被接收模块的回响引脚捕获并传递给单片机。
4. 相关电路相关电路包括电源电路、滤波电路、电平转换电路等。
电源电路为系统提供稳定的电源;滤波电路用于去除干扰信号;电平转换电路用于匹配单片机与传感器之间的电平标准。
四、软件设计1. 主程序设计主程序采用C语言编写,通过STM32单片机的标准库函数实现各功能模块的初始化、参数设置以及控制逻辑。
主程序首先进行系统初始化,然后进入循环等待状态,等待触发信号的到来。
当接收到触发信号时,开始测距流程。
2. 测距流程设计测距流程主要包括发射超声波、等待回响信号、计算距离等步骤。
当接收到触发信号时,单片机控制超声波发射模块发射超声波;然后等待接收模块的回响信号。
自制一个由你掌控的—— 超声波测距传感器(硬件篇)一、背景四年多前,我曾尝试自己制作一个超声波测距传感器。
当时是想为 LEGO 的 RCX 配套,因为我是Semia 的技术支持,那时RCX 还没有配置任何测距传感器。
由于可查阅的资料有限,且不详细,最后以失败告终 /(也许在网络搜索上我属于“菜鸟”)。
为了达到目的,只好选用了 Sharp 公司的 GP2D12。
但自制超声波测距传感器的愿望一直没被遗忘。
一是觉得超声波用于测距从原理上讲应该效果不错(GP2D12的测距范围太小,只有 10 — 80 cm);二是市售成品不够灵活,为了适应它还得做转换接口,费力耗财。
前段时间协助一个单位搞项目,涉及到超声波测距;有幸的是解剖了一款进口的超声波测距传感器 —— SensComp公司的6500,使我对相关原理和技术有了比较透彻的了解。
本想项目结束后立刻动手设计一个自己的传感器,后因忙于“圆梦小车”耽搁了。
现在圆梦小车已初具雏形,可以腾出一点时间,而且小车也需要一些传感器与之配套,便着手实现了这个夙愿。
基于嵌入之梦工作室的宗旨 —— 为学习单片机的大学生服务,将设计和制作的细节与大家分享,希望能有助于读者做出属于你自己的超声波传感器,也让和我有类似想法的人不至于再次失望于网络。
二、需求分析¾能在测距范围上弥补 GP2D12 的不足,将距离延伸到 80cm以外;¾可以提供给大学生和爱好者 DIY,具有学习功能;¾方便自己随时修改程序,使学习的作用得以充分发挥;¾成品具有一定的使用价值,可方便的应用于小车等需要测距的装置上。
三、概要设计总体设计参照 SensComp公司()6500测距模块,其核心是两片专用的超声波测距IC:TL851和TL852。
TL852是一片专门设计用于超声波接收、放大、检测的芯片,集成了可变增益、选频放大器,可通过四根控制线变换11级增益,对于检测超声波信号十分有效。
TL851 与TL852 配套,它可实现超声波发射及控制TL852的增益变换,通过定时控制增益,使TL852的增益与回波时间相匹配,一方面提高了检测的灵敏度,同时减小了干扰。
如果不能随时间变换增益,为增加检测距离,就需要加大灵敏度;而开始时灵敏度就很高,无疑会收到一些不想要的信号。
(6500测距模块的相关资料及芯片资料见附件) 解剖此模块时,对TL852的功能十分感兴趣,当初我制作时就是“栽”在这个环节;而TL851的功能基本属数字控制范畴,输出还需要配合单片机才能得到结果,接口也不是十分灵活,笔者认为完全可以用单片机替代。
所以,本次设计的主要改变就是用单片机替换6500模块的TL851。
单片机还是选用圆梦小车所用的STC12系列,一是考虑是51兼容,符合国内多数教材;二是下载程序方便。
此次选用的是 STC12LE4052(4K FlashROM,256 RAM)。
考虑体积因素,选择了SOP20封装。
从6500模块解剖中还有一个收获就是搞清了超声波发射的驱动细节。
以往资料上多数是直接用门电路驱动,最多接一级三极管放大。
我第一次试制时就发现功率无法增加,导致测距范围有限。
仔细看超声波发射器的要求:大多需要10V以上驱动,而且是正弦波信号。
压电陶瓷(超声波发射器多为此材料制造)功率增加只有通过提高电压,在单5V供电下无法实现,而增加12V供电又不实用。
6500模块驱动是通过变压器升压的,并且通过电容匹配,使次级与发射器构成谐振回路,这样既提高了驱动电压,又使得波形接近正弦波。
6500模块工作是收发一体模式,所以其接收回路自然也是谐振回路,一方面增加了灵敏度,同时还排除了其它频率波的干扰,因为只对谐振频率敏感。
为了便于初学者理解,本次设计改为收、发分体模式,发送回路借鉴6500模块,接收回路使用电感与接收器构成谐振回路。
之所以单片机采用3.3V供电,是为了增加一级稳压,以降低发射超声波带来的电源干扰,提高可靠性。
因为上述需求的第二条和第四条略有冲突,考虑到实用价值,偏向了第四条。
设计上为了体积合适,采用了部分表面安装(SMD)器件,但是一些调试时可能需要改变参数以及一些可能损坏的器件选用了直插式,以方便读者优化或观察改变器件参数的效果。
采用UART口输出数据、设置参数。
因为UART口可以使用中断模式,读取软件开销较小,且UART是目前MCU中配置最普遍的,虽说会占用一个串口,但是现在多串口MCU越来越多,特别是ARM系列,如ST的STM32系列就有2 – 3个UART口。
四、详细设计设计分硬件和软件两部分,本篇重点介绍硬件设计,软件留待下一篇详述。
4.1 硬件设计超声波传感器由以下部分构成:图1 工作原理框图框图中,单片机为核心控制部分,根据设定的工作方式,产生40kHz 方波,经过驱动电路驱动超声波发生器发出一簇信号。
单片机此时开始计时。
接收回路为谐振回路,将收到的微弱回波信号检出,送信号放大电路放大,收到产生脉冲输出送单片机中断端,单片机收到中断信号后停止计时,计算出距离值,保存等待读出或直接经UART 送出。
接收过程中,单片机定时控制放大电路的增益,逐渐提高,以适应距离越远越弱的回波信号。
核心器件为STC12LE4052、TL852、16mm 超声波收、发器。
采用5V 供电,因为5V 是最常见的工作电压,便于日后将传感器应用于装置中。
为了减小干扰,选用了3.3V 供电的单片机,使用目前常用的1117-3.3三端稳压器将5V 降到3.3V,减小电源扰动的影响,增加可靠性。
下面分步介绍各个部分的电路原理。
首先是超声波发射部分。
超声波发射器 超声波接收器图2 超声波发射驱动电路图中,Send_Ctrl、Cut_Off端由STC12LE4052控制。
此单片机的I/O口可设置为推挽输出模式(这是经典51不具备的),拉电流、灌电流均可达20mA,保证了D882有足够的驱动能力和快速的通断性能。
变压器的次级电感与发射器(发射器为容性,一般为2400p左右)构成谐振回路,好处是提高了发射效率,但副作用是发射后的余波时间较长,导致近距离的回波被淹没。
所以电路中设计了2种余波抑制电路。
一个是R6,通过增加谐振回路的损耗加速余波结束,这种方式不需要控制,但由于同时也消耗了发射的功率,所以阻值不能太小,导致衰减效果不明显(此部分读者可自行试验)。
另一个电路由R4、R5、P1构成,由单片机控制,在发射完脉冲后将P1导通,强制短路变压器初级,快速消耗掉谐振能量,达到消除余波的目的,电阻R5越小,效果越好,但带来的问题是:如控制失灵,会导致短路,烧坏P1或N1。
所以在电路中设计了一个跳线器,在软件没有调试好之前断开,避免无谓的损耗。
变压器升压比设计为20倍,实际输出电压约为 50V峰值。
控制部分采用MCU,如下图所示:图 3 单片机控制电路STC12LE4052为一种改进型的51兼容单片机,指令集及主要架构与经典51相同,硬件资源略有增加:1)增设了2通道PCA(可编程计数器阵列),弥补了经典51定时器功能“偏弱”的缺陷。
2)I/O口改进为可设置方式,支持:51准双向、高阻输入、OC输出、推挽输出四种模式,简化了外部硬件设计。
3)硬件SPI接口,本设计中暂未使用,但PCB上引出了,有兴趣者可尝试之。
4)指令速度大大提高了,将原来的12时钟为一个机器周期改进为 2 – 3个时钟周期,指令速度平均提高为原来的8倍左右。
5)计时时钟保留12分频模式,新增了2分频模式,提高了计时精度。
后两点对于超声波测距应用有益,指令速度快可减少响应延时的不确定,计时精度高可提高分辨率。
MCU端口资源分配如下:P10 - P13 —— 控制TL852增益,设置为OC输出,852内部有上拉电阻(见图5) P14 - P17 —— 保留P30(RXD)、P31(TXD) —— UART通讯P32(INT0) —— 接SOUT端,作为超声波发射时的852输出抑制,置为OC输出。
P33(INT1) —— 超声波接收输入,设置为输入P34 —— 产生超声波发射方波,设置为推挽输出模式P3.5 —— 控制P1,用于衰减余波,设置为OC输出模式P37 —— 工作指示灯,设置为OC输出模式关于P32控制 SOUT端的作用,请阅读TL851资料。
图 4 接收回路和信号放大、检出电路这个电路是超声波测距的核心。
因为产生波形和计时都容易解决,而准确的检测出回波信号才是决定传感器是否成功的关键。
为便于理解上图,将TL852 的内部原理框图列出:图 5 TL852 内部功能框图读者可对照TL852 数据手册分析其工作原理。
从图中可以看出,图4中的R7、R8为运放的输入、反馈电阻,通过改变两者比值可方便的改变灵敏度,故将R7、R8设计为直插器件。
图6 TL852输出信号处理电路图6所示电路是为了将TL852的输出转换为单片机需要的中断信号,U4A构成了一级同相跟随器,是为了隔离后级对C14积分电路的影响。
U4B构成一个比较器,理解此部分可参阅下面的TL851框图。
图 7 TL851内部功能框图图中,8脚应接在SOUT上,1.2V基准电压等效于图6中的2个1N4148串联,因为硅PN结的正向压降为0.6V。
第9脚ECHO输出相当于图6中的U4B的第7脚输出。
BLNK、BINH端子都是为了抑制发送时的信号,此部分在本设计中由单片机完成,单片机的P32口置为OC输出,就是为了替代图中接在8脚和3脚之间的三极管,实现对积分电容C14放电,为测量做准备。
如读者希望进一步了解这部分的工作原理,可对照6500模块的原理图和TL851、TL852 数据手册仔细研读。
4.2 器件选择和PCB设计单片机前面已说明。
TL852选用SOP16封装的,否则体积太大。
运放U4 选用LMV358,SOP8封装。
LMV358为低电压满幅输出运放,额定工作电压为2.7 — 5V,读者可对照LM358资料看两者的差别,因为单片机的工作电压为3.3V,所以选用LMV358,虽然成本略高,但性能得到保证。
超声波收、发器选用Φ16mm的,期望发射功率略大,测量距离可以远些。
谐振频率为40kHz,国内基本上都是此频率。
因为超声波收、发器的电容值偏差较大,如读者希望精确匹配电感以提高性能,可能需要自己根据实测的电容量手工绕制,所以电感选用了8X10的工字磁芯,而变压器采用EE16,体积都比较大,便于手工绕制;读者如需优化性能,或体验其影响,可尝试自己制作,从而更好的掌握超声波测距的原理,为日后设计正式产品打下基础。
对外连接的端子采用XH-4A四芯插座,一根电源、一根地线、2根UART收发线,这样可方便的与其它设备连接,既给传感器供电,又可与传感器通讯,获取数据。