基于PIC18F2580的CAN总线超声波测距智能节点设计 (1)2011-05-18 14:16:30来源:互联网

1 引言
移动机器人要实现在不确定环境下运行,必须具备自动导航和避障功能。在移动机器人的导航系统中,传感器起着举足轻重的作用。视觉、激光、红外、超声传感器等都在实际系统中得到了广泛的应用。其中,超声波传感器以其信息处理简单、速度快和价格低,被广泛用作移动机器人的测距传感器,以实现避障、定位、环境建模和导航等功能。本文介绍的CAN总线智能节点的设计以Microchip公司的PIC18F2580控制核心。由于PIC18F2580有片上自带的CAN控制器并且为CAN的应用提供了许多专用的硬件功能,因此又将它作为了系统的CAN总线控制器,大大节省了主控系统的资源。CAN总线的收发器采用TJAl040。系统总体结构框图如图1所示。


点击看大图

图1 系统总体结构框图
机器人系统控制核心由ARM或DSP实现。其主要功能是处理需要复杂计算的信息,将经过处理的信息再送回CAN总线,并对整个网络进行管理。超声波智能节点控制系统的主要功能就是判断障碍物位置,将对移动机器人前进方向有阻碍的障碍物信息通过CAN总线传回主控系统,由主控系统作出相应处理并进行避障动作。本文将着重介绍超声波智能节点控制系统。
2 超声测距原理
超声测距的原理较简单,一般采用渡越时间法,即:
D=ct/2            (1)
其中D为移动机器人与被测障碍物之间的距离,c为声波在介质中的传输速率。声波在空气中传输速率为:
c= co


点击看大图
(2)
其中,T为绝对温度,co =331.4m/s。在不要求测距精度很高的情况下,一般可以认为c为常数。渡越时间法主要是测量超声发射到超声返回的时间间隔t,即“渡越时间”,然后根据式(1)计算距离。
3 超声波智能节点控制系统的硬件设计
超声波智能节点控制系统的硬件电路如图2所示。
3.1 控制电路
超声波传感器的控制部分采用Microchip公司生产的PIC18F2580。它是一个单片8位高性能微控制器,采用了哈佛总线结构,运行速度高,功耗低,抗干扰能力强,具有片内CAN控制器。
作为系统控制核心,PIC18F2580担负两个主要任务。其一是作为超声波传感器的控制核心,在其普通I/O口上扩展了超声波传感器的接收和发射部分电路,利用单片机软件功能产生40 kHz信号并通过驱动放大发射出去,再利用接收部分电路进行接收。另外可以对其余口线继续进行超声波传感器的扩展,实现多个超声波传感器系统的设计。其二是利用PIC18F2580的片内CAN控制器实现与CAN总线的连接。这样的设计改变了过去在机器人控制核心上进行超声波测距系统的设计,不但将超声波检测与处理的工作转移到了单片机上,大大节省了机器人控制核心的系统资源,还将CAN总线智能节点的大部分控制工作也转移到了单片机上,节省了硬件资源,同时CAN总线的采用大大提升了系统的抗干扰能力,使机器人控制系统更加稳定地工作。

点击看大图

图2 测距节点控制电路图


[1][2] [3]