在現代工業生產、控制和科學研究領域中,對各種現場數據如溫度、壓力及振動等參數進行采集、傳輸和處理是必不可少的組成部分。將溫度、壓力、流量、位移等模擬信息采集轉換成數字信息后,再由計算機進行存儲、處理、顯示或打印的過程就是數據采集,相應的系統稱為數據采集系統。高性能微控制器W77E58具有功耗低、體積小、功能強大等優點,非常適用于對現場數據進行實時采集和現場控制。
1 采集系統的結構設計
數據采集系統主要由傳感器、調理電路、A/D轉換電路、微控制器、通信模塊、計算機(PC機)等幾大模塊組成。如圖1所示。外部世界、現場等的各種參量是模擬量,傳感器的作用是把這些模擬量轉化為電信號模擬量(可以是電壓,也可以是電流、電脈沖),經過適當的調理電路再把這些電信號模擬量送給模擬數字轉換器(A/D轉換器),使這些模擬量轉化為可以讓微控制器識別處理的數字信號,最后經過通信模塊,微控制器將采集到的信號傳給PC機,PC機人機接口界面負責控制、存儲和處理采集到的數據。
實際應用中,因傳感器的輸出信號多為弱信號,信號與采集系統的距離相對較長,為防止信號的嚴重衰減,采用電流信號傳輸;在信號接收端,通過I/V轉換電路,再把信號復原成電壓信號,經過放大、濾波等調理電路后,送到A/D轉換器,結構框圖如圖2所示。
2 系統硬件設計
2.1 I/V轉換電路設計
為減小電阻本身的噪聲和受環境的影響,采用40歐1%精密小電阻將4~20 mA電流信號轉換為0.144~0.72 V的電壓信號。如圖3所示,電容C1用于濾除高頻噪聲。
2.2 采集電路設計
對于每一個采集對象,都要通過模數轉換器轉換為數字量,在輸入信號數目很多時,需要使用多路模擬開關輪流將多個模擬量依次接入模數轉換器進行轉換。在本設計中選用的多路模擬開關是CD4051,A/D轉換器選用了美國MASIM公司的MAX197芯片,MAX197采用逐行逼近工作方式,內部的輸入跟蹤/保持電路把模擬信號轉換為12位數字量輸出。
圖4是采集系統的一路模擬信號經過濾波電路、多路選擇開關和A/D轉換后進入微控制器的電路圖。單片機W77E58的P0口與MAX197的D0~D7相連,既用于輸入MAX197的初始化控制字,也用于讀取轉換結果數據。用W77E58單片機的P2.4作為MAX197的片選。選擇MAX197為軟件設置低功耗工作方式,所以置SHDN腳為高電平。采用內部基準電壓,所以REFADJ和REF均接低電平。W77E58單片機的P2.6腳用做判讀高、低位數據的選擇線。直接與HBEN腳相連。MAX197的腳與W77E5S8的P2.5相連,當轉換結束和準備讀輸出數據時,
變低。在電路中,AGND和DGND應相互獨立,各種電源與模擬地之間都用0.1μF電容來消除電源的紋波。
3 系統軟件設計
模擬量采集程序的設計主要分為3個階段。第1階段為A/D轉換驅動程序設計,第2階段為模擬量數字濾波程序設計,第3階段是A/D轉換結果處理的程序設計。
3.1 A/D轉換驅動程序設計
硬件電路中MAX197芯片用于采集模擬量,MAX197控制字格式如表1所示。
A2,A1,A0通過不同0,1組合選擇8路模擬量中的某一路;RNG和BIP的0,1組合確定所采集模擬量的范圍,最大為±15 V;ACQMOD決定MAX197采用內部采集模式還是外部采集模式;PD0和PD1組合決定選擇正常工作模式還是低功耗工作模式。具體程序如下:
3.2 數字濾波
為保證數據采集結果的準確性,需對模擬量A/D轉換后的結果進行數字濾波處理。在程序設計中采用了中位值平均濾波法。對每個模擬量連續采樣n次,求出n次采樣結果之和,去掉其中最大值xmax和最小值xmin,然后求剩下n-2個數平均值,以
作為該模擬量的實際值。
3. 3 采集結果修正
模擬量的參考值是實際的運行參數,所以需要把采集到的數據經過一定的變換關系修正為實際值,然后再執行狀態判斷操作。
4 結束語
筆者設計的多路數據采集系統可實現對多路信號進行實時監測,可通過串口將數據傳至計算機并顯示,此系統在應用時配上不同的傳感器及相應的處理電路,稍加改動,便可在許多領域得到廣泛應用,因而具有較高的實用性。