基于AT89C52单片机的多超声信号融合处理系统设计
时间:07-25
来源:互联网
点击:
1 引言
在移动机器人超声测距导航系统中,单一的超声波传感器因其发射角等固有的不足难以完成对环境的全面探测。因而在实践中,常常用到大量的超声传感器阵列。
然而,专门针对这种情况设计的数据采集处理平台却很少。同时,在远距离测量时,超声回波信号很微弱并受到了较大噪声干扰。在这种情况下,传统的基于电路方法的超声测距仪很难实现回波的提取,常常造成误判。而已有的基于PC机的数据采集卡却又带来了便携性和适用性差的问题。
本文介绍的基于单片机的数字信号采集处理系统,针对上述情况,采用了八通道设计以适合多超声传感器信号的采集,并引入了数字信号处理算法,通过对超声回波信号的数字处理,可以精确地检测回波,完成高精度测距的任务。另外基于该平台进行的多传感器数据融合处理使得移动机器人可以获得更准确的环境信息,提高了环境感知的能力。
2系统硬件电路设计
图1 系统结构框图
如图1所示,系统的主要硬件组成包括:前端微弱信号调理模块、A/D转换模块、微控制器模块、存储器模块、串行通讯模块以及扩展模块等。多个超声波换能器获取的回波信号输入系统后,经过各自前端调理电路处理,采样转化为数字信号,然后存放至系统SRAM芯片中。AT89C52单片机从SRAM芯片中读取数据并进行回波提取处理以及多通道融合处理,最后根据需要将处理结果通过RS-232标准接口送往上位PC机。同时,PC机的控制指令也可以通过该接口传送给单片机。
2.1微弱信号调理电路
在一般情况下,超声回波信号十分微弱,转换电信号的幅值也较小,必须采用高增益的放大电路。同时,复杂的工作环境又使得超声回波信号中包含了较多的噪声干扰。因此在设计调理电路时,既要进行信号的放大又要做适当的滤波处理。
由于系统要对多个超声传感器信号进行同步处理,因而设计了八通道并行的调理电路。每一个通道如图2所示。电路采用两级AD公司的高性能、超低失调电压运算放大器OP07串连实现信号的放大,并采用LM741芯片完成低通滤波处理。其中,在信号放大的第二级上设计了两个精密电位器R5和R6,其功能分别用于放大倍数和零点漂移的调整,以适合信号的下一步处理。
图2 微弱信号调理电路
超声回波信号经过调理电路后,八个输出端(通道一至通道八)将依次连接到A/D转换器的八个模拟信号输入端,以完成信号的模数转换处理。
2.2A/D转换电路
A/D转换电路采用了MAXIM公司推出的8位8通道高速模数转换芯片MAX158。该芯片具有转换速度快、功耗低、精度高等特点。每通道转换时间仅为2.5μs,能够满足移动机器人导航时实时信号处理的要求。
MAX158芯片的外部模拟信号输入端AIN1-AIN8分别连接八路来自信号调理电路的超声回波信号,DB0-DB7端为转换结果的三态数据缓冲输出端,连接AT89C52单片机的八位数据线。
端为片选信号输入端,片选信号来自单片机的P1.4脚。REF+和REF-为参考电压的正负极输入端(分别对应全为1和全为0的输出),连接 +5V标准电压和GND。A0-A2端控制了芯片内部的多路开关。MAX158根据这三个端口的输入信号选择通道,并对此通道模拟量进行跟踪和保持。
MAX158芯片提供了两种不同的工作方式,即MODE0和MODE1。系统采用MODE1流水线读数方式,工作时序如图3所示:一个读信号(置
端和端为低电平)会启动一个新的转换,并随即取走上一次转换的结果。两个读信号至少间隔2.5μs以保证数据的转换和读取。 端在
端或端的上升沿转为高电平,并在一次转换过程结束时出现低电平。
2.3微控制器模块
系统采用的AT89C52型单片机内含8KB的Flash程序存储器、256字节的RAM、具有32根I/O 线、3个可编程定时器[3]。相比其他类型单片机而言,AT89C52单片机具有较多的片内资源, 既保证了数据处理代码的存储空间,又能够在很少外围电路的情况下构成功能完善的信号采集系统。系统部分电路连接如图4所示。
图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端上。寻址操作可以通过简单的软件编程来实现。
在移动机器人超声测距导航系统中,单一的超声波传感器因其发射角等固有的不足难以完成对环境的全面探测。因而在实践中,常常用到大量的超声传感器阵列。
然而,专门针对这种情况设计的数据采集处理平台却很少。同时,在远距离测量时,超声回波信号很微弱并受到了较大噪声干扰。在这种情况下,传统的基于电路方法的超声测距仪很难实现回波的提取,常常造成误判。而已有的基于PC机的数据采集卡却又带来了便携性和适用性差的问题。
本文介绍的基于单片机的数字信号采集处理系统,针对上述情况,采用了八通道设计以适合多超声传感器信号的采集,并引入了数字信号处理算法,通过对超声回波信号的数字处理,可以精确地检测回波,完成高精度测距的任务。另外基于该平台进行的多传感器数据融合处理使得移动机器人可以获得更准确的环境信息,提高了环境感知的能力。
2系统硬件电路设计
图1 系统结构框图
如图1所示,系统的主要硬件组成包括:前端微弱信号调理模块、A/D转换模块、微控制器模块、存储器模块、串行通讯模块以及扩展模块等。多个超声波换能器获取的回波信号输入系统后,经过各自前端调理电路处理,采样转化为数字信号,然后存放至系统SRAM芯片中。AT89C52单片机从SRAM芯片中读取数据并进行回波提取处理以及多通道融合处理,最后根据需要将处理结果通过RS-232标准接口送往上位PC机。同时,PC机的控制指令也可以通过该接口传送给单片机。
2.1微弱信号调理电路
在一般情况下,超声回波信号十分微弱,转换电信号的幅值也较小,必须采用高增益的放大电路。同时,复杂的工作环境又使得超声回波信号中包含了较多的噪声干扰。因此在设计调理电路时,既要进行信号的放大又要做适当的滤波处理。
由于系统要对多个超声传感器信号进行同步处理,因而设计了八通道并行的调理电路。每一个通道如图2所示。电路采用两级AD公司的高性能、超低失调电压运算放大器OP07串连实现信号的放大,并采用LM741芯片完成低通滤波处理。其中,在信号放大的第二级上设计了两个精密电位器R5和R6,其功能分别用于放大倍数和零点漂移的调整,以适合信号的下一步处理。
图2 微弱信号调理电路
超声回波信号经过调理电路后,八个输出端(通道一至通道八)将依次连接到A/D转换器的八个模拟信号输入端,以完成信号的模数转换处理。
2.2A/D转换电路
A/D转换电路采用了MAXIM公司推出的8位8通道高速模数转换芯片MAX158。该芯片具有转换速度快、功耗低、精度高等特点。每通道转换时间仅为2.5μs,能够满足移动机器人导航时实时信号处理的要求。
MAX158芯片的外部模拟信号输入端AIN1-AIN8分别连接八路来自信号调理电路的超声回波信号,DB0-DB7端为转换结果的三态数据缓冲输出端,连接AT89C52单片机的八位数据线。
端为片选信号输入端,片选信号来自单片机的P1.4脚。REF+和REF-为参考电压的正负极输入端(分别对应全为1和全为0的输出),连接 +5V标准电压和GND。A0-A2端控制了芯片内部的多路开关。MAX158根据这三个端口的输入信号选择通道,并对此通道模拟量进行跟踪和保持。
MAX158芯片提供了两种不同的工作方式,即MODE0和MODE1。系统采用MODE1流水线读数方式,工作时序如图3所示:一个读信号(置
端和端为低电平)会启动一个新的转换,并随即取走上一次转换的结果。两个读信号至少间隔2.5μs以保证数据的转换和读取。 端在
端或端的上升沿转为高电平,并在一次转换过程结束时出现低电平。
2.3微控制器模块
系统采用的AT89C52型单片机内含8KB的Flash程序存储器、256字节的RAM、具有32根I/O 线、3个可编程定时器[3]。相比其他类型单片机而言,AT89C52单片机具有较多的片内资源, 既保证了数据处理代码的存储空间,又能够在很少外围电路的情况下构成功能完善的信号采集系统。系统部分电路连接如图4所示。
图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端上。寻址操作可以通过简单的软件编程来实现。
机器人 传感器 电路 单片机 电压 放大器 模拟电路 PCB 相关文章:
- 基于气动人工肌肉的双足机器人关节设计(02-07)
- 基于ARM9的仿人机器人分布式控制系统(11-27)
- 基于MCS-51单片机的智能机器人迷宫车设计(04-20)
- 基于AVR单片机的灭火机器人设计与实现(06-13)
- 基于CANopen协议的救援机器人调试系统(08-16)
- 基于STM32F的搬运机器人电机控制系统的设计与实现(04-05)