论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
(科教作文网http://zw.NSEaC.com编辑发布)
图10 40kHz脉冲信号产生框图
系统采用24MHz晶体振荡器,定时器T1工作在方式2,用其自动赋值功能,系统可以直接由单片机的P3.7输出精确的40kHz脉冲,其脉冲宽度为25Os,载波为40kHz的10个脉冲群。
由于超声波的发射探头T发出的超声波一部分会直接传送到超声波的接收探头R中,从而产生错误的判断(这将在第6章的问题及解决方案中详细阐述);为了避免这一错误的产生,在开始发出信号时,必须关闭外部中断INT0;当发射完毕时,开启外部中断INT0,同时还要先清掉外部中断的请求标志IE0,这又是因为在关闭了外部中断的情况下,中断信号还是会产生的,请求标志仍然存在,只有清除了该标志位,才能避免系统对该中断请求的响应。
5.3 回波接收模块 (转载自科教范文网http://fw.nseac.com)
用外部中断INT0来接受发射回波,这样可以及时的接收信号,并做出处理;要是采用查询的方式,系统可能要等上5-6ms才能查询到,这样超声波也就多走了1-2m的路程了,精度将大打折扣,甚至有时就是错误的结果。但用中断就是比较麻烦一些,比如,已经关掉了中断,但是在有中断信号时,其中断标志位IE0还会产生,在退出中断子程序后,系统仍会执行此中断请求,但是在采集信号前先清掉此标志位,这个问题也就迎刃而解了。
图11 信号处理子程序框图
在进入中断子程序时,先关闭中断,同时关闭定时器T0,读取其算出的距离值,并且保存起来,当读取了4次距离值时,去掉其最高和最低的值,然后求出平均值,并送往显示缓冲区,以便于刷新显示。在返回前,清掉请求标志位IE0,在开启T1、T0,开始下一次的测量。
5.4 距离计算模块
图12 测算距离子程序框图
定时器T0用来计算超声波所走的距离。产生一次中断,则代表超声波已经行程0.2米,此时得出的距离值为0.1米,依此类推,T0中断n次,则测得距离值为n×0.1m;当INT0接收到回波时,关闭T0,再读取数据时,此数据即为测得的距离值。
6 设计中遇到的问题及其解决方案
6.1 发射超声波的探头直接对接收超声波的探头的影响
发射超声波的探头T发出的超声波一部分直接传送到接收超声波的探头R中,其波形图如图13所示[ 11 ]。
图13(a)为发出的脉冲信号;图13(b)为接收管接收到的回波信号;图13(c)为实际上我们所需要的回波信号。
图13(b)中所示的波形① ,此波形为干扰信号,这里要想办法屏蔽波形① 。 图13 波形图 大学排名
从图13(b)中知道波形②的信号比波形①来的晚一些,且波形①的信号只在发射管发射的时候才有,在10个脉冲群发射完毕之后,则没有了此信号①,从而我们在这之后再接收回波信号②,也就起到了隔离此干扰信号的效果。
计算验证:10个脉冲信号的脉冲宽度为25Os,超声波所走的路程大约在8cm左右,即使返回,则其距离也就在4cm左右,还不到5个厘米,这远远小于我们的精度要求10个厘米。即证得此屏蔽方法可行。
6.2 超声波的传播速度随着温度的变化而变化
在超声波的两个探头旁边放置温度传感器DS18B20,测出超声波所处的环境温度T,将T送入单片机中,求出对应的声速。
空气中声速表达式为:
……………………………………(9)
由实验分析得距离计算公式为:
…..…………………… (10)
式中 N 为计数个数;为参考频率;为摄氏温度;为距离。
根据上面的公式,算出对应温度的速度值,然后求出对应的TH1值,之后列出TH1--温度的对应数据表,利用查