您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于CX20106超声波测距的调试
基于CX20106超声波测距的调试在超声测距中,一般采用40KHz的信号。可以通过硬件来产生,比如555,CMOS电路CD4046。还可以通过软件来产生。本方案中采用弹片机软件产生。关于40KHz信号的产生。如果用单片机定时器中断产生,要特别注意中断服务程序的编写。中断服务不能过长,如果过长,单片机在前一个中断服务程序还没执行完之前,又会有下一个中断产生。所以,单片机将会产生一个错误频率的信号。往往这个错误的频率会比预期的值偏低。比如程序原本要产生一个40KHz的信号。实际单片机只能产生一个20KHz左右的信号。40KHz的信号可以用一个汇编语言子程序来产生。程序如下:NAMECS_T?PR?CS_T?CS_TSEGMENTCODEPUBLICCS_TRSEG?PR?CS_T?CS_TCS_T:PUSHACCMOVTH0,#00HMOVTL0,#00HMOVA,#4DSETBTR0CST_1:CPLP1.0NOPNOPNOPNOPNOPNOPNOPNOPNOPDJNZACC,CS_T1POPACCRET;END平常C语言用的很多,我个人觉得C语言更富有亲切感。40KHz的信号可以用一个汇编语言子程序来产生。程序如下/*************************************输入整型i,从p3_5端口产生i/2个方波**************************************/cs_t(unsignedchari){while(i--){P3_5=!P3_5;Some_Nop_T();}}图1以下为超声波的接收电路图2关于CX20106的调试。其内部结构如图3图3在图2中R4和C3是控制CX20106内部放大增益,R5控制带通滤波器的中心频率。一般取R4=4欧,C3=1Uf.。其余元件按图2取值。US_T为超声波接收头,OUT_INT当收到超声波是产生一个下降沿,接到单片机的外部中断上。一些资料表示,在CX20106的1脚输入0.2mV的信号。在5脚将会输出滤波后放大的有用信号。在实测中,5脚并没有一个放大的信号输出。实际调试的时候只关心芯片的7脚在收到信号是是否有一个下降沿产生。在本电路的调试中,如果一直发射超声波,在7脚将会有周期的低电平产生。不会像通常认为的那样,即一直发射信号时,7脚一直为低电平。这是刚用CX20106时的一个常见错误。只要通过单片机来来计算发射信号时到收到信号是产生下降沿这段时间的长度,再通过数学计算,转化为距离,然后在显示器上显示。aCS_TCS+R导入NUE论坛查看(756)回复(26)引用(0)好评(0)差评(0)加入收藏编辑审核TAG:删除+0Guest发表于2006-12-0420:09:17想问问能测几米阿删除+0Guest发表于2006-12-0420:16:37我毕业设计也做这个,总是测不出,在接受端收到信号不是很有规律,我加了一级放大,随后输入20106,发射头也加到12v,但是在远的地方测不准,可能有干扰,希望师傅指教阿。谢谢了删除+0alj发表于2006-12-0508:04:56在超声波接收器加一个电容滤波。测量范围在3米以内时,电容取0.056Uf。可以改善抗干扰和接收灵敏度。事实上加放大器不是必须。cx20106内部有足够大的放大能力。删除+0Guest发表于2006-12-0519:49:18谢谢高手指导,我今天在实验室里调试,我发现在短距离的测试中,不断产生中断,接收信号很不稳定,或许是发射电路对接收产生干扰,没有接超声波也会后干扰,所以不稳定阿,想问问师傅有没有做出来稳定的测试阿,谢谢!删除+0Guest发表于2006-12-0519:53:48是不是2脚调灵敏度阿,我加了可变电阻,效果不明显阿。删除+0Guest发表于2006-12-0519:59:43红外线是40khzASK调制的,超声波也是40k,但是输入阻抗是不是匹配阿,总有一些噪声产生中断,所以很不稳定,很难调阿。。。删除+0alj发表于2006-12-0522:50:492脚是控制cx20106内部放大器的增益的,电阻越小,放大系数越大。电容越大,放大系数越大。电阻一般取4.7····10欧。删除+0alj发表于2006-12-0522:51:33你2脚上的电容多大?删除+0Guest发表于2006-12-0609:41:002脚电容1u,电阻4k左右,电阻小了干扰就大了,但师傅用10欧作出来了,我就去试试吧。不知道为什么,总是有杂波,呵呵!删除+0Guest发表于2006-12-0709:12:07昨天,我在实验室观察,发现在接收端有清晰的正玄波,幅度也可以,但是,用cx20106解调时,很多时候解调不出,是不是脉冲个数不对,我现在发5个脉冲.谢谢删除+0alj发表于2006-12-0710:18:25一次发10个脉冲效果会好些删除+0Guest发表于2006-12-0722:23:03我发了10个脉冲,在接受端能收到中断信号,但是每次测量都不稳定,而且差异很大,是不是程序有问题啊,能否麻烦师傅把程序发给我好吗?谢谢了,dongkai@citiz.net删除+0Guest发表于2006-12-1322:54:08终于找出诀窍了,是中心频率的问题,现在已经解决了阿。。。删除+0alj发表于2006-12-1323:21:12恭喜哈你的信号是用什么产生的?删除+0Guest发表于2006-12-1419:53:37用555电路产生,其实用555非常不稳定的,产品电路用555电路,专业人一看就知道档次很低的,由于cx20106在38k很敏感,所以频率调到38k左右就可以了,但是有个问题就是超声波接受发射工作在40k,在38k频率虽能收到,但是幅度小很多,不知道有没有38k的超声波,这样举例可以很远,现在我的距离只有3m,我们要求做到6m,所以还在调,不知为什么,若果我用单片机直接发,然后用unl2803拉到12v,38k,测出来就不是很准,不知道为什么,是不是不能用单片机发的?删除+0Guest发表于2006-12-1521:00:06我是直接用单片机发的,用反向器推拉!接收用lm567,效果不是很好,能收但lm567响应时间太长,误差太大。我用cx20106好像接收不到,不知大家有没更好的方案?删除+0Guest发表于2006-12-2521:53:20我一开始也接收不到关键是调5脚的电阻阿,试试吧!我调了1个月了阿。终于成功了删除+0Guest发表于2007-01-0316:36:38我测试发现该芯片只能接受4kHZ的信号,而非想要的40kHZ。5脚我接的是220k电阻,其他参数同。请教阿?我试了好几天了fangshanguai@163.com不胜感激删除+0Guest发表于2007-01-2316:16:58我能够收到回波,但我用双踪示波器捕捉波形,发现触发波和回波的两个首下跳沿和距离之间不成线性关系嘛,我触发波是发8个脉冲,频率38K,5脚电阻用220K,回波很清晰,但中断捕捉出来的定时器计数值根本没规律,而且示波器上看下跳沿,也无规律的,现在不知道如何入手了,望前辈帮忙分析。删除+0Guest发表于2007-01-2316:18:28我能够收到回波,但我用双踪示波器捕捉波形,发现触发波和回波的两个首下跳沿和距离之间不成线性关系嘛,我触发波是发8个脉冲,频率38K,5脚电阻用220K,回波很清晰,但中断捕捉出来的定时器计数值根本没规律,而且示波器上看下跳沿,也无规律的,现在不知道如何入手了,望前辈帮忙分析。softjie@citiz.net;QQ:49925193261/212我来说两句我来评分--回复内容OPEN昂特科技PoweredbyX-Space1.1©2001-2006ComsenzTechnologyLtd
本文标题:基于CX20106超声波测距的调试
链接地址:https://www.777doc.com/doc-2569007 .html