新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AT89C52的多超聲信號融合處理系統(tǒng)設(shè)計

基于AT89C52的多超聲信號融合處理系統(tǒng)設(shè)計

作者: 時間:2007-08-07 來源:網(wǎng)絡(luò) 收藏
摘要:本文并實現(xiàn)了一種多系統(tǒng),主要用于移動機器人測距導(dǎo)航。系統(tǒng)針對回波的特點,使用單片機對來自多個超聲波傳感器的微弱回波進行數(shù)字,并通過RS-232串行口與主機實現(xiàn)通訊。利用該系統(tǒng),可以完成超聲波信號的精確提取及多傳感器信息的,為移動機器人在未知環(huán)境下的快速導(dǎo)航奠定了基礎(chǔ)。
關(guān)鍵字:多通道;超聲測距;信息

1 引言

在移動機器人超聲測距導(dǎo)航系統(tǒng)中,單一的超聲波傳感器因其發(fā)射角等固有的不足難以完成對環(huán)境的全面探測。因而在實踐中,常常用到大量的超聲傳感器陣列。

然而,專門針對這種情況的數(shù)據(jù)采集處理平臺卻很少。同時,在遠距離測量時,超聲回波信號很微弱并受到了較大噪聲干擾。在這種情況下,傳統(tǒng)的電路方法的超聲測距儀很難實現(xiàn)回波的提取,常常造成誤判。而已有的PC機的數(shù)據(jù)采集卡卻又帶來了便攜性和適用性差的問題[1]

本文介紹的單片機的數(shù)字信號采集處統(tǒng),針對上述情況,采用了八通道以適合多超聲傳感器信號的采集,并引入了數(shù)字信號處理算法,通過對超聲回波信號的數(shù)字處理,可以精確地檢測回波,完成高精度測距的任務(wù)。另外基于該平臺進行的多傳感器數(shù)據(jù)融合處理使得移動機器人可以獲得更準確的環(huán)境信息,提高了環(huán)境感知的能力。

2 系統(tǒng)硬件電路設(shè)計

圖1 系統(tǒng)結(jié)構(gòu)框圖

如圖1所示,系統(tǒng)的主要硬件組成包括:前端微弱信號調(diào)理模塊、A/D轉(zhuǎn)換模塊、微控制器模塊、存儲器模塊、串行通訊模塊以及擴展模塊等。多個超聲波換能器獲取的回波信號輸入系統(tǒng)后,經(jīng)過各自前端調(diào)理電路處理,采樣轉(zhuǎn)化為數(shù)字信號,然后存放至系統(tǒng)SRAM芯片中。單片機從SRAM芯片中讀取數(shù)據(jù)并進行回波提取處理以及多通道融合處理,最后根據(jù)需要將處理結(jié)果通過RS-232標準接口送往上位PC機。同時,PC機的控制指令也可以通過該接口傳送給單片機。

2.1微弱信號調(diào)理電路

在一般情況下,超聲回波信號十分微弱,轉(zhuǎn)換電信號的幅值也較小,必須采用高增益的放大電路。同時,復(fù)雜的工作環(huán)境又使得超聲回波信號中包含了較多的噪聲干擾。因此在設(shè)計調(diào)理電路時,既要進行信號的放大又要做適當?shù)臑V波處理。

由于系統(tǒng)要對多個超聲傳感器信號進行同步處理,因而設(shè)計了八通道并行的調(diào)理電路。每一個通道如圖2所示。電路采用兩級AD公司的高性能、超低失調(diào)電壓運算放大器OP07串連實現(xiàn)信號的放大,并采用LM741芯片完成低通濾波處理。其中,在信號放大的第二級上設(shè)計了兩個精密電位器R5和R6,其功能分別用于放大倍數(shù)和零點漂移的調(diào)整,以適合信號的下一步處理。

圖2 微弱信號調(diào)理電路

超聲回波信號經(jīng)過調(diào)理電路后,八個輸出端(通道一至通道八)將依次連接到A/D轉(zhuǎn)換器的八個模擬信號輸入端,以完成信號的模數(shù)轉(zhuǎn)換處理。

2.2 A/D轉(zhuǎn)換電路

A/D轉(zhuǎn)換電路采用了MAXIM公司推出的8位8通道高速模數(shù)轉(zhuǎn)換芯片MAX158[2]。該芯片具有轉(zhuǎn)換速度快、功耗低、精度高等特點。每通道轉(zhuǎn)換時間僅為2.5μs,能夠滿足移動機器人導(dǎo)航時實時信號處理的要求。

MAX158芯片的外部模擬信號輸入端AIN1-AIN8分別連接八路來自信號調(diào)理電路的超聲回波信號,DB0-DB7端為轉(zhuǎn)換結(jié)果的三態(tài)數(shù)據(jù)緩沖輸出端,連接單片機的八位數(shù)據(jù)線。 端為片選信號輸入端,片選信號來自單片機的P1.4腳。REF+和REF-為參考電壓的正負極輸入端(分別對應(yīng)全為1和全為0的輸出),連接 +5V標準電壓和GND。A0-A2端控制了芯片內(nèi)部的多路開關(guān)。MAX158根據(jù)這三個端口的輸入信號選擇通道,并對此通道模擬量進行跟蹤和保持。

MAX158芯片提供了兩種不同的工作方式,即MODE0和MODE1。系統(tǒng)采用MODE1流水線讀數(shù)方式,工作時序如圖3所示:一個讀信號(置 端和 端為低電平)會啟動一個新的轉(zhuǎn)換,并隨即取走上一次轉(zhuǎn)換的結(jié)果。兩個讀信號至少間隔2.5μs以保證數(shù)據(jù)的轉(zhuǎn)換和讀取。 端在 端或 端的上升沿轉(zhuǎn)為高電平,并在一次轉(zhuǎn)換過程結(jié)束時出現(xiàn)低電平。

2.3 微控制器模塊

系統(tǒng)采用的AT89C52型單片機內(nèi)含8KB的Flash程序存儲器、256字節(jié)的RAM、具有32根I/O 線、3個可編程定時器[3]。相比其他類型單片機而言,AT89C52單片機具有較多的片內(nèi)資源, 既保證了數(shù)據(jù)處理代碼的存儲空間,又能夠在很少外圍電路的情況下構(gòu)成功能完善的信號采集系統(tǒng)。系統(tǒng)部分電路連接如圖4所示。

圖4 系統(tǒng)部分電路連接圖

2.4 存儲器模塊

由于系統(tǒng)要實時采集多路傳感器信號,對數(shù)據(jù)存儲要求較大。因此我們選用了可存儲256K*8位信息的DCM8256芯片。DCM系列高速數(shù)據(jù)不揮發(fā)存儲器,具有體積小巧,讀/寫速度快(小于100ns、可達50ns),讀/寫方式簡單的優(yōu)點,可在-40℃-+85℃溫度下可靠工作,并且即使在有特殊干擾的情況下(如強磁場、電源急劇反復(fù)波動等),也能達到萬無一失保存數(shù)據(jù)的效果,因而十分適合移動機器人野外作業(yè)的需要。

由于AT89C52單片機的最大尋址空間為64K,而DCM8256的空間為256K,因而要對尋址進行擴展。地址擴展的方式有兩種,一種方法是DCM8256的低16位地址直接與MPU的地址線相連,而高兩位地址由硬件邏輯實現(xiàn);另一種方法是利用MPU的I/O口進行擴展。第一種方法雖然占用I/O資源較少,但電路復(fù)雜,需要額外的硬件。系統(tǒng)采用第二種方法,如圖4右半部分所示,將DCM8256芯片的A16端和A17端分別連接到AT89C52單片機的P1.6端和P1.7端,片選信號接到P1.5端上。尋址操作可以通過簡單的軟件編程來實現(xiàn)。

2.5 串口通訊模塊

在移動機器人超聲測距導(dǎo)航系統(tǒng)中,超聲測距的結(jié)果要上傳至移動機器人的主處理器,由其控制機器人采取相應(yīng)的對策;主處理器也要發(fā)送指令控制超聲數(shù)據(jù)的采集和處理。因此單片機和主處理器之間的通訊是整個系統(tǒng)不可或缺的一個組成部分。

在我們的系統(tǒng)中,AT89C52單片機為下位機,移動機器人主處理器為上位機,二者通過RS-232串行口接收或上傳數(shù)據(jù)和指令。在此,系統(tǒng)使用了集成電平轉(zhuǎn)換芯片MAX232來進行RS232C/TTL 電平轉(zhuǎn)換。MAX232的引腳11和引腳12直接和AT89C52的TXD、RXD串行口連接,引腳13和引腳14與RS232連接[4]。

另外,由于超聲測距系統(tǒng)受環(huán)境因素影響較大,在測量時要考慮到環(huán)境溫度、自身速度等相關(guān)信息。對此系統(tǒng)額外采用了擴展模塊設(shè)計,在電路中集成了溫度、速度測量的電氣處理模塊,方便信息的綜合分析。

3 系統(tǒng)軟件設(shè)計

系統(tǒng)軟件主要由單片機處理軟件和PC機監(jiān)控軟件兩部分組成。

3.1 單片機軟件設(shè)計

單片機軟件主要實現(xiàn)數(shù)據(jù)的采集和存儲、回波的數(shù)字處理以及串口通訊等功能。主流程框架如圖5所示。根據(jù)超聲波測距具有的周期性特點,系統(tǒng)通過PC機設(shè)定單片機的采集周期。運行一次采集存儲子程序即完成一個周期的采集,然后系統(tǒng)調(diào)用數(shù)據(jù)處理子程序進行回波信號的數(shù)字處理,并根據(jù)串口命令使用通訊子程序?qū)⒔Y(jié)果發(fā)送至PC機。

圖5 單片機軟件主框架 圖6 采集存儲子程序流程

在采集存儲子程序中,每次模數(shù)轉(zhuǎn)換結(jié)束時對SRAM頻繁的開關(guān)操作會占用系統(tǒng)很大的時空開銷,影響系統(tǒng)的實時性。對此,系統(tǒng)采用了增設(shè)緩沖區(qū)的方法。每次A/D轉(zhuǎn)換結(jié)束,數(shù)據(jù)被送往開辟在單片機內(nèi)部的緩沖區(qū)而不是立即寫入外存。當八個通道采集完一輪后,再將緩沖區(qū)的內(nèi)容一起寫入外部存儲器(流程如圖6所示)。這樣,在保證采樣頻率一致的前提下有效的提高了系統(tǒng)的實時性。

3.2 PC機軟件設(shè)計

系統(tǒng)監(jiān)控軟件使用VC++6.0語言開發(fā),它的作用是通過串口命令控制單片機工作,并抽象硬件設(shè)計,為移動機器人導(dǎo)航提供環(huán)境信息。

應(yīng)用該軟件,可以實現(xiàn)PC機對單片機的參數(shù)及命令設(shè)定、數(shù)據(jù)查詢、數(shù)據(jù)存取以及曲線繪制等功能,并可以通過對數(shù)據(jù)的進一步融合處理,實時獲取障礙物的距離、位置等信息,完成當前作業(yè)環(huán)境的建模,實現(xiàn)環(huán)境感知。軟件的運行界面如圖7所示。

4 小結(jié)

圖7 軟件運行界面

本系統(tǒng)專門針對移動機器人導(dǎo)航時的多超聲傳感器信息融合應(yīng)用而設(shè)計。經(jīng)實驗證明,系統(tǒng)簡單實用、穩(wěn)定可靠,完全達到設(shè)計目的。

本文作者創(chuàng)新點:(1)結(jié)合移動機器人多超聲測距的實際,設(shè)計了多通道的融合處統(tǒng),軟硬件簡單明了,工作可靠,特別適合多傳感器信息融合應(yīng)用。(2)良好的噪聲抑制能力和較高的測量精度。由于超聲回波信號十分微弱并含有噪聲,S/N較小,抗干擾性不強。以往基于模擬電路設(shè)定閾值來判斷回波的做法往往會受到噪聲信號的干擾而造成誤判。本系統(tǒng)使用數(shù)字信號處理方法,將超聲回波數(shù)字處理,減少了誤判的概率,解決了高噪聲背景下的回波識別問題,增加了系統(tǒng)的可靠性。(3)系統(tǒng)基于單片機設(shè)計,電路板設(shè)計合理緊湊,使得系統(tǒng)具有良好的便攜性,相比于基于PC機的數(shù)據(jù)采集卡更加適合移動機器人應(yīng)用。(4)良好的抗干擾能力。通過PCB 板上的一些設(shè)計及工控機箱來加強對電磁干擾、電壓擾動的適應(yīng)能力, 能夠適應(yīng)惡劣的工作環(huán)境。

參考文獻:

[1]曹茂永,王霞.超聲測距數(shù)字信號采集系統(tǒng)[J].電測與儀表,2000,37(8):26-27
[2]MAXIM.CMOS High-Speed 8-Bit ADCs with Multiplexer and Reference MAX158[Z].1996
[3]王幸之,鐘愛琴等.AT89系列單片機原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社2004:20-21
[4]高澤利,李穎.六通道數(shù)據(jù)采集及處統(tǒng)的研制[J].微計算機信息,2005,21(9-1): 94-97



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉