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