針對采集精度低、主控芯片資源占用大,采集速度慢等問題設計了一種多路數據采集系統。系統采用AT89S52單片機為核心,四路24位A/D負責數據采集任務。系統可根據不同的需要對這些數字量進行相應的計算和處理,得到所需的數據,并將這些計算結果反饋給用戶或被控系統,達到監測和控制的目的。實驗結果表明:系統具有硬件電路簡單、采集精度較高、實時顯示等優點。 0 引言 現代工業控制、自動檢測技術中的數據采集與處理是將現場的電壓、電流、壓力、流量、溫度、角度等模擬信號和一些開關量信號進行采集,轉變成數字量,再根據不同的需要對這些數字量進行相應的計算和處理,得到所需的數據,然后將這些計算結果反饋給用戶或被控系統,達到監測和控制的目的。完成這個功能的系統就是數據采集與處理系統。 數據采集的主要技術是采集速度和精度。采集速度主要與采樣頻率、A/D轉換速度等因素有關,采集精度主要與A/D轉換器的位數有關。本系統就是一種以單片機為控制器,對數據進行存取和發送并顯示的數據采集系統。一個實時控制系統一般需要完成數據采集、模數轉換、數據存取及發送等任務。CS5532進行模數轉換,AT89S52控制A/D轉換并將讀取到的數據發送給工控機。這樣,在高速的數據采集時,就避免了微機系統操作時速的限制,大大地提高了數據采集系統的效率。從而滿足了控制系統的實時、高速控制要求。 1 多路采樣系統的總體設計 多路數據采集對系統的軟、硬件性能要求很高。本文使用高速串行接口A/D芯片(CS5532)與單片機組成數據采集系統。該系統以AT89S 52單片機和24位串行芯片A/D(CS5532)構成。數據采集的精度能達到24位、同時串行A/D與單片機之間采用SPI接口,可以同時驅動四路A/ D,信號增益可以達到32位,出口速率可以達到400字/秒,能形成多路高速數據采集系統。 本采集系統的硬件電路由主控部分(單片AT89S52)、模數部分(A/D芯片CS5532)、顯示部分(八段數碼管)3個部分組成。各部分之間相互協作,實現數據采集的功能。其硬件結構如圖1所示。 2 多路采集系統的硬件設計 整個硬件系統是以單片機AT89S52作為主控芯片,控制整個電路的運行。為了能使單片機正常工作須在其外圍加復位電路。即:采用穩定的硬件復位方式。本系統采用看門狗X5045作為復位電路的主要芯片用來控制復位的完成。采用X5045有以下優點:(1)上電可以自動發出復位信號。(2)當單片機的電壓降到一定時X5045的復位引腳會給出一個復位信號使單片機復位。(3)當程序進入死循環時X5045會給出一個復位信號使單片機恢復正常。控制硬件電路原理圖如圖2所示。 AT89S52具有系統可編程功能,可以很方便地改寫單片機存儲器內的程序不需要把芯片中從工作環境中剝離,把AT89S ISP下載口接入電路,可用電路實現該功能。為了滿足系統對波特率的要求AT89S52需要接入一個22.1184MHz晶振,用來調整時鐘。 MAX232是一種常用的通信芯片。MAX232與單片機AT89S52的接口是由2條線來完成的,P3.1與MAX232的10腳相連作為發送的數據線。 CS5532是一種高精度的A/D轉換芯片,最高可得到分辨率是24位的輸出結果。CS5532的差動輸入端可以直接測量來自傳感器的毫伏信號,簡化了與外圍電路的連接。可編程增益放大器可使放大倍數從1~32進行設定(以2倍步長增加),大大提高了系統的動態特性。多級程控數字濾波器使得數據輸出速率可選擇。范圍為7.5 Hz~3.84 kHz,方便了與外設的連接。由于它的寬動態特性、可編程輸出速率、靈活的供電方式及簡便的三線串行輸出模式,使得該A/D轉換器極易和單片機接口。在使用CS5532時須在其外圍接一個參考電壓和一個晶振電路。 CS5532的差動輸入端可以直接測量來自傳感器的毫伏信號,簡化了與外圍電路的連接。其電路圖如圖3所示。 八段數碼顯示管有兩種,一種是共陽數碼管,其內部是由八個陽極相連接的發光二極管組成;另一種是共陰數碼管,其內部是由八個陰極相連接的發光二極管組成。二者原理不同但功能相同。本文選用8個共陰八段數碼管LED用來顯示A/D轉換完成的數據。 3 軟件實現 本系統中單片機AT89S52是對整個過程的控制和協調作用。使各部分能夠有序的運行完成數據采集、顯示以及與工控機進行通訊的功能。軟件總的流程圖如圖4所示: 4 數據采集系統的的調試 本系統基于AT89S52兼容單片機為核心,其具有良好的性能價格比,用它對數據進行存取,用CS5532進行模數轉換,再通過AT89S52控制A/D轉換并將讀取到的數據發送給工控機。本系統實用性強,能夠很好地實現多路信號采集測量,結構較為簡單,成本低,外接元件少。調試結果如圖5所示: 5 結論 本文設計采用單片機(AT89S52)與24位A/D芯片(CS5532)構成數據采集系統,實現了四路模擬量到數字量的轉換。將轉化完的數據通過數碼管顯示,同時可以通過串行口發送給上位機(工控機或PC機),實現了數據的后期存儲與分析。基本完成采集系統的各項功能。但是經過A/D轉換過的數據不是很穩定,可能由于硬件的濾波電路做的不夠精細。還有待進一步的研究和改進。 |