資料採集電路的原理論文
資料採集電路的原理論文
在微控制器資料採集電路的設計中,做到了電路設計的最小化,即沒用任何附加邏輯器件做介面電路,實現了微控制器對AD678轉換晶片的操作。
AD678是一種高檔的、多功能的12位ADC,由於其內部自帶有采樣保持器、高精度參考電源、內部時鐘和三態緩衝資料輸出等部件,所以只需要很少的'外部元件就可以構成完整的資料採集系統,而且一次A/D轉換僅需要5ms。
在電路應用中,AD678採用同步工作方式,12位數字量輸出採用8位操作模式,即12位轉換數字量採用兩次讀取的方式,先讀取其高8位,再讀取其低4位。根據時序關係,在晶片選擇/CS=0時,轉換端/SC由高到低變化一次,即可啟動A/D轉換一次。再查詢轉換結束端/EOC,看轉換是否已經結束,若結束則使輸出使能/OE變低,輸出有效。12位數字量的讀取則要控制高位元組有效端/HBE,先讀取高位元組,再讀取低位元組。整個A/D操作大致如此,在實際開發應用中調整。
由於電路中採用AD678的雙極性輸入方式,輸入電壓範圍是-5~+5V,根據公式Vx10(V)/4096*Dx,即可計算出所測電壓Vx值的大小。式中Dx為被測直流電壓轉換後的12位數字量值。
RS232介面電路的設計
AT89S51與PC的介面電路採用晶片Max232。Max232是德州儀器公司(TI)推出的一款相容RS232標準的晶片。該器件包含2個驅動器、2個接收器和1個電壓發生器電路提供TIA/EIA-232-F電平。Max232晶片起電平轉換的功能,使微控制器的TTL電平與PC的RS232電平達到匹配。
串列埠通訊的RS232介面採用9針串列埠DB9,串列埠傳輸資料只要有接收資料針腳和傳送針腳就能實現:同一個串列埠的接收腳和傳送腳直接用線相連,兩個串列埠相連或一個串列埠和多個串列埠相連。在實驗中,用定時器T1作波特率發生器,其計數初值X按以下公式計算:
序列通訊波特率設定為1200b/s,而SMOD=1,fosc=6MHz,計算得到計數初值X=0f3H。在程式設計中將其裝入TL1和THl中即可。
為了便於觀察,當每次測量電壓採集資料時,微控制器有埠輸出時,用發光二極體LED指示。
軟體程式設計
軟體程式主要包括:下位機資料採集程式、上位機視覺化介面程式、微控制器與PC串列埠通訊程式。微控制器採用C51語言程式設計,上位機的操作顯示介面採用VC++6.0進行視覺化程式設計。在串列埠通訊除錯過程中,藉助“串列埠除錯助手”工具,有效利用這個工具為整個系統提高效率。微控制器程式設計
下位機微控制器的資料採集通訊主程式流程如圖2所示、中斷子程式如圖3所示、採集子程式如圖4所示。微控制器的程式設計模擬除錯藉助WAVE2000模擬器,本系統有整合的ISP模擬除錯環境。
在採集程式中,微控制器的程式設計操作要完全符合AD678的時序規範要求,在實際開發中,要不斷加以除錯。最後將下位機除錯成功而生成的.bin檔案固化到AT89S51的Flash單元中。
人機介面程式設計
開啟VC++6.0,建立一個基於對話方塊的MFC應用程式,串列埠通訊採用MSComm控制元件來實現。其他操作此處不贅述,程式設計實現一個良好的人機介面。數字直流電壓表的操作介面如圖5所示。執行VC++6.0程式設計實現的Windows程式,整個樣機功能得以實現。
功能結果
根據上面所述工作原理及實施方案,在實踐中很好地實現了整個樣機的功能,各項指標達到了預先的設計要求。電路工作穩定,每次測量均伴有LED發光指示,視覺化介面顯示也正常。
AD678轉換精度是12位,它的解析度為1/4096。這為整機系統的高精度提供了保障。為了提高測量精度,運用了AD678自帶的校準電路,這樣使其A/D轉換精度更高。在實際測量中,整機測量精度達到了0.8%。