一个月前老师给我一个任务,就是用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坏了?我真的迷茫了,而且内心急得要死,难道这次又就这么失败了? 那老师说了这个一定要做好交上去我该怎么办? 做了两次都不行,而且还找不出问题所在,就算我再花钱做第三次,但是又不行呢??我真的不知道该怎么办了,遇到这样的问题我是一点头绪都没有!!各位大哥大姐们,大虾们,谁能帮帮小弟啊!! |