基于單片機的短樣測試數據采集系統的設計
1.引言
中科院合肥分院等離子所超導電工中心基于 ITER(國際熱核聚變反應堆)項目,需要對超導短樣股線(xiàn)進(jìn)行失超極限測試(強磁場(chǎng), 4.2K液氦溫度下),為此筆者設計了一套短樣測試數據采集系統,對短樣測試中超導股線(xiàn)的電流、電壓、溫度進(jìn)行采集并實(shí)時(shí)分析和保存。
在短樣測試實(shí)驗中,電流信號變化范圍 0至 1000安培,設計使用 100:1直流分流器轉換為 0至 10伏電壓信號接入采集系統。溫度信號通過(guò)電阻溫度計獲得,短樣股線(xiàn)在極低溫(4.2K)情況下進(jìn)入超導狀態(tài),普通電阻溫度計無(wú)法測量這個(gè)區間的溫度,所以選用了美國 LAKESHORE公司的 CERNOX電阻溫度計。 CERNOX電阻溫度計由 metal-oxy-nitride材料制成,具有負的電阻溫度系數,在液氦溫區靈敏度很高( 103Ω/K),受磁場(chǎng)影響小 (在 4.2K溫度 6T磁場(chǎng)下,誤差 0.2%),穩定性好。采集系統采用四線(xiàn)法測量溫度計電阻, CERNOX電阻溫度計工作電流 10微安,兩端輸出電壓為 10毫伏級,必須使用儀表放大器放大 100倍才能符合采集系統精度要求,放大器選用 INA110KP芯片。在短樣測試中至關(guān)重要的信號為短樣股線(xiàn)電壓信號,要求精確到 10納伏,市場(chǎng)上現有采集卡無(wú)法勝任,此外為了消除串擾,電壓信號需要獨立采集,所以系統選用了 Keithley-2182納伏表。下面是采集系統硬件結構圖。
2.下位機系統設計
下位機1采用8位微處理器 AT89S52,AT89S52 是一種低功耗、高性能 CMOS 8位微控制器,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。AT89S52具有以下標準配置:8K字節Flash,256字節 RAM,32位I/O口線(xiàn), 2個(gè)數據指針,三個(gè) 16位定時(shí)器 /計數器,一個(gè) 6向量2級中斷結構和全雙工串行口。A/D轉換芯片采用美信公司的 MAX197。MAX197是美信公司推出的 8通道、12位高速A/D轉換芯片。芯片采用單一電源+ 5V供電,單次轉換時(shí)間6?s,采樣速率可達 100ksps。量程±10V , ±5V ,0V~10V , 0V~5V,內部自帶 4.096V參考電壓源。它有標準的微機接口,數據總線(xiàn)的時(shí)序與絕大多數通用的微處理器兼容,全部邏輯輸入和輸出與TTL / CMOS電平兼容。
采集系統中,MAX197采用外部時(shí)鐘源, CLK引腳接單片機 ALE引腳,單片機時(shí)鐘晶振11.0592MHZ,ALE引腳輸出時(shí)鐘為晶振的六分之一約為 2MHZ,符合 MAX197要求。單片機 P0.0至P0.7引腳與MAX197的D0至D7連接,MAX197的片選信號 CS連接單片機 P2.0引腳,HBEN引腳接單片機P1.1引腳,INT引腳接單片機 P1.2引腳, MAX197芯片地址為 0X0FEFFH。選用內部參考電壓,REF引腳通過(guò) 4.7UF電容旁路接地, REFADJ引腳通過(guò) 0.01UF電容旁路接地。模擬信號輸入量程選擇為0到10V,使用內部采集方式, MAX197控制字為 0X10。測試系統使用2個(gè)通道CH0,CH1采集電流信號,溫度信號。下面是下位機 1接口電路圖
單片機采集子程序:
void scan_ch(void) { P2^0=0; // CS片選信號有效 P1^2=1; uchar i,ch_low,ch_high,control; for(i=0;i2;i++)
{control=0X10+i; //給出控制字和通道選擇 XBYTE[0X0FEFF]=control; // 寫(xiě)控制字產(chǎn)生一個(gè) WR脈沖,開(kāi)始采集 while(P1^2==1) {;} //等待采集結束信號, P1.2為0時(shí)結束 P1^1=0; //低電平獲取低8位數據 ch_low=XBYTE[0X0FEFF]; P1^1=1; ch_high=XBYTE[0X0FEFF]0X0F; //獲取高4位數據 chan_data[i]= ch_high *256+ ch_low; //將數據存入數組 }
start_ch=0; //一輪采集結束 }
設置單片機允許串口中斷,波特率 19200,數據位 8位,無(wú)奇偶校驗。當下位機 1通過(guò)串口接收到采集允許信號后,系統進(jìn)行一輪采集,并把數據通過(guò)串口發(fā)送給上位機。采集系統使用MAX232芯片進(jìn)行串口電平轉換。
單片機串口初始化:
void init_serial(void)
{//定時(shí)器1的工作方式 2 TMOD=0X20; TL1=0Xfd; //裝載計數初值 TH1=0Xfd; SCON=0X50; //采用串口工作方式 1,無(wú)奇偶校驗 PCON=0X80; //串口波特率加倍波特率 19200 IE=0X90; //開(kāi)總中斷,開(kāi)串口中斷 TR1=1; //啟動(dòng)定時(shí)器1
}
單片機串口發(fā)送數據:
void data_send(void) { uchar i; EA=0; //關(guān)中斷 for(i=0;i { //send_txt字符串由每個(gè) chan_data[i]的兩個(gè)字節轉換而來(lái) SBUF=send_txt[i]; //按字符順序發(fā)送 while(TI==0); TI=0; } EA=1; //開(kāi)中斷 } 下位機 2采用 Keithley-2182納伏表,支持單路模擬輸入信號,分辨率為 1納伏,采用IEE-488接口與計算機相連,支持 GPIB協(xié)議。GPIB是一種工程控制用協(xié)議,昀初由 HP公司提出,目前成為一種國際標準,遵守的協(xié)議為 IEEE488??梢允褂萌魏尉幊陶Z(yǔ)言如 VB、VC和 LabVIEW實(shí)現電腦對儀器的控制。系統中通過(guò) GPIB橋接卡與上位機連接。 Keithley-2182納伏表在保證精度下采集速度昀快可達每秒 18個(gè)。下面是采集系統總體流程圖。 3.上位機程序設計 上位機采用LabVIEW開(kāi)發(fā)環(huán)境,LabVIEW是新一代G語(yǔ)言編程軟件,適宜于儀器控制和數據采集,程序使用狀態(tài)機結構,分為五個(gè)狀態(tài):設置,采集,保存,分析,顯示。采用多線(xiàn)程技術(shù),三個(gè)工作線(xiàn)程:數據采集顯示線(xiàn)程,實(shí)時(shí)分析線(xiàn)程,數據保存線(xiàn)程。在三個(gè)線(xiàn)程之間采用Queen隊列傳遞數據。Queue隊列,先進(jìn)先出結構,協(xié)調三個(gè)線(xiàn)程運行,在采集中起到約束和補償的作用,避免了數據丟失和死鎖現象。下面是上位機程序結構圖。 Keithley公司提供了納伏表Keithley-2182 LabVIEW庫函數,Keithley 2182 Display.vi用于設置啟用或關(guān)閉儀器面板顯示,關(guān)閉儀器面板顯示可以提高采集速度。Keithley 2182 Measurement Mode.vi用于設定采集類(lèi)別,采集系統設置為電壓采集(DCV)。Keithley 2182 DCV.vi用于設定電壓范圍、精度、濾波和采集速度,采集系統設置為精度 7位半、中速、無(wú)濾波、通道 1。GPIB Write.vi用于向 Keithley-2182納伏表寫(xiě)入 GPIB命令,命令“:data:fresh?”:請求獲取昀新采集數據。GPIB Read.vi用于接收昀新數據??梢匝h(huán)發(fā)出 GPIB讀寫(xiě)命令,進(jìn)行數據采集。 LabVIEW串口通訊調用 VISA模塊中的庫函數。VISA Configure Serial Port:初始化指定串口通訊參數,設定波特率為 19200,8數據位,無(wú)奇偶校驗,COM1; VISA Set I/O Buffer Size:設置指定的串口的輸入輸出緩沖區大小,設定為 2048字節; 在數據保存線(xiàn)程中,為了方便以后數據察看和分析,采用 excel文件存儲。在 LabVIEW中,利用 ActiveX服務(wù)中的屬性節點(diǎn) Property Node,可以讀取或設置 ActiveX控件的屬性,調用節點(diǎn) Invoke Node可以用來(lái)調用 ActiveX控件的方法,通過(guò)使用屬性節點(diǎn)和調用節點(diǎn)來(lái)打開(kāi),讀取和寫(xiě)入 excel文件。系統設定每隔 1秒線(xiàn)程從數據隊列 1請求一組數據,這樣使得采集顯示線(xiàn)程可以獲得更多時(shí)間片用于采集,提高速度。 在實(shí)時(shí)分析線(xiàn)程中,線(xiàn)程每隔 1秒從數據隊列 2請求一組數據,插入繪圖數組中,利用LabVIEW的繪圖函數繪制趨勢圖。設置 x軸為通電電流,y軸為短樣股線(xiàn)電壓。下面是采集系統運行界面圖。 4. 測試與總結 經(jīng)過(guò)測試,采集系統速度可以穩定達到每秒每通道采樣 17個(gè),采集精度和速度符合要求,可以完整捕捉到失超臨界點(diǎn)和失超曲線(xiàn);采集系統硬件電路簡(jiǎn)單,成本低廉;軟件界面直觀(guān),智能化程度高,程序可讀性較 VC代碼強,適合非計算機專(zhuān)業(yè)工程人員使用。采集系統擴展性很好,如果有需要可以采集更多路信號。 創(chuàng )新點(diǎn):采用 AT89S52單片機和 MAX197 A/D轉換芯片,替代 PCI采集卡,降低了成本,簡(jiǎn)化了系統設計,提高了可維護性,同時(shí)也達到了短樣測試的數據要求;采用便攜式 Keithley-2182納伏表使實(shí)驗室獲得了高精度采集的能力;軟件設計方面采用 LabVIEW和 Queen技術(shù)保證了易用性和穩定性。
評論