侵权投诉
当前位置:

OFweek电子工程网

传感技术

正文

采用超声波的移动机器人导航设计

导读: 采用新型的超声波传感器,设计并开发基于ARM9 与嵌入式linux 为平台的轮式移动机器人平台的下的未知环境的避障导航系统。本文重点介绍该超声波传感器的实现原理以及在机器人平台中的整个软件实现流程以及控制机器人行走的实现方法。

  1 引言

  在项目开发中采用从英国进口的SRF05 超声波传感器,它的回波反馈与测距方式与通常使用的超声波传感器相比较特别, 在ARM中实现也稍有难度, 但该传感器精度很高可达到1cm, 因此用该传感器去掉了用于近距离测距的红外测距模块节约了硬件资源。

  该机器人的最小系统为,触摸屏模块,超声波模块,摄像头图像采集模块,直流电机闭环控制系统,在整个系统中测距是最总要的一环,它直接影响电机运行距离的精度,在有效范围内的图像采集控制。整个系统都是在ARM9 与linux 平台中完成,每个模块都是用设备驱动的方式实现使得模块的控制更加方便。

  2 SRF05 超声波测距方法

  提供一个10us 的脉冲触发超声波传感器,SRF05 会发出8 个周期的频率为40khz 的超频脉冲,此时在echo 也是就回波口上的电平变为高,此时定时器开始计时,等到echo 变为低电平证明有障碍物此时停止计时,高脉冲的宽度有测距的距离成正比,该超声波的有效测距范围为1cm~4m, 因此如果没有障碍物或障碍物大于4m,echo 依然会变为低电平此时定时器的时间为30ms, 因此在测距时定时器的周期应大于30ms 这样才能有效测距。

  原理如图1 所示。

 

  3 超声波测距软件实现

  如图2 为超声波测距的流程图。

 

  3.1 回波检测的采集方法

  超声波的回波的检测是个难点, 因为在ARM中一个端口设置中断只能设置一种触发方式, 如果设为上升沿触发可以打开定时器定时但无法捕获下降沿,也就无法关闭定时器,从而不能测距, 因此用软件的方式实现。首先设置两个时间延迟函数usdelay()和msdelay(),这样可以在给出高脉冲10us 后等超声波触发再打开定时期计时,在设置一个外部中断eint1 接到超声波传感器的echo 口并设置为下降沿触发,等下降沿来临关闭定时器读出值既为脉宽的时间长度,然后根据障碍物的距离=(ECHO高电平的时间)* 声纳速度/2 得出距离。空气中v 与温度关系:v=331.5√1+T/273 m/s,T 为摄氏温度。一般情况下超声波速近似声速,在室内温度影响下取约343.2m/s.

 

1  2  3  下一页>  
声明: 本文由入驻OFweek公众平台的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

我来说两句

(共0条评论,0人参与)

请输入评论

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号