超远距离超声波模块(适合自制)
- 格式:doc
- 大小:1.54 MB
- 文档页数:28
综合课程设计报告木萨.吐尔逊一、课题的任务要求:制作一个汽车倒车报警器。
模拟障碍物为一40cm X 40cm 的纸板。
当障碍物距测距仪2m 士20cm 以内时,报警器发出报警声,当距1m 士10cm 以内时,发出尖锐的报警声,且距离越近,报警声越大。
二、课题的概要设计:本系统由电源,波形发生电路,超声波发射电路,超声波接受和放大整形电路,收发控制电路,距离判断电路,压控音频发生器及喇叭构成。
框图如下:收发控制模块每隔一定时间使波形发生模块发生40KHZ 方波,经功率放大后加到超声波发射头上发射超声波,同时距离判断电路开始定时,超声波经障碍物反射后,有接收头接受,经放大整形后输出到距离判断模块,停止定时,输出相应的电平给报警模块,报警模块发出相应的声光信息。
三、课题的详细设计: 1)、收发控制、波形发生及超声波发射电路,原理图如下:T1TR ANS1T 1GND 2T2TT1ms 左右的正脉冲,由端口T 输出,周期和脉宽分别由R2*C1和R3*C1决定。
与非门U3,U4与R4,R5,C2构成40KHZ 方波发生器,当T 为高时使能,Q1与R6,变压器T1,D2,稳压管D3构成功率放大器,T2为超声波发射头。
这样,每隔50ms ,就发射一时长1ms 的超声波脉冲。
2)、超声波接受与整形电路,原理图如下:T1T1为超声波接受头,经Q1,Q2组成的两级放大,D1,C2,R5构成二极管检波电路,检波电压有R输出。
当接收到超声波时R输出高电平。
Q1的基极还可以接时间增益控制端,具体描述见下文。
3)时间增益控制电路:由于近距离的物体发射回超声波幅度大,远距离物体反射微弱的多,如果放大器增益固定,由于发射头的方向性不是理想的,则近处物体(如地面)的漫反射很容易造成误判,故每次发射后,放大器的增益应,开始较小,随时间变大。
实现电路如下:当信号发射时C2中的电压被清零,之后R1对C2充电,C2中电压渐渐升高,此电压通过R3调节接受电路三极管基极电流,就可以调节放大倍数,实测表明该方法相当有效。
HC-SR04超声波测距模块之阳早格格创做
1、本模块本能宁静,测度距离透彻.能战海中的
SRF05,SRF02等超声波测距模块相媲好.模块下粗度,盲区(2cm)超近,宁静的测距是此产品乐成走背商场的有力根据!
2主要技能参数: 1:使用电压:DC5V 2:固态电流:小于2mA 3:电仄输出:下5V 4:电仄输出:底0V 5:感触角度:没有大于15度 6:探测距离:2cm-450cm
交线办法,VCC、trig(统造端)、 echo(交支端)、GND
3模块处事本理:
(1)采与IO触收测距,给起码10us的下电仄旗号;
(2)模块自动收支8个40khz的圆波,自动检测是可有旗号返回;
(3)有旗号返回,通过IO输出一下电仄,下电仄持绝的时间便是
超声波从收射到返回的时间.尝试距离=(下电通常间*声速(340M/S))/2;
本模块可提供齐套测距步调:C51,PIC18F877,超声波LCD1602隐现,超声波LCD12864隐现,数码管隐现,串心隐现等,测距参照步调.
供以下齐套资料
超声波模块本理图:。
超声波模块(PWM脉冲方式输出)
产品型号:DYP-ME007 发表时间:2010-12-8 点击:597
一、产品简介
DYP-ME007超声波测距模块可提供3cm--5m的非接触式距离感测功能。
其基本工作原理为给予此超声波测距模块一触发信号后发射超声波,当超声波投射到物体而反射回来时,模块输出一回响信号,以触发信号和回响信号间的时间差,来判定物体的距离。
二、电气参数
电气参数 DYP-ME007超声波模块
工作电压 DC 5V
工作电流 10mA
工作频率 40Hz
最远射程 5m
最近射程 2cm
输入触发信号 10uS的TTL脉冲
输出回响信号输出TTL电平信号,与射程成比例
规格尺寸 43*20*15mm
三、模块使用方法:
使用本模块,占用单片机的两个IO口,一个IO口做为触发端。
一个IO口做为回波PWM信号捕捉引脚。
写程序时,先在TRIG引脚端为一个大约10US的高电平触发模块,同时模块内部将发出8个40kHz周期电平并检测回波。
并在内部程序处理变换成一个PWM的信号从Echo引脚输出,一旦检测到有回波信号则输出回响信号,供我们方便使用。
我们使用时,只需读出PWM信号高电平的时间(T)。
回响信号是一个脉冲的宽度成正比的距离对象。
可通过发射信号到收到的回响信号时间间隔可以计算得到距离。
公式: uS/58=厘米或者uS/148=英寸。
也可以通过声波在空气中传播公式L=340T/2。
就可以求出L(测量的距离)。
如果没有检测到回响信号,模块回响信号脚将输出约140uS的电平,以防止发射信号对回响信号的影响.。
一款超声波测距模块运用程序本模块性能稳定,使用方便,测度距离精确。
能和国外的SRF05,SRF02等超声波测距模块相媲美,且价格实惠,是你采购超声波器件的理想选择。
模块高精度,盲区(2cm)超近,稳定的测距是此产品成功走向市场的有力根据!测量范围在2cm~500cm,测量精度3mm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于液位、井深、管道长度的测量,用于机器人控制、小车躲避障碍等场合中。
小车上安装此模块配合舵机使用能控制得更方便。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。
因此在移动机器人的研制上也得到了广泛的应用。
模块性能1:使用电压:DC5V;2:静态电流:小于2mA;3:输出信号:电平信号,高电平5V,低电平为0V;4:感应角度:不大于15度;5:探测距离:2cm-500cm6: 高精度:可达0.3cm超声波测距模块工作原理:(1)采用单片机IO触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过echo输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。
用户通过从trig脚输入40kHz的方波信号,即用户从单片机的IO口连续发出高低电平,产生方波,方波的个数一般为10个左右;然后就可以在接收端等待高电平输出,一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,高电平的时间就是此次测距的时间,根据以下公式计算测量距离:测试距离=(高电平时间*声速(340m/s))/2;注意事项1、超声波发射头向外发射60度角的超声束,因此,在探头与被测物体之间不能有其他障碍物。
工作原理本超声波测距模块可提供0mm--1500mm的非接触式距离感测功能,包括超声波发射器、接收器与控制电路。
其基本工作原理为此超声波测距模块连接电源后,模块本身每10ms进行一次测距,完成测距后,以串口(TTL电平,用USB转串口线可以直接连接本模块到PC,PC 上程序读取串口数据就可以了,非常容易)的形式输出距离值。
数据格式模块每次输出一帧,含4个8位数据,帧格式为:0XFF+H_DATA+L_DATA+SUM(2)有信号返回,内部计算处理后,通过TXD输出距离信息;模块主要特点:(1)超微型,只相当于两个发射,接收头的面积,已经没法再小了.(2)无盲区(10mm内成三角形误差较大).(3)反应速度快,10ms的测量周期,不容易丢失高速目标.(4)发射头,接收头紧靠,和被测目标基本成直线关系(10mm内还是大三角形,这个是发射,接收头的物理形状决定了).(5)模块上有LED指示,方便观察和测试!常见问题(faq):1:超声波测距原理超声波是一种频率比较高的声音,指向性强.超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。
由此可见,超声波测距原理与雷达原理是一样的。
测距的公式表示为:L=C×T式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。
已知超声波速度C=344m/s (20℃室温)超声波传播速度误差超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系,近似公式为:C=C0+0.607×T℃式中:C0为零度时的声波速度332m/s;T为实际温度(℃)。
对于超声波测距精度要求达到1mm时,就必须把超声波传播的环境温度考虑进去。
2:为什么距离最远只有1500mm?本传感器专为智能小车等微型设备而设计,适合小范围,小空间,封闭空间的场合,大家知道,超声波传输速度低,衰减时间长,如果一味追求距离,就会导致响应时间长,丢失目标,在室内等封闭场合会形成多次发射震荡,传感器就无法正常工作了.下面从传感器的反应时间来分析距离的问题:超声波空气中速度每秒约340米,折算成毫秒,就是340mm/ms,探测距离为1500mm 的话,探测到回波的距离就是3000mm,超声波的传输时间是9ms,加上电路延迟,传感器的能量延迟,再预留一些保护时间(让上次超声波能量消失),每次测量时间就是10ms.10ms的反应速度对于智能小车来说是合适的,高速运动时不会丢失目标.现在市面有一种传感器是5米,这个5米是最大距离,探测目标一般是墙面等大发射面,对于小目标是不可能达到的,先不管这个小目标到底是多少距离了,我们从传感器的反应时间来分析.这种传感器的时序跟我们的不同,它是先收到反馈然后再从Echo的脉宽上反馈出来的,而不是从echo和trig的时差来反馈的,这样传感器的反应时间又增加了一倍!这样5米传感器的反应时间最少是(上面计算1米的最少时间是6ms):5*6*2=60ms!就算最快60ms的测量周期,对于智能小车能应用已经太迟钝了!当主控CPU探测到目标时,小车恐怕已经撞上去了!3:你的超声波发射和接收头靠的很近,为什么?大家看到的超声波传感器一般发射和接收头分得比较开,是因为靠的越近发射头的横向波能量传递给接收头的越高,导致盲区变得很大,甚至无法正常工作,让发射头和接收头分开点是不得以而为之,这样带为的坏处是发射头,接收头和测量物体之间是三角形连接!很明显距离越近,三角形的角度就越大,这样就带来误差了.而本店传感器的发射头和接收头是紧密挨在一起的,和探测目标就是平行关系,而不是三角关系.4:你的超声波模块真的无盲区?本超声波传感器独创性的消除了横向干扰波,最小测量距离从0开始.5:不同物体测量距离不同?对!因为超声波就是频率高些的声音,不同材料,形状的物体对声音的吸收率不同,反射角度不同,只有反射到接收头(也就是超声波发射的方向)的能量才会被探测到,所以不同物体测量的有效测量距离不同.一般来说,平面光滑的物体(如镜面)反射距离最远,通常说的最大探测距离指的就是这类物体,细小的物体探测距离很近很多,如细棉线,面积小,而且吸收声音,就探测不到.下面列举实际物体的最大探测距离:1.圆珠笔,200mm2.手,400mm3.1mm粗带塑料套的电线,30mm4.游标卡尺,450mm5.人体(穿厚衣服),400mm6.墙面,1200mm(最大1500mm左右,需要垂直测量)7.1mm粗细棉线,探测不到8.竹牙签,40mm6:有应用例程吗?有,用51单片机的串口接收模块的输出信息#include"reg51.h"#include"sio.h"void main(void){com_initialize();/*initialize interrupt driven se rial I/O*/com_baudrate(14400);/*setup for14400baud*/EA=1;//Enable Interruptswhile(1){unsigned char head,dh,dl,crc;head = com_getchar();if (head != 0xff) continue;dh = com_getchar();dl = com_getchar();crc = com_getchar();head = head + dh + dl;if (head != crc) continue; //crc8校验错...现在dh * 256 + dl 就是测量的距离值了,再做进一步处理...}}7:IO紧张,可以用更少的IO吗?串口模式已经只用一根IO了,模块不接收数据,只发送,因此单片机只用一根RXD 就可以了.8:需要更短周期的测量,可以吗?不可以,模块以10ms为周期自动测量.9:抗干扰性如何?抗干扰性能比较强.设计上有几个措施:1.尽量降低输入阻抗,阻抗越高越容易引入干扰;2.模块设计的距离比较近,信号放大倍数只满足此距离;3.一般干扰源离模块越近,越容易干扰,模块对近距离的信号进行了衰减.经实际测试,模块对近距离的噪音(击掌,口哨,音频喇叭)干扰不产生动作,但较强机械震动有时会产生干扰(有较强谐波,含40khz成分),因此超声波模块避免跟可能产生振动的物体硬连接,中间可以用橡胶等减震,这样就能可靠工作了.10:探测角度?近距离探测角度比较大,约60度,越远距离,探测角度越小,最远处接近0度.11:模块有其他接口方式吗?有.另有IO模式.其他如IIC,SPI可以定做,但最常用的是IO和TTL接口方式,具体咨询店主.12:PC电脑上能使用本模块吗?可以.用一根USB转TTL串口线可以直接连接本模块(不能使用RS232串口,电平不同,使用会烧坏,现在的PC也没有RS232串口了),模块直接使用USB的电源,十分方便.使用方法和USB串口线请向店主了解.。
自制不用单片机的超声波测距仪电路本超声波测距仪通过测量超声波发射到反射回来的时间差来测量与被测物体的距离。
可以测量0.35-10m的距离。
本款是国外不使用单片机的超声波测距仪。
实物图如下:一、电路原理原理图如下:1 超声波发射电路由两块555集成电路组成。
IC1(555)组成超声波脉冲信号发生器,工作周期计算公式如下,实际电路中由于元器件等误差,会有一些差别。
条件: RA =9.1MΩ、RB=150KΩ、C=0.01μFTL = 0.69 x RB x C= 0.69 x 150 x 103 x 0.01 x 10-6 = 1 msecTH = 0.69 x (RA + RB) x C= 0.69 x 9250 x 103 x 0.01 x 10-6 = 64 msecIC2组成超声波载波信号发生器。
由IC1输出的脉冲信号控制,输出1ms频率40kHz,占空比50%的脉冲,停止64ms。
计算公式如下:条件: RA =1.5KΩ、RB=15KΩ、C=1000pFTL = 0.69 x RB x C= 0.69 x 15 x 103 x 1000 x 10-12 = 10μsecTH = 0.69 x (RA + RB) x C= 0.69 x 16.5 x 103 x 1000 x 10-12 = 11μsecf = 1/(TL + TH)= 1/((10.35 + 11.39) x 10-6) = 46.0 KHzIC3(CD4069)组成超声波发射头驱动电路。
2 超声波接收电路超声波接收头和IC4组成超声波信号的检测和放大。
反射回来的超声波信号经IC4的2级放大1000倍(60dB),第1级放大100倍(40dB),第2级放大10倍(20dB)。
由于一般的运算放大器需要正、负对称电源,而该装置电源用的是单电源(9V)供电,为保证其可靠工作,这里用R10和R11进行分压,这时在IC4的同相端有4.5V的中点电压,这样可以保证放大的交流信号的质量,不至于产生信号失真。
一款串口输出超声波测距模块使用范例限时干货下载:关注我们“单片机”,回复“教程”获取单片机电子书,回复“仿真”获取Proteus仿真资料。
持续更新中。
一、模块简介:该串口输出超声波测距模块采用STC11F04E 单片机作处理器,工作电源:DC5V,工作电流10mA。
测量数据输出方式为TTL串口输出,数据格式为标准的ASCII 码,数据由:空格位(起始位)+百+十位+个位。
工作方式有两种:一是连续测量方式;二是查询测量方式。
测量范围:方式一:5cm~200cm(盲区5cm);方式二:25cm~350cm(盲区25cm)。
测量过程中,当接收不到障碍物反射的回波时,输出“C C C”,当测量低于下限值(在盲区内)时显示“- - -”。
测量结果由模块上的输出端口输出,输出方式为串口(TTL电平)输出。
测量结果可通过电脑进行显示。
模块使用串口通讯可靠性更高,同时可以通过电脑串口采集数据,编写通讯程序非常的便捷。
波特率:1200校验位:无数据位:8停止位:无ASCII码数据格式:空格位(起始位)+百+十位+个位。
二、模块的使用设置下图为模块的背面图片。
图中标有A、B、C短接焊盘是作为设置测量方式用;标有0-7的短路焊盘是设置查询方式下的模块地址用。
方式1:设置为小盲区期测量。
设置方法,标号为B的焊盘即单片机的P3.5 脚与地断开,这时的测量范围为:5-200;这种方式下,测量盲区值小,适合长时间近距离测量用。
方式2: 设置为远距离测量,这种方式,盲区值相对较大,测量相对较远一些,设置方法:将标号为B的焊盘即单片机的P3.5 脚与地短接,这时的测量范围为:25-350厘米。
方式3:连续方式测量。
将标号为A的焊盘即单片机的P3.4 脚与地断开,这时模块测量方式是连续的进行测量,测量间隔为1-2次/秒,每测量一次,就将测量结果通过串口送出。
方式4:查询方式测量。
将标号为A的焊盘即单片机的P3.4 脚与地短接,这时的测量方式为查询方式测量,即通过控制设备向模块发出一个命令后,模块才测量一次。
超声波测距模块一、应用前景由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人研制上也得到了广泛的应用。
二、产品介绍超声波测距模块能提供2cm-450cm非接触式感测距离,测距的精度可高达3mm,能很好的满足我们正常的要求。
该模块包括超声波发送器、接收器和相应的控制电路。
三、工作原理先来看下它的工作时序:1、我们先拉低TRIG,然后至少给10us的高电平信号去触发;2、触发后,模块会自动发射8个40KHZ的方波,并自动检测是否有信号返回。
3、如果有信号返回,通过ECHO输出一个高电平,高电平持续的时间便是超声波从发射到接收的时间。
那么测试距离=高电平持续时间*340m/s*0.5;四.电气参数工作电压:0.5V(DC) 工作电流:15mA探测距离:2-450cm 探测角度:15度输入触发脉冲:10us的TTL电平输出回响信号:输出TTL电平信号(高),与射程成正比五、使用说明模块各引脚说明如上图示,在Arduino下使用只要控制Trig和Echo两端口就行了,具体的将他们接到两个数字端口,关于如何控制,下面将有例程说明,再则接好电源和地就行了。
六、模块测试又到了模块测试阶段了,到这往往是最精彩的了,话不多说,说干就干,先来看下我们这次要点什么吧Arduino控制器× 1USB数据线×1超声波模块× 1嗯,就这么些,下面来看下连接情况上面的D4、D5指的就是数字端口的4、5号引脚,下面还有具体的连接实物可供参考好了,我们这次要做的就是学会如何使用它去测距离,并在电脑的显示屏上显示出来,当然如果你要做的好看些,可以加个lcd或是数码管之类的,我们这里就是做个功能测试,就是个启发过程。
一、需求分析能在测距范围上弥补GP2D12 的不足,将距离延伸到80cm以外;可以提供给大学生和爱好者DIY,具有学习功能;方便自己随时修改程序,使学习的作用得以充分发挥;成品具有一定的使用价值,可方便的应用于小车等需要测距的装置上。
二、概要设计图1 工作原理框图总体设计参照SensComp公司,框图中,单片机为核心控制部分,根据设定的工作方式,产生40kHz方波,经过驱动电路驱动超声波发生器发出一簇信号。
单片机此时开始计时。
接收回路为谐振回路,将收到的微弱回波信号检出,送信号放大电路放大,收到产生脉冲输出送单片机中断端,单片机收到中断信号后停止计时,计算出距离值,保存等待读出或直接经UART送出。
接收过程中,单片机定时控制放大电路的增益,逐渐提高,以适应距离越远越弱的回波信号。
核心器件为STC12LE4052、TL852、16mm超声波收、发器。
采用5V供电,因为5V是最常见的工作电压,便于日后将传感器应用于装置中。
为了减小干扰,选用了3.3V供电的单片机,使用目前常用的1117-3.3三端稳压器将5V降到3.3V,减小电源扰动的影响,增加可靠性。
下面分步介绍各个部分的电路原理。
首先是超声波发首先是超声波发射部分。
射部分。
图中,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 数据手册仔细研读。
三器件选择和PCB设计单片机前面已说明。
TL852选用SOP16封装的,否则体积太大。
运放U4 选用LMV358,SOP8封装。
LMV358为低电压满幅输出运放,额定工作电压为2.7 — 5V,读者可对照LM358资料看两者的差别,因为单片机的工作电压为3.3V,所以选用LMV358,虽然成本略高,但性能得到保证。
超声波收、发器选用Φ16mm的,期望发射功率略大,测量距离可以远些。
谐振频率为40kHz,国内基本上都是此频率。
因为超声波收、发器的电容值偏差较大,如读者希望精确匹配电感以提高性能,可能需要自己根据实测的电容量手工绕制,所以电感选用了8X10的工字磁芯,而变压器采用EE16,体积都比较大,便于手工绕制;读者如需优化性能,或体验其影响,可尝试自己制作,从而更好的掌握超声波测距的原理,为日后设计正式产品打下基础。
对外连接的端子采用XH-4A四芯插座,一根电源、一根地线、2根UART收发线,这样可方便的与其它设备连接,既给传感器供电,又可与传感器通讯,获取数据。
PCB设计尺寸约为42X43 mm,设置了2个安装孔,孔距和GP2D12相同,便于替换原来使用GP2D12的场合。
PCB板图如下:因为考虑做好后的传感器要具备一定的使用价值,所以体积略有控制,使用了一些SMD器件,给焊接带来了难度,但对于学习者而言,也提供了一个锻炼机会,因为SMD器件越来越多,很多MCU已无DIP封装。
焊接包含SMD器件的PCB也并非不可为之。
首先要有合适的工具,至少有尖头烙铁,30W即可;尖头镊子,用于抓取小器件。
此外最好使用细焊锡丝,我使用的是0.3mm的。
其次要注意焊接顺序:先焊小的器件,本设计中为0603电阻、0805电容,之后焊接SOP的IC,最后再按器件的高度从矮到高依次焊接直插器件,体积较大的器件最后焊接,如本设计中的超声波传感器、变压器等。
焊接0603电阻、0805电容时,可尝试以下方法:先将器件的一个焊盘上锡(注意:如有一个是接大面积地线的,先给这个上锡,因为大面积地线的散热作用明显,会给后续焊接带来麻烦!):然后用尖镊子拿住器件,先放在没有焊锡的焊盘上,再用镊子夹住(这样可保证器件贴着PCB)器件,同时用烙铁熔化上好锡的焊盘,平推器件到焊锡中,注意:为了方便另一个焊盘的焊接,可适当偏向已上锡的焊盘,为另一侧焊盘留下较大的空间。
焊好一端后,可参照我介绍过的焊接工艺:然后用免清洗的助焊剂略涂一些(如没有,可尝试用无水酒精,我没用过,不知效果),用细焊锡丝逐脚焊接,方法和焊接直插器件类似,先放上烙铁头,略延时后将焊丝送上,只是时间稍短,锡不要给的太多,以免连焊!全部焊好后,可以用烙铁尖点IC引脚的端头,再次让焊点熔化一次,使焊锡更好的将引脚和PCB连接。
因为空间问题,所以有几个器件是放置在超声波收发器之下的,焊接时注意,将收发器焊的和变压器一样高即可,不要太低!两个调整增益的电阻R7、R8、一个控制余波的限流电阻R5如觉得需要自己改变,以观察效果,可焊接在反面。
用于减弱余波的R6和初级的余波抑制电路两部分选择一个,建议选用初级的回波抑制电路,效果好一些,缺点是需要程序配合,且调试时如不慎会短路导致三极管损坏。
如采用初级的余波抑制电路,建议在调试程序时将跳线器断开,调好程序后再接上。
等一切就绪后如考虑传感器的可靠性,可将跳线器焊死。
在线路上设计了2组匹配电容,C7、C8组是为了调整发射回路已达到谐振状态的,C9、C10组是为了接收回路谐振的,需要通过测量使用的超声波收发器电容值以及相应的电感、变压器次级电感确定,因为超声波收发器的电容量差别较大,电感量也有些差异。
一般情况下将C7、C9 短路即可,C8、C10不用处理(配套器材时会给出实际的值供参考,如有需要会附上匹配电容)。
焊接完成如下图:(注意图中二极管的方向)虽然设计是用UART作为输入、输出的接口,但由于MCU的SPI 没有使用,所以在PCB上引出了(由于空间限制,比较勉强),如有特殊需要或想学习SPI的使用,也可将SPI口作为与传感器交换数据的通道:5.2 调试调试分两步进行。
首先是超声波发射部分。
先断开跳线器,检测单片机输出的波形是否正确,测量R3接MCU 端的信号,保证波形的频率、占空比及脉冲的个数正确(符合你程序控制的要求,目前的程序是发送10个脉冲):然后测试余波减弱控制信号(如果你选择了初级余波减弱电路,并且在软件上设计了),检测R4接MCU的端子(设计欠考虑,没有留测点),注意不要短路了!最好有双通道的示波器,因为需要和发送脉冲匹配,此信号应该略延时于发送脉冲结束,我设计是约28us(想想为什么图中是接近44us):上述两个MCU控制调试好后,可以将跳线器接上,看一下驱动的波形和变压器次级的输出。
驱动波形测量D882 的C端,也就是跳线器上。
次级波形可直接检测超声波发射器两端。
注意右侧的波形,峰值电压超过50V,所以你能够听到发射器发出的―啪啪‖声。
如果有兴趣,可以检测一下有无余波消除的差别,因为要和余波控制信号同时观察,所以用驱动信号代替输出,由于变压器的偶合作用,信号是一样的,只是幅值不同。
注意,上图中左侧余波实际上远不止388us,由于变压器的升压作用,很小的驱动信号都可以产生接收器能感受的超声波,因为收、发之间太近了!这样将使得近距离的回波淹没在余波中,导致测量范围缩小。
读者可以改变R5的数值观察一下右侧的效果的变化。
一个技巧:要想确定是否达到谐振状态,可检测没有余波抑制时的余波信号,此时的频率即为谐振频率(图中用余波抑制控制信号来指明后面的波不是由MCU产生的)。