我用的是网上典型的89C52单片机控制+74LS04驱动发射+CX20106接收的电路。焊接都没有问题,而且测距也能实现。但是一般最大能到5M,我只能测到2.2M现在有2个问题:
1.可能是驱动能力不够,那么04是两路(正负倒相后)各通过两个非门并联,输出电流加倍,提高功率,我测量到一路(正相输出)电路是80mA,另一路(负相)是0.1mA。
那么我想:我再加一个04,每路再并联3个非门,那是不是正相的电流就能达到150-250mA了呢?可是后来测量发现仍然是80mA,这是为什么?输出电流有限制?请指教。
2.情况如下:我开始以为是驱动能力不够,后来1CM,1CM的测量,发现当到220CM的时候,再远一点就会变成003,然后004,继续测量一直到030.那么相当于可以测到250CM。
说明不是因为能量不够导致测不到,而我觉得有可能是溢出了?程序方面我也找不出哪里不对。我贴出程序请大家指正:(程序是4位的,不过用不到10M所以就3位就可以了)
个人觉得是中断时间设置或者计算上有干扰导致重新计数了吗?(我也不清楚,只是初学单片机,中断等指令还不是很懂)
这是小生第一次发帖,之前看了版主的置顶贴,很有感触。虽然这次也是参考了网上各种资料,不过毕竟自己动手做出来,还是很有成就感的。但是没能把成品做得达到要求,仍有遗憾,所以希望各位能看看,指点迷津呐。期末考试后,再将自己的心得以及调试的各种问题跟大家分享,希望对之后做超声测距的同学有所帮助,在此谢过!
此帖出自
小平头技术问答
还是中断程序中的脉冲产生?
程序中我的理解是只发送了3个40KHz的方波,那是怎么会有溢出呢?
反过来推理,2.2m溢出,那么相当于过了 2.2×2/340=12.8ms之后重新开始计数?
这是怎么会产生这种情况的?
一周热门 更多>