異步電機(jī)空載試驗(yàn)的虛擬儀器采集處理系統(tǒng)
摘要:本文介紹了虛擬儀器技術(shù)及其開發(fā)語言LabWindows/CVI,并結(jié)合自己開發(fā)的異步電機(jī)空載試驗(yàn)采集處理系統(tǒng)討論了虛擬儀器在電機(jī)試驗(yàn)領(lǐng)域的應(yīng)用。
關(guān)鍵詞: 虛擬儀器 LabWindows/CVI 空載試驗(yàn) 數(shù)據(jù)采集與處理
前言
虛擬儀器是全新概念的最新一代測(cè)量?jī)x器,它將傳統(tǒng)儀器由硬件電路實(shí)現(xiàn)的數(shù)據(jù)分析與顯示功能改由功能強(qiáng)大的計(jì)算機(jī)及其顯示器來執(zhí)行,它是按照測(cè)量原理采用適當(dāng)?shù)男盘?hào)分析技術(shù)和處理技術(shù)編制某種測(cè)量功能的軟件就構(gòu)成了該種功能的測(cè)試儀器。因此,如果我們?cè)陔姍C(jī)型式試驗(yàn)中引入虛擬儀器,利用計(jì)算機(jī)強(qiáng)大的處理功能,開發(fā)出完全替代真實(shí)測(cè)量工具的虛擬儀器對(duì)試驗(yàn)進(jìn)行自動(dòng)采集并實(shí)現(xiàn)試驗(yàn)的自動(dòng)處理和生成報(bào)告??梢钥闯觯摂M儀器這一全新測(cè)量?jī)x器在傳統(tǒng)的電機(jī)試驗(yàn)應(yīng)用上將帶來重大影響。
虛擬儀器VI及其編程語言LabWindows/CVI
虛擬儀器(Virtual Instrument,簡(jiǎn)稱VI)是現(xiàn)代計(jì)算機(jī)技術(shù)和儀器技術(shù)深層次的結(jié)合。隨著計(jì)算機(jī)技術(shù)和儀器技術(shù)的發(fā)展,由硬件電路實(shí)現(xiàn)的信號(hào)處理功能正逐步由軟件替代。虛擬儀器是以軟件為核心,由計(jì)算機(jī)及必要的硬件組建起來的測(cè)試系統(tǒng)或儀器系統(tǒng),在計(jì)算機(jī)上對(duì)虛擬儀器面板的操作與現(xiàn)實(shí)中的儀器面板操作一樣。在虛擬儀器中,用戶可以自己設(shè)計(jì)或定義新的理論和新的算法來適應(yīng)不同的測(cè)量需求,儀器的功能更加靈活、強(qiáng)大,所以有“軟件就是儀器”的說法。因此,虛擬儀器是計(jì)算機(jī)硬件資源、儀器與測(cè)控系統(tǒng)硬件資源和虛擬儀器軟件資源的有效結(jié)合。
虛擬儀器的實(shí)質(zhì)是利用計(jì)算機(jī)顯示器模擬傳統(tǒng)儀器的控制面板,以多種形式輸出檢測(cè)結(jié)果,利用計(jì)算機(jī)軟件實(shí)現(xiàn)信號(hào)數(shù)據(jù)的運(yùn)算、分析和處理,利用I/O接口設(shè)備完成信號(hào)的采集、測(cè)量和調(diào)理,從而完成各種測(cè)試功能的一種計(jì)算機(jī)儀器系統(tǒng)。操作者使用鼠標(biāo)或鍵盤操作虛擬面板就如同使用一臺(tái)專用測(cè)量?jī)x器。
虛擬儀器的硬件包括計(jì)算機(jī)和I/O接口設(shè)備。計(jì)算機(jī)可以是一臺(tái)PC機(jī)或者工作站,它是硬件平臺(tái)的核心。I/O接口設(shè)備主要完成被測(cè)輸入信號(hào)的采集、放大、模/數(shù)轉(zhuǎn)換。按照總線的不同可以分為PC總線的DAQ(數(shù)據(jù)采集卡/板) 、GPIB總線儀器和VXI總線儀器等等。
虛擬儀器的編程語言有多種。LabWindows/CVI是其中最優(yōu)秀的語言之一,它是美國(guó)NI(National Instruments)公司開發(fā)的32位面向計(jì)算機(jī)測(cè)控領(lǐng)域的軟件開發(fā)平臺(tái)。它以ANSI為核心,將功能強(qiáng)大的、使用靈活的C語言平臺(tái)與數(shù)據(jù)采集、分析和表達(dá)等測(cè)控專業(yè)工具有機(jī)結(jié)合,它支持事件驅(qū)動(dòng)與回調(diào)函數(shù)編程技術(shù),它的集成化開發(fā)平臺(tái)、交互式編程方法、豐富的功能面板和庫(kù)函數(shù)大大增強(qiáng)了C語言的功能,為熟悉C的開發(fā)人員開發(fā)檢測(cè)、數(shù)據(jù)采集、過程監(jiān)控等系統(tǒng)提供了一個(gè)理想的軟件開發(fā)環(huán)境。
可以看出,虛擬儀器這一適合測(cè)控領(lǐng)域的開發(fā)平臺(tái)完全適合于電機(jī)試驗(yàn)領(lǐng)域。引入虛擬儀器將改善電機(jī)試驗(yàn)測(cè)量的適時(shí)性要求,提高儀器儀表的精度并可以自己開發(fā)特殊要求的儀器,利用計(jì)算機(jī)的處理功能可以實(shí)現(xiàn)試驗(yàn)后數(shù)據(jù)的自動(dòng)處理和報(bào)表,當(dāng)然也可以實(shí)現(xiàn)試驗(yàn)數(shù)據(jù)的數(shù)據(jù)庫(kù)管理。
虛擬儀器的異步機(jī)空載試驗(yàn)采集處理系統(tǒng)
虛擬儀器的電機(jī)試驗(yàn)應(yīng)用程序結(jié)構(gòu)
以LabWindows/CVI開發(fā)平臺(tái)設(shè)計(jì)的基于PC-DAQ的虛擬儀器測(cè)試系統(tǒng)為例,其在電機(jī)試驗(yàn)領(lǐng)域應(yīng)用的系統(tǒng)結(jié)果如圖所示:
數(shù)據(jù)采集卡 | 設(shè)備驅(qū)動(dòng) | 虛擬儀器面板 |
應(yīng)用程序 | ||
LabWindows/CVI函數(shù) | ||
LabWindows/CVI平臺(tái) | ||
計(jì)算機(jī) |
由傳感器接受被測(cè)信號(hào)轉(zhuǎn)換為電量信號(hào),送入信號(hào)處理電路進(jìn)行整形、轉(zhuǎn)換和濾波處理,變成標(biāo)準(zhǔn)信號(hào),數(shù)據(jù)采集卡采集信號(hào)處理電路的電壓信號(hào),轉(zhuǎn)換為計(jì)算機(jī)能處理的數(shù)字信號(hào),經(jīng)過設(shè)備驅(qū)動(dòng)程序數(shù)字信號(hào)送入計(jì)算機(jī)在LabWindows/CVI平臺(tái)下調(diào)用信號(hào)處理函數(shù),編寫程序和設(shè)計(jì)虛擬儀器面板,形成不同針對(duì)試驗(yàn)的測(cè)量處理系統(tǒng)。
異步機(jī)空載采集處理系統(tǒng)
異步電機(jī)空載試驗(yàn)計(jì)算機(jī)處理的數(shù)學(xué)模型
異步電機(jī)的空載試驗(yàn)是在被試電機(jī)空載運(yùn)行時(shí)測(cè)量三相電壓、三相電流、功率,作出電壓-電流、電壓平方-空載損耗、電壓-功率的關(guān)系曲線, 在電壓-電流曲線上我們查出額定電壓的空載電流值,在電壓-功率的曲線上我們查出額定電壓的空載損耗值,結(jié)合電壓平方-空載損耗曲線分離出鐵耗和風(fēng)摩耗值。
因此,曲線擬合的表達(dá)式是決定我們處理空載損耗的關(guān)鍵。參考電機(jī)學(xué)相關(guān)書籍和實(shí)際經(jīng)驗(yàn),我們知道電壓-電流、電壓平方-空載損耗是呈直線-三次趨向關(guān)系,而電壓-功率是高階曲線函數(shù)關(guān)系。很顯然,我們只需要擬合出 個(gè)試驗(yàn)數(shù)據(jù)點(diǎn)的這三條曲線的準(zhǔn)確表達(dá)式來,上述問題就迎刃而解。對(duì)于電壓-功率的高階曲線函數(shù)關(guān)系,LabWindows/CVI函數(shù)庫(kù)提供了 個(gè)數(shù)據(jù)點(diǎn)的高階曲線擬合函數(shù)PolyFit,只需要確定或選擇階數(shù)并代入有關(guān)數(shù)據(jù)即可。因此,我們需要解決的是直線-三次擬合曲線表達(dá)式的求取。
設(shè)分段函數(shù)
曲線的連接點(diǎn)在 處。
顯然,上述曲線應(yīng)滿足以下條件:
(1) 在 處,倆式表達(dá)式值相等,有
(2) 在 處,倆式斜率相等,有
(3) 曲線要光滑,則斜率的變化率相等,即二階倒數(shù)值相等,有
根據(jù)上述關(guān)系,我們可以消去 , 和 ,得出函數(shù)與 , , 的關(guān)系表達(dá)式。
并代入擬合曲線方程:
令每一觀測(cè)值對(duì)擬合曲線的偏差為 則有
則
我們假設(shè)共有個(gè)觀測(cè)數(shù)組, , ,其中在 時(shí)有 個(gè)觀測(cè)值,在
時(shí)有 個(gè)觀測(cè)值,則 ;
則偏差平方和為:
要使Q最小,則 ;
則可求出 ,有:
其中, ,
對(duì)于 ,可以選擇 為區(qū)間 的最小值,求取直線-三次曲線,求得偏差平方和Q值,再以步長(zhǎng)
變化計(jì)算不同連接點(diǎn)的Q值,取Q值最小的 即可。
對(duì)于空載試驗(yàn)電壓平方-空載損耗的直線-三次曲線來說,顯然 的值就是風(fēng)摩耗。
實(shí)際上,由于電機(jī)磁路可能飽和的關(guān)系,直線-三次擬和有可能不能更為客觀真實(shí)的反映上述兩條曲線的關(guān)系時(shí),我們也提供高階擬和函數(shù)PolyFit來替代。
異步機(jī)空載試驗(yàn)的虛擬儀器系統(tǒng)
本系統(tǒng)的軟件是在LabWindows/CVI開發(fā)平臺(tái)下實(shí)現(xiàn)。
數(shù)據(jù)采集是采用DAQ數(shù)據(jù)采集卡,采集通道通過daq::s!(i:j)格式確定,下面的程序?yàn)椴杉绦虻牟糠郑?/P>
char DaqStr34A[20] = "daq::1!(0:5)";
char DaqStr34B[20] = "daq::1!(6:11)";
SetCtrlAttribute (hMainPanel, PANEL_ReadData, ATTR_DIMMED, 1);
strcpy(channelStringA, DaqStr34A); //設(shè)置采樣通道
strcpy(channelStringB, DaqStr34B);
GetCtrlVal (hMainPanel, PANEL_numCyc, numCyc);
numChannels=6; numScans=64;
rate=50*numScans;
DataCount= numScans * numCyc;
iTestedWaveform = (double *) malloc (DataCount * numChannels * sizeof (double));
iLoadWaveform = (double *) malloc (DataCount * numChannels * sizeof (double));
err = nidaqAIScanOp (channelStringA, numScans * numCyc, rate, upper,
lower, kNidaqGroupByChannel, actualRate, iTestedWaveform);
err=nidaqAIScanOp (channelStringB, numScans * numCyc, rate, upper, lower,
kNidaqGroupByChannel, actualRate, iLoadWaveform);
采集的每一點(diǎn)的電壓電流每相值用Labwindows/CVI庫(kù)自帶的RMS函數(shù)進(jìn)行有效值計(jì)算,再通過Mean函數(shù)計(jì)算出平均值,求取每一相的功率值。從上述儀表中可以將試驗(yàn)采集的數(shù)據(jù)記錄保存。
Kp = 0;
for (index = 0; index numChannels*numCyc; index++){
Copy1D (iTestedWaveform[Kp*numScans], numScans, Upek[index]);
RMS ( Upek[index], numScans, Up[index] ); //有效值計(jì)算
++Kp; //Upek:試驗(yàn)原始數(shù)據(jù)(行:numchannels*numcyc,列:numScans)
} //Up:numChannels*numCyc個(gè)數(shù)據(jù),對(duì)應(yīng)于原始數(shù)據(jù)的RMS
MyVal = numCyc;
Kp = 0;
for (index = 0; index numChannels; index++){
Mean (Up[Kp*numCyc], numCyc, aUIrms[index]);
//aUIrms[0]-[5]:各Channel中各Cycle的RMS值的平均值
aUIrms[index] = aUIrms[index]*PTCT[index]; //乘以預(yù)設(shè)比例
SetCtrlVal (hTestedMotor, METERPANEL_NumU1 + index, aUIrms[index]/mtDisplay[0][index].iRat);
++Kp;} //六個(gè)電壓電流值設(shè)定
}
Mean (aUIrms[0], 3, Uav); //電壓平均值
Mean (aUIrms[3], 3, Iav); //電流平均值
SetCtrlVal ( hTestedMotor, METERPANEL_VOLTAGEMETER, Uav );
SetCtrlVal ( hTestedMotor, METERPANEL_CurrentMeter, Iav );
MyVal = numScans;
for (kk = 0; kk 3*numCyc; kk++) //功率計(jì)算
DotProduct (Upek[kk], Upek[kk+3*numCyc], numScans, PP[kk]);
Kp = 0;
for (index = 0; index numChannels/2; index++){
Mean ( PP[Kp*numCyc], numCyc, aUIrms[6+index]);
//aUIrms[6]-[9]:三個(gè)周期功率平均
aUIrms[6+index] = PTCT[index]*PTCT[index+3]*aUIrms[6+index]/MyVal; //各點(diǎn)功率
SetCtrlVal (hTestedMotor,METERPANEL_NumP1+index, aUIrms[6+index]);
++Kp;
}
通過編寫處理函數(shù)就可以實(shí)現(xiàn)對(duì)于試驗(yàn)數(shù)據(jù)的自動(dòng)處理。根據(jù)空載試驗(yàn)處理的數(shù)學(xué)模型,我們編寫直線-三次擬合函數(shù)
void linefit13(int datanum, double x[], double y[], double *p, double eps)
對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行曲線擬合,計(jì)算出給最后結(jié)果數(shù)據(jù)。曲線的繪制我們用庫(kù)函數(shù)PlotXY輸出顯示在控件Graph中。如圖,最后的結(jié)果數(shù)據(jù)同手工計(jì)算的結(jié)果數(shù)據(jù)定子電流103.2A,空載損耗93.424kW,鐵耗37.682kW,風(fēng)摩耗48.165kW相比還是比較精確的。
結(jié)束語
可以看出,將虛擬儀器引入電機(jī)的型式試驗(yàn)將給試驗(yàn)帶來重要影響。利用傳感器測(cè)量克服了傳統(tǒng)測(cè)量方法的不便,減小了傳統(tǒng)測(cè)量?jī)x器的精度對(duì)于試驗(yàn)的影響,試驗(yàn)的自動(dòng)采集使得試驗(yàn)采集的數(shù)據(jù)更具實(shí)時(shí)性,試驗(yàn)的自動(dòng)處理也減小了人的勞動(dòng)量、提高了效率和準(zhǔn)確性,我們還可以利用計(jì)算機(jī)進(jìn)行報(bào)表的自動(dòng)生成和試驗(yàn)數(shù)據(jù)的數(shù)據(jù)庫(kù)管理。虛擬儀器大大提高了電機(jī)型式試驗(yàn)的自動(dòng)化過程。
參考文獻(xiàn)
1.《基于LabWindows/CVI的虛擬儀器設(shè)計(jì)》 劉君華主編,電子工業(yè)出版社,2003年
2.《虛擬儀器編程語言LabWindows/CVI教程》 劉君華主編,電子工業(yè)出版社,2001年
3.《電機(jī)測(cè)試技術(shù)》 何秀偉 ,機(jī)械工業(yè)出版社,1995年
評(píng)論