打印

关于超声波测距求助,急!急!急!

[复制链接]
3846|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hiqrf3|  楼主 | 2008-7-27 13:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一个月前老师给我一个任务,就是用51单片机做一个超声波测距系统,回去之后在网上找了很多资料,然后很快把原理图和程序都搞定了,给老师看了后就去买元件,买元件的钱是记老师的帐的.当时我是用的发射电路用三极管单管放大驱动超声波传感器,接收电路采用LM567的那套方案,关于这个方案网上面很多资料,而且基本上都是一样的,所以我觉得没什么问题.不料把电路焊好之后却发现不行,接收电路好像有问题,一直不能产生中断.反复调试、检查后依然不知为何。搞了很久实在是没办法了就放下没再弄了。然后事情还没有结束,一个多星期前吧,老师找到我问我做好没有,我说不行,可能传感器有问题,他说一定要做好交上去,因为买元件的钱是要向学校报帐的,交不出东西就有问题了。我才知道原来还有这层!!
    于是又开始收集资料,找了另外一套方案,发射电路也是由单片机产生40KHZ的方波然后经反相器多极反相后驱动超声波传感器,接收电路使用CX20106A芯片(发射电路没什么问题,主要是接收电路,后面我会把图附上),上次使用那对传感器我用示波器测试了好像有点问题,我测试的方法是让发射头不停的发射超声波,然后接收头对着发射头观察接受头两端波形,接收正常,但是当我把距离拉远(但是也不超过1M)的时候慢慢就没有信号了,不是正对发射头而是想靠反射来接收更是一点波形都没有,所以我又买了一对新的传感器。(顺便说一下,上次记老师帐的那次费用是30,这次不能再记账,自己掏钱,花了差不多40)回来后把电路焊接好,载入程序测试,还是不行!经过多次的调试,我发现这次遇到的问题非常诡异,我怎么也想不通,没办法只好来次请教一下个位大虾了!!!
    前面说了一大堆,有些罗嗦了,下面说一下主要问题!
    我的接收电路如下面所示,其中CX20106A的2脚所接的10欧姆的电阻(有的图上是4。7欧姆,我想应该问题不大)由于我手上没有10欧姆的所以用了两个18欧姆的电阻并联,也就是差不多9欧姆。其他都一样,5脚与电源间接的220K电阻,7脚与电源间接的22K电阻。我觉得最关键的地方,就是超声波接收头的两脚间接的那个0.056UF的电容,由于我没有买到563电容,只有683电容,我觉得相差不大应该没什么问题,于是最开始我就用的683,也就是0.068UF电容,测试的时候发现一按下按键(我的程序是按下按键后发出超声波计时器开始计时,延时100US后开启中断)马上就有中断产生,(我把CX20106A的7脚接上一个LED灯的负端(其正断接电源)测试,发现我一按下案件灯马上就亮),但是我确定不是因为余波的问题,因为之后的测试。不过虽然大多数情况下一按键马上就会有中断导致测得的距离为0,但是偶尔也不会这样,特别是有次我测试的时候我离墙不同的距离测的的数据也跟着变化,让我高兴了一把,但是大多数时候还是0。于是我想会不会是电容大小的问题,于是我又用串联的两个104电容替换了683电容,这次才是我在不解的!!如果我没记错,两个104串联其大小应该是(0.05UF),我觉得跟图上的0.056相差实在不多了,效果应该更好。结果,这次的情况是,即使我不发射超声波,我一按下键CX20106A的7脚马上输出低电平,不止是这样,我用手指弹一下传感器、弹一下板、往接收头吹气,7脚都会有输出低电平(本来正常的情况应该是接受头接受到超声波信号之后CX20106A的7脚由高电平跳为低电平触发中断),就是说只要有点震动CX20106的7脚就会输出低电平,而且我往接收头吹气的时候只要我一直吹7脚就一直是低电平,我觉得都可以用来测肺活量了!所以我迷茫了,非常迷茫,不明白为什么会出现这种情况!!难道是因为那个电容的大小问题?我觉得应该不会有这么影响吧,或者电路的其他地方出问题了?或者CX20106A坏了?我真的迷茫了,而且内心急得要死,难道这次又就这么失败了? 那老师说了这个一定要做好交上去我该怎么办? 做了两次都不行,而且还找不出问题所在,就算我再花钱做第三次,但是又不行呢??我真的不知道该怎么办了,遇到这样的问题我是一点头绪都没有!!各位大哥大姐们,大虾们,谁能帮帮小弟啊!!

相关帖子

沙发
chunyang| | 2008-7-27 13:27 | 只看该作者

你要自己先搞清楚原理

    20106是设计用于38KHz的红外前置电路,先仔细看看器件手册,弄清楚外围元件参数对电路的影响。另外,发射端要用升压变压器或采用推挽电路驱动,否则工作距离很有限,40KHz的频率也要足够准,换能器本身的机械结构要求共振才能输出最强。

使用特权

评论回复
板凳
hiqrf3|  楼主 | 2008-7-27 13:40 | 只看该作者

谢谢你的回答

  谢谢你的回答,你是第一个回答我的人!~
  这个方案我最开始是在一本书上看到了,然后又在网上看到很多次,都是一样的,其中有一个还是他买超声波测距板给出的原理图,所以我觉得原理应该没什么问题。而且我用683电容的那次还有一丝成功的迹象了,但是后来就遇到这么个怪异的问题,实在百思不得起解,怎么会这样呢??
   哎,现在最怕老师来催,实在不知道怎么办了!

使用特权

评论回复
地板
chunyang| | 2008-7-27 18:21 | 只看该作者

要注意正确的工作和学习方法

    所谓的“怪异”,只是你对器件本身不了解而已,先去下载器件手册好好阅读吧。

使用特权

评论回复
5
mm7989680| | 2008-7-28 08:57 | 只看该作者

用LM567试试

使用特权

评论回复
6
mm7989680| | 2008-7-28 08:59 | 只看该作者

是收发一体头,还是分开的,有个盲区不能测小距离

超声波测距系统的软件设计,由于超声发射传感器与超声接收传感器相隔很近,当发射超声波时,接收传感器会收到很强的干扰信号。为防止系统的误测,在软件上采用延迟接收技术,来提高系统的抗干扰能力。一旦按下起始键,即发送发射超声波的指令,同时单片机控制系统开始执行程序,完成对温度的采样、滤波,然后获得发送、接收超声波的时间间隔,最后计算出距离值。

使用特权

评论回复
7
mm7989680| | 2008-7-28 09:00 | 只看该作者

发射那头最好用是12v,功率大一点,但是同时可测最小距离

使用特权

评论回复
8
mm7989680| | 2008-7-28 09:02 | 只看该作者

回波信号放大与整形

回波信号放大与整形:
接收传感器的感应信号通常是mV 级,需要经过上百近千倍的增益放大,然后再整形。采用调谐放大器比直接放大器虽然复杂,但可以获得更高的信噪比。由于声波在传输过程中的吸收衰减和扩散损失,声强随目标距离增大而衰减,在量程范围内,最近目标和最远目标的回波幅度可能相差1 个数量级。远目标回波信号幅度小、信噪比低,可能导致整形失败或者是越过门槛的时刻前后移动,这是影响大多数测距装置重复性和测量准确度的一个原因。以40 kHz 声波频率为例,采用1 MHz 计数频率,若越过门槛的时刻前后移动仅仅2 个周期,就会产生50μs 误差,相应测距误差为0. 172 0 mm ×50 = 8. 6mm。可考虑放大器采用AGC 自动增益控制,但仍然未能解决问题,因为AGC 电路(包括放大器本身)对信号的阶跃响应有滞后,瞬时跟踪性不佳,而回波信号恰恰是爆发性的。由此不应该对近程的强回波信号和远程的弱回波信号采用同一个门槛电压,恒定的门槛阈值相对强信号偏低,本可以被压制的噪声信号不能压制。而对弱信号而言,相对又太高,更容易被叠加的噪声信号误触发。可采用的方法是专门产生一个随时间减小的阈值信号。
8 系统性能改善和增大测量距离讨论:
硬件:
(1)    接收放大电路,可加入带通滤波或锁相放大(LM567)以尽可能减少干扰信号引起误触发,另外为防止发射信号直接进入接收端所以设置一定的延时。锁相应用电路,调整在40KHZ上,但要考虑加入后对接收处理的延时,用软件调整。
 
另一方面可采用自动增益补偿技术,随着时间的增加, AGC的放大倍数呈指数规律变化,从而保证了超声波接收器波形的幅值不随测量距离的变化而大幅变化,使得每次在同一个波头触发计时电路,提高了系统测量准确度。电路可以采用如下图所示或者采用单片AD603实现,在这里不具体讨论。 

使用特权

评论回复
9
mm7989680| | 2008-7-28 09:03 | 只看该作者

发射驱动电路

发射驱动电路,为放大驱动脉冲可以再加入一级三极管放大电路,三极管要选用高频的如9018以减少放大后波形的失真;另一方面还可以根据超声波发生器的特点合理设计阻抗匹配,功放效率和机电转换效率;为此可采用脉冲变压器,脉冲变压器是超声换能器驱动电路中最重要的器件,它的用途是升高脉冲电压信号,并使功率放大器的输出阻抗与换能器的负载阻抗匹配。一般脉冲变压器以变压器的功率、原副边电压信号的幅值确定变压器的尺寸和变比;而超声换能器驱动用变压器则主要以功率和原副边电感及阻抗匹配确定变压器的尺寸和变比。缺点是制作和测量都比较麻烦。在大量程应用场合还可以应用电容瞬间放电或电感瞬间放电产生高压激励脉冲。
(3)其它可改善的地方,可采用超声波测距专用芯片SB5027;也可以采用LM1812N单片超声波收发集成电路。
另外可以采用时间放大技术提供测量精度,主要考虑单片机时钟脉宽对测量精度的影响,因为根据前面讨论的超声波的速度340M/S,当单片机频率较低时对测量精度的影响较大,不仅记数脉冲变少,而且回波到达时间点在一个时钟周期中的位置将不确定,时差检测采用的方法是对普通的晶体振荡器分频后作为计数器的时钟,探头发射超声波以后再开始计数。当收到回波时比较器翻转时停止计数,对于剩余的不到一个时钟周期的时间计量,可通过时间放大技术,然后经过A/D 转换变为数字信号实现。其克服了测量精度受时钟频率限制,测时误差比较大的缺点,将数字法测时误差减小到原来的1/K ,即将超声波测距的测量精度提高了K 倍。基于电容充、放电的时间放大技术成本低、难度小,用较低的时钟频率可将测量精度提高1~2个数量级,与直接计数测量法相结合,可用于中、远距离测量。
软件:
(1)    由于单片机处理速度快,所以可以采用测量多次取平均值的方法进一步减小误差,另外考虑到在测量的距离超过一定限度后误差会变大,可以在大于一定距离后采用软件修正,补偿实际测的数据,当然这要在调试中收集大量的实际测试数据后在单片机中设置,如果在5M后的数据实行软件修正,则5M—10M的数据占用1K左右的字节(每个数据占两个字节,无符号整数500—1000,单位为厘米),一般的单片机都能胜任。软件算法可采用查表,如果要加快数据处理速度还可以在单片机外围加上RAM存储修正数据,要减少数据量的话可以用曲线拟和或最小平方逼近。这些在增大测量距离和提高测量精度的应用上都有实际意义。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

28

帖子

0

粉丝