<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時間:2012-01-19 來源:網(wǎng)絡 收藏

          1 引言

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

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

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

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

          圖1 系統(tǒng)結構框圖

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

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

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

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

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

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

          2.2 A/D轉換電路

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

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

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

          2.3 微控制器模塊

          系統(tǒng)采用的AT89C52型單片機內(nèi)含8KB的Flash程序存儲器、256字節(jié)的RAM、具有32根I/O 線、3個可編程定時器[3]。相比其他類型單片機而言,AT89C52單片機具有較多的片內(nèi)資源, 既保證了數(shù)據(jù)處理代碼的存儲空間,又能夠在很少外圍電路的情況下構成功能完善的信號采集系統(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℃溫度下可靠工作,并且即使在有特殊干擾的情況下(如強磁場、電源急劇反復波動等),也能達到萬無一失保存數(shù)據(jù)的效果,因而十分適合移動機器人野外作業(yè)的需要。

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

          2.5 串口通訊模塊

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

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

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

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

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

          3.1 單片機軟件設計

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

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

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

          3.2 PC機軟件設計

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

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

          4 小結

          圖7 軟件運行界面

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

          本文作者創(chuàng)新點:

          (1)結合移動機器人多超聲測距的實際,設計了的融合處理系統(tǒng),軟硬件簡單明了,工作可靠,特別適合多傳感器應用。

          (2)良好的噪聲抑制能力和較高的測量精度。由于超聲回波信號十分微弱并含有噪聲,S/N較小,抗干擾性不強。以往基于模擬電路設定閾值來判斷回波的做法往往會受到噪聲信號的干擾而造成誤判。本系統(tǒng)使用數(shù)字信號處理方法,將超聲回波數(shù)字處理,減少了誤判的概率,解決了高噪聲背景下的回波識別問題,增加了系統(tǒng)的可靠性。

          (3)系統(tǒng)基于單片機設計,電路板設計合理緊湊,使得系統(tǒng)具有良好的便攜性,相比于基于PC機的數(shù)據(jù)采集卡更加適合移動機器人應用。

          (4)良好的抗干擾能力。通過PCB 板上的一些設計及工控機箱來加強對電磁干擾、電壓擾動的適應能力, 能夠適應惡劣的工作環(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系列單片機原理與接口技術[M].北京:北京航空航天大學出版社2004:20-21

          [4]高澤利,李穎.六通道數(shù)據(jù)采集及處理系統(tǒng)的研制[J].微計算機信息,2005,21(9-1): 94-97



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();