ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:1.47MB ,
资源ID:29605068      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29605068.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(超远距离超声波模块适合自制.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

超远距离超声波模块适合自制.docx

1、超远距离超声波模块适合自制一、需求分析 能在测距范围上弥补 GP2D12 的不足,将距离延伸到 80cm以外;可以提供给大学生和爱好者 DIY,具有学习功能; 方便自己随时修改程序,使学习的作用得以充分发挥; 成品具有一定的使用价值,可方便的应用于小车等需要测距的装置上。二、概要设计图1 工作原理框图总体设计参照 SensComp公司,框图中,单片机为核心控制部分,根据设定的工作方式,产生40kHz方波,经过驱动电路驱动超声波发生器发出一簇信号。单片机此时开始计时。接收回路为谐振回路,将收到的微弱回波信号检出,送信号放大电路放大,收到产生脉冲输出送单片机中断端,单片机收到中断信号后停止计时,计

2、算出距离值,保存等待读出或直接经UART送出。接收过程中,单片机定时控制放大电路的增益,逐渐提高,以适应距离越远越弱的回波信号。核心器件为STC12LE4052、TL852、16mm超声波收、发器。采用5V供电,因为5V是最常见的工作电压,便于日后将传感器应用于装置中。为了减小干扰,选用了3.3V供电的单片机,使用目前常用的1117-3.3三端稳压器将5V降到3.3V,减小电源扰动的影响,增加可靠性。下面分步介绍各个部分的电路原理。首先是超声波发首先是超声波发射部分。射部分。图中,Send_Ctrl、Cut_Off端由STC12LE4052控制。此单片机的I/O口可设置为推挽输出模式(这是经典

3、51不具备的),拉电流、灌电流均可达20mA,保证了D882有足够的驱动能力和快速的通断性能。变压器的次级电感与发射器(发射器为容性,一般为2400p左右)构成谐振回路,好处是提高了发射效率,但副作用是发射后的余波时间较长,导致近距离的回波被淹没。所以电路中设计了2种余波抑制电路。一个是R6,通过增加谐振回路的损耗加速余波结束,这种方式不需要控制,但由于同时也消耗了发射的功率,所以阻值不能太小,导致衰减效果不明显(此部分读者可自行试验)。另一个电路由R4、R5、P1构成,由单片机控制,在发射完脉冲后将P1导通,强制短路变压器初级,快速消耗掉谐振能量,达到消除余波的目的,电阻R5越小,效果越好,

4、但带来的问题是:如控制失灵,会导致短路,烧坏P1或N1。所以在电路中设计了一个跳线器,在软件没有调试好之前断开,避免无谓的损耗。变压器升压比设计为20倍,实际输出电压约为 50V峰值。控制部分采用MCU,如下图所示:图 3 单片机控制电路STC12LE4052为一种改进型的51兼容单片机,指令集及主要架构与经典51相同,硬件资源略有增加:1) 增设了2通道PCA(可编程计数器阵列),弥补了经典51定时器功能“偏弱”的缺陷。2) I/O口改进为可设置方式,支持:51准双向、高阻输入、OC输出、推挽输出 四种模式,简化了外部硬件设计。3) 硬件SPI接口,本设计中暂未使用,但PCB上引出了,有兴趣

5、者可尝试之。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

6、产生超声波发射方波,设置为推挽输出模式P3.5 控制P1,用于衰减余波,设置为OC输出模式P37 工作指示灯,设置为OC输出模式关于P32控制 SOUT端的作用,请阅读TL851资料。图 4 接收回路和信号放大、检出电路这个电路是超声波测距的核心。因为产生波形和计时都容易解决,而准确的检测出回波信号才是决定传感器是否成功的关键。为便于理解上图,将TL852 的内部原理框图列出:图 5 TL852 内部功能框图读者可对照TL852 数据手册分析其工作原理。从图中可以看出,图4中的R7、R8为运放的输入、反馈电阻,通过改变两者比值可方便的改变灵敏度,故将R7、R8设计为直插器件。图6 TL852输

7、出信号处理电路图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放电,为测量做准备。如读者希

8、望进一步了解这部分的工作原理,可对照6500模块的原理图和TL851、TL852 数据手册仔细研读。三 器件选择和PCB设计单片机前面已说明。TL852选用SOP16封装的,否则体积太大。运放U4 选用LMV358,SOP8封装。LMV358为低电压满幅输出运放,额定工作电压为2.7 5V,读者可对照LM358资料看两者的差别,因为单片机的工作电压为3.3V,所以选用LMV358,虽然成本略高,但性能得到保证。超声波收、发器选用16mm的,期望发射功率略大,测量距离可以远些。谐振频率为40kHz,国内基本上都是此频率。因为超声波收、发器的电容值偏差较大,如读者希望精确匹配电感以提高性能,可能需

9、要自己根据实测的电容量手工绕制,所以电感选用了8X10的工字磁芯,而变压器采用EE16,体积都比较大,便于手工绕制;读者如需优化性能,或体验其影响,可尝试自己制作,从而更好的掌握超声波测距的原理,为日后设计正式产品打下基础。对外连接的端子采用XH-4A四芯插座,一根电源、一根地线、2根UART收发线,这样可方便的与其它设备连接,既给传感器供电,又可与传感器通讯,获取数据。PCB设计尺寸约为 42X43 mm,设置了2个安装孔,孔距和GP2D12相同,便于替换原来使用GP2D12的场合。PCB板图如下:因为考虑做好后的传感器要具备一定的使用价值,所以体积略有控制,使用了一些SMD器件,给焊接带来

10、了难度,但对于学习者而言,也提供了一个锻炼机会,因为SMD器件越来越多,很多MCU已无DIP封装。焊接包含SMD器件的PCB也并非不可为之。首先要有合适的工具,至少有尖头烙铁,30W即可;尖头镊子,用于抓取小器件。此外最好使用细焊锡丝,我使用的是0.3mm的。其次要注意焊接顺序:先焊小的器件,本设计中为0603电阻、0805电容,之后焊接SOP的IC,最后再按器件的高度从矮到高依次焊接直插器件,体积较大的器件最后焊接,如本设计中的超声波传感器、变压器等。焊接0603电阻、0805电容时,可尝试以下方法:先将器件的一个焊盘上锡(注意:如有一个是接大面积地线的,先给这个上锡,因为大面积地线的散热作

11、用明显,会给后续焊接带来麻烦!):然后用尖镊子拿住器件,先放在没有焊锡的焊盘上,再用镊子夹住(这样可保证器件贴着PCB)器件,同时用烙铁熔化上好锡的焊盘,平推器件到焊锡中,注意:为了方便另一个焊盘的焊接,可适当偏向已上锡的焊盘,为另一侧焊盘留下较大的空间。焊好一端后,可参照我介绍过的焊接工艺:然后用免清洗的助焊剂略涂一些(如没有,可尝试用无水酒精,我没用过,不知效果),用细焊锡丝逐脚焊接,方法和焊接直插器件类似,先放上烙铁头,略延时后将焊丝送上,只是时间稍短,锡不要给的太多,以免连焊!全部焊好后,可以用烙铁尖点IC引脚的端头,再次让焊点熔化一次,使焊锡更好的将引脚和PCB连接。因为空间问题,所

12、以有几个器件是放置在超声波收发器之下的,焊接时注意,将收发器焊的和变压器一样高即可,不要太低! 两个调整增益的电阻R7、R8、一个控制余波的限流电阻R5如觉得需要自己改变,以观察效果,可焊接在反面。用于减弱余波的R6和初级的余波抑制电路两部分选择一个,建议选用初级的回波抑制电路,效果好一些,缺点是需要程序配合,且调试时如不慎会短路导致三极管损坏。如采用初级的余波抑制电路,建议在调试程序时将跳线器断开,调好程序后再接上。等一切就绪后如考虑传感器的可靠性,可将跳线器焊死。在线路上设计了2组匹配电容,C7、C8组是为了调整发射回路已达到谐振状态的,C9、C10组是为了接收回路谐振的,需要通过测量使用

13、的超声波收发器电容值以及相应的电感、变压器次级电感确定,因为超声波收发器的电容量差别较大,电感量也有些差异。一般情况下将C7、C9 短路即可,C8、C10不用处理(配套器材时会给出实际的值供参考,如有需要会附上匹配电容)。焊接完成如下图:(注意图中二极管的方向)虽然设计是用UART作为输入、输出的接口,但由于MCU的SPI没有使用,所以在PCB上引出了(由于空间限制,比较勉强),如有特殊需要或想学习SPI的使用,也可将SPI口作为与传感器交换数据的通道:5.2 调试调试分两步进行。首先是超声波发射部分。先断开跳线器,检测单片机输出的波形是否正确,测量R3接MCU端的信号,保证波形的频率、占空比

14、及脉冲的个数正确(符合你程序控制的要求,目前的程序是发送 10个脉冲):然后测试余波减弱控制信号(如果你选择了初级余波减弱电路,并且在软件上设计了),检测R4接MCU的端子(设计欠考虑,没有留测点),注意不要短路了!最好有双通道的示波器,因为需要和发送脉冲匹配,此信号应该略延时于发送脉冲结束,我设计是约 28us(想想为什么图中是接近 44us):上述两个MCU控制调试好后,可以将跳线器接上,看一下驱动的波形和变压器次级的输出。驱动波形测量D882 的C端,也就是跳线器上。次级波形可直接检测超声波发射器两端。注意右侧的波形,峰值电压超过50V,所以你能够听到发射器发出的“啪啪”声。如果有兴趣,

15、可以检测一下有无余波消除的差别,因为要和余波控制信号同时观察,所以用驱动信号代替输出,由于变压器的偶合作用,信号是一样的,只是幅值不同。注意,上图中左侧余波实际上远不止388us,由于变压器的升压作用,很小的驱动信号都可以产生接收器能感受的超声波,因为收、发之间太近了!这样将使得近距离的回波淹没在余波中,导致测量范围缩小。读者可以改变R5的数值观察一下右侧的效果的变化。一个技巧:要想确定是否达到谐振状态,可检测没有余波抑制时的余波信号,此时的频率即为谐振频率(图中用余波抑制控制信号来指明后面的波不是由MCU产生的)。从上图可以看出谐振频率是 40kHz。至此,超声波发送部分基本完成。超声波接收

16、部分硬件比较简单,关键是软件上能控制好增益的变化,以及内部计时。调试时首先检测一下C12上的信号,此处为TL852 的第一级放大输出,在信号较强时可以看到波形,以确定超声波接收器及回路是否正常,至少能看到一组波,即发射时的信号,如果有比较近的物体,应该可以看到接着有一组波形,此信号即回波。 接着看看4路增益控制有无变换,检测MCU输出给TL852的增益控制信号(其中三个连接有过孔,测量方便),而是否正确主要靠软件逻辑的检查,用波形来判断有些困难。上图为增益控制最低位GCA的波形,注意图中光标所示的时间,对照TL851资料,看看能否解释清楚 : P确定增益控制有效后,检测SOUT端(或者C14)

17、,可以看到输出。注意:为了消除自己发射时收到的信号干扰测量,在发射时用MCU控制了SOUT端,使之处于对地短路状态(参见前述TL851的原理和说明),发射结束后释放。之后在收到回波后,我设计的程序会根据设定的时间决定是否再次短路SOUT输出,以避免由于附近两侧的物体反射干扰。超声波的发射、接收角度虽然号称是60度,但那是指强度大于一定数值的信号,实际上放宽信号强度会更宽,所以很近的物体虽然在测量角度以外,也许会测到。这个功能在读者设计程序时自己确定是否需要!此处只是作为参考。SOUT的输出经过比较器后变为负跳脉冲,触发MCU中断,从而使MCU内部实现对回波的计时,即可计算出距离了,这部分在软件

18、篇中讨论。因为前述处理方式,中断的波形可能会比较窄,不容易测到,需要使用示波器的信号触发扫描功能。至此,硬件部分应该算是调试结束了,而测量功能的实现主要取决于软件的设计四 调试“花絮”现在DVD影碟都时髦附上拍摄花絮,将摄制过程中的一些“差错”汇总,以搏大家一笑。我也在此效仿一下,将调试中遇到的值得关注的问题整理与此,但不是为了搏大家一笑,而是希望读者能从中悟出些东西,从而避免“重蹈覆辙”。上面详细描述的已是第二版,第一版电路设计和PCB排版均有不少问题,调试后做了较多修改。新PCB拿到后,我十分自信,边拍照边焊接,很快硬件就大功告成。下载程序后,得意的启动测量,亲切的“啪啪”声即刻响起;随即

19、接上示波器准备记录调试部分的波形。可一看测量结果,给我当头一棒,测量数据根本不对。拿示波器一看,晕!没有发射信号时,C12上居然有连续不断的波形!频率还正好是设计的谐振频率。首先怀疑是此批TL852有问题,因为用的是新购买的;立刻用原来剩余的一片TL852又焊了一个,结果一样,汗!当时有个不详的预感:坏了,PCB排版不当,电路自激振荡了!马上想到的是R7、R8电阻,因为第一版设计是0603器件,后为了便于DIY者修改参数,改为RT13,这样离超声波接收器就很近了(看PCB图),怀疑是R8的反馈信号耦合到超声波接收器端子上,导致振荡。可割断电路改变位置后,依然如故。只好依次将输入部分的各个器件脱

20、离PCB,看是哪个导致的,直到电感移开后,问题消失了:最后找出了问题所在:是2个电感之间耦合;因为L1、L2并排紧挨着,又都是“工”字磁芯,漏磁较大;L2中是放大后的信号,L1是输入,这样就导致了自激振荡。第一版PCB也是这样排的,可巧的是电感焊的方向不同,正好相位相反,所以没有暴露;而此次焊的2块均正好相位相同,形成正反馈,导致振荡。后来我验证了,只要将L2 交换引脚插入(不用焊),就可以轻松复现。因为电感没有极性标志,所以读者如DIY此传感器,要注意,先不要焊接L2,其它都焊好后,通电,插入L2,用示波器测量C12的信号,如振荡则交换2个引脚,确定正常后再焊上。考虑到多数学生没有示波器,我

21、将在软件中设计一个检测功能,详见“软件篇”。从这个插曲中可以看出,模拟电路排版还是挺讲究的,需要考虑因素远比数字电路多。不过目前变换方向焊接后是否变成了负反馈?对测量的影响是什么?还望读者发表高见!五、实验效果为了便于测试,还是采用了PC辅助调试的方式,控制命令上设计了内存读写命令,以方便调试。关于软件的设计,在后续“软件篇”中再作详细讨论。由于使用的是USB转串口模式,USB的5V可作为超声波传感器的电源,调试起来十分方便,串口既作为下载程序的工具,又作为调试的手段:现设计是以mm 为单位,测试后发现稳定度还不错,波动不超过5mm,测量距离可在 25 cm 5m。近距离受限是由于在软件中设置

22、了防护,前面已有描述。远距离似乎是灵敏度不够了,现在我用的第一级放大增益电阻都是4.7k(R7、R8),读者可以改变两者的比值以增大增益,看看是否能提高测量的距离。由于是软件控制实现测量,所以十分灵活,作为示例,设计了3种工作模式:1)单次测量,即发出一次命令,传感器按要求测量后返回一组数据,可指定采集的次数、采集后数据的处理方式等;2)自动测量并返回数据,传感器按照指定的周期不断测量,并且将数据及时返回;3)自动测量但不返回数据,传感器按照指定的周期不断测量,保存最近8次数据,需要时通过串口读出,可任意设定读出前几次。这些只是一个示范而已,应用于具体场合时可自己编程以达到最佳的工作模式。如用

23、于检测是否有物体进入限定的区域,就可以将限定值“告知”传感器,传感器自动测量、判断,只有当有物体进入时才返回数据,通知系统,这样系统的软件开销可大大减低。这就是用单片机作为传感器核心的优势。七、结语通过这个制作,证实了我对超声波测距原理的期望是正确的,而且也树立了自信。第一次失败后对涉及模拟电路的项目有些发怵,不知道该如何解决遇到的问题。想必有读者经历过和我一样的感受,所以费如此笔墨描述之,就是为了新参与者不再因模拟电路而“却步”。不过从调试花絮中应该看出,模拟电路还是比数字电路考虑的问题要多一些。同时,在测试中对于一些一知半解的概念有了深刻的理解,如“BLANKING”,“Multiple Measurement Capability”等。而且感受了超声波测量的“非指向性”,体会了GP2D12的“强指向性”,理解了为何GP2D12不可能被超声波测距所替代的道理,难怪GP2D12 在国外的机器人部件市场上一直存在!硬件部分基本完成,留一个题目给大家:仔细分析一下TL852的2脚有什么作用?可以为电路提供什么帮助?基于它,能实现什么?“软件篇”再见。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1