DIY编程器网

标题: 基于AT89C52单片机的多超声信号融合处理系统设计 [打印本页]

作者: liyf    时间: 2012-1-16 16:51
标题: 基于AT89C52单片机的多超声信号融合处理系统设计

                      摘要:本文设计并实现了一种多超声信号融合处理系统,主要用于移动机器人超声测距导航。系统针对超声回波信号的特点,使用AT89C52单片机对来自多个超声波传感器的微弱回波信号进行数字处理,并通过RS-232串行口与主机实现通讯。利用该系统,可以完成超声波信号的精确提取及多传感器信息的融合处理,为移动机器人在未知环境下的快速导航奠定了基础。
关键字:多通道;超声测距;信息融合

1 引言
??? 在移动机器人超声测距导航系统中,单一的超声波传感器因其发射角等固有的不足难以完成对环境的全面探测。因而在实践中,常常用到大量的超声传感器阵列。
然而,专门针对这种情况设计的数据采集处理平台却很少。同时,在远距离测量时,超声回波信号很微弱并受到了较大噪声干扰。在这种情况下,传统的基于电路方法的超声测距仪很难实现回波的提取,常常造成误判。而已有的基于PC机的数据采集卡却又带来了便携性和适用性差的问题[1]。
本文介绍的基于单片机的数字信号采集处理系统,针对上述情况,采用了八通道设计以适合多超声传感器信号的采集,并引入了数字信号处理算法,通过对超声回波信号的数字处理,可以精确地检测回波,完成高精度测距的任务。另外基于该平台进行的多传感器数据融合处理使得移动机器人可以获得更准确的环境信息,提高了环境感知的能力。
2 系统硬件电路设计



图2 微弱信号调理电路
超声回波信号经过调理电路后,八个输出端(通道一至通道八)将依次连接到A/D转换器的八个模拟信号输入端,以完成信号的模数转换处理。
2.2 A/D转换电路
  A/D转换电路采用了MAXIM公司推出的8位8通道高速模数转换芯片MAX158[2]。该芯片具有转换速度快、功耗低、精度高等特点。每通道转换时间仅为2.5μs,能够满足移动机器人导航时实时信号处理的要求。
MAX158芯片的外部模拟信号输入端AIN1-AIN8分别连接八路来自信号调理电路的超声回波信号,DB0-DB7端为转换结果的三态数据缓冲输出端,连接AT89C52单片机的八位数据线。

端和

端或端的上升沿转为高电平,并在一次转换过程结束时出现低电平。




图4? 系统部分电路连接图
2.4 存储器模块
  由于系统要实时采集多路传感器信号,对数据存储要求较大。因此我们选用了可存储256K*8位信息的DCM8256芯片。DCM系列高速数据不挥发存储器,具有体积小巧,读/写速度快(小于100ns、可达50ns),读/写方式简单的优点,可在-40℃-+85℃温度下可靠工作,并且即使在有特殊干扰的情况下(如强磁场、电源急剧反复波动等),也能达到万无一失保存数据的效果,因而十分适合移动机器人野外作业的需要。
  由于AT89C52单片机的最大寻址空间为64K,而DCM8256的空间为256K,因而要对寻址进行扩展。地址扩展的方式有两种,一种方法是DCM8256的低16位地址直接与MPU的地址线相连,而高两位地址由硬件逻辑实现;另一种方法是利用MPU的I/O口进行扩展。第一种方法虽然占用I/O资源较少,但电路复杂,需要额外的硬件。系统采用第二种方法,如图4右半部分所示,将DCM8256芯片的A16端和A17端分别连接到AT89C52单片机的P1.6端和P1.7端,片选信号接到P1.5端上。寻址操作可以通过简单的软件编程来实现。
2.5 串口通讯模块
  在移动机器人超声测距导航系统中,超声测距的结果要上传至移动机器人的主处理器,由其控制机器人采取相应的对策;主处理器也要发送指令控制超声数据的采集和处理。因此单片机和主处理器之间的通讯是整个系统不可或缺的一个组成部分。
  在我们的系统中,AT89C52单片机为下位机,移动机器人主处理器为上位机,二者通过RS-232串行口接收或上传数据和指令。在此,系统使用了集成电平转换芯片MAX232来进行RS232C/TTL 电平转换。MAX232的引脚11和引脚12直接和AT89C52的TXD、RXD串行口连接,引脚13和引脚14与RS232连接[4]。
  另外,由于超声测距系统受环境因素影响较大,在测量时要考虑到环境温度、自身速度等相关信息。对此系统额外采用了扩展模块设计,在电路中集成了温度、速度测量的电气处理模块,方便信息的综合分析。
3 系统软件设计
  系统软件主要由单片机处理软件和PC机监控软件两部分组成。
3.1 单片机软件设计
  单片机软件主要实现数据的采集和存储、回波的数字处理以及串口通讯等功能。主流程框架如图5所示。根据超声波测距具有的周期性特点,系统通过PC机设定单片机的采集周期。运行一次采集存储子程序即完成一个周期的采集,然后系统调用数据处理子程序进行回波信号的数字处理,并根据串口命令使用通讯子程序将结果发送至PC机。



图5? 单片机软件主框架????????????????????? ??图6 ?采集存储子程序流程
  在采集存储子程序中,每次模数转换结束时对SRAM频繁的开关操作会占用系统很大的时空开销,影响系统的实时性。对此,系统采用了增设缓冲区的方法。每次A/D转换结束,数据被送往开辟在单片机内部的缓冲区而不是立即写入外存。当八个通道采集完一轮后,再将缓冲区的内容一起写入外部存储器(流程如图6所示)。这样,在保证采样频率一致的前提下有效的提高了系统的实时性。
3.2 PC机软件设计
  系统监控软件使用VC++6.0语言开发,它的作用是通过串口命令控制单片机工作,并抽象硬件设计,为移动机器人导航提供环境信息。
  应用该软件,可以实现PC机对单片机的参数及命令设定、数据查询、数据存取以及曲线绘制等功能,并可以通过对数据的进一步融合处理,实时获取障碍物的距离、位置等信息,完成当前作业环境的建模,实现环境感知。软件的运行界面如图7所示。
4 小结



? 图7 软件运行界面
  本系统专门针对移动机器人导航时的多超声传感器信息融合应用而设计。经实验证明,系统简单实用、稳定可靠,完全达到设计目的。
  本文作者创新点:(1)结合移动机器人多超声测距的实际,设计了多通道的融合处理系统,软硬件简单明了,工作可靠,特别适合多传感器信息融合应用。(2)良好的噪声抑制能力和较高的测量精度。由于超声回波信号十分微弱并含有噪声,S/N较小,抗干扰性不强。以往基于模拟电路设定阈值来判断回波的做法往往会受到噪声信号的干扰而造成误判。本系统使用数字信号处理方法,将超声回波数字处理,减少了误判的概率,解决了高噪声背景下的回波识别问题,增加了系统的可靠性。(3)系统基于单片机设计,电路板设计合理紧凑,使得系统具有良好的便携性,相比于基于PC机的数据采集卡更加适合移动机器人应用。(4)良好的抗干扰能力。通过PCB 板上的一些设计及工控机箱来加强对电磁干扰、电压扰动的适应能力, 能够适应恶劣的工作环境。
            




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2