超声波测距传感器(硬件件篇)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自制一个由你掌控的
—— 超声波测距传感器(硬件篇)
一、背景
四年多前,我曾尝试自己制作一个超声波测距传感器。
当时是想为 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,减小电源扰动的影响,增加可靠性。
下面分步介绍各个部分的电路原理。
首先是超声波发射部分。
超声波发射器 超声波接收器