前言
隨著城市化和工業化的進一步發展,越來越多的電力電子設備在電網中廣泛使用,產生了大量的電力諧波注入到電網,這種不受控的電力諧波成為電力系統的一大公害。對市電進行電力諧波分析就可以分析出其附近區域內電網工作狀況,從而為電網安全狀態提供依據。
由于市電電壓在120~380V范圍內,峰值電壓小于1000V,臺式萬用表即可方便測量,并且可以反映出大多數設備工作的電壓環境。
本文以RIGOL高精度臺式萬用表DM3068為例,利用DM3068的DCV擋的1000V量程和10kSa/s采樣速度對市電信號采集,利用USB接口上傳采集的數據,借助C語言和VISA驅動實現對電力信號的全自動采集和存儲,再借助C和Matlab的良好接口能力和Matlab的強大運算能力對數據進行分析,從而得到諧波分析結果。整個測試系統可以做到全自動運行。
電力諧波的危害
電力諧波對電力傳輸和使用都會造成很大的危害,通常表現在以下幾個方面:
①電力諧波會引起電網的諧振,對系統構成重大威脅,特別是對電容器和與之串聯的電抗器件,電網諧振常會使之燒毀。
②諧波會使公用電網中的電力設備產生附加的損耗,降低了發電、輸電及用電設備的效率。
③電力諧波會造成電力設備過熱或電力損耗,會對使用電源工作的電子設備造成干擾,導致設備工作不穩定,驗證時可能損壞設備。
動態實時的監控和測量電力網絡中的諧波,對電力安全有很重要的意義。
電力信號測量分析環境準備
硬件環境
RIGOL DM3068一臺、普通電腦一臺。硬件上只需要用USB線連接數字萬用表和電腦即可開始工作。硬件連接示意圖如圖1所示。歡迎轉載,本文來自電子發燒友(http://www.1cnz.cn?)
圖1 硬件連接示意圖
實現原理
此實驗需要數字萬用表具有高速采樣、高精度測量和寬的電壓測量范圍特性,而RIGOL DM3068正好具備以上全部性能。其中,它的最高測量速度達到了10kSa/s,直流電壓測量準確度可以達到±(讀數*0.0035%+量程*0.0005%),量程范圍為200mV~1000V。在測試環境準備完畢后,利用遠程命令對其進行設置,然后開始進行數據采集,可以方便的直接對市電信號進行多樣本采樣,同時,還可以將所采集數據傳輸到電腦進行進一步分析。
軟件環境
在http://joule.ni.com/nidu/cds/view/p/id/988/lang/en 下載并安裝Visa430full.exe,這個安裝包提供了各種VISA通信接口驅動,我們的采集程序需要借助此驅動程序通過USB接口從DM3068采集數據。安裝Visa430后,“C:WINDOWSsystem32”目錄下會有一個“visa32.dll”文件。“C:Program FilesIVI FoundationVISAWinNTlibmsc”目錄下包含了編譯時鏈接“visa32.dll”時所需的“visa32.lib”文件。在“C:Program FilesIVI FoundationVISAWinNTinclude”目錄下包含了我們所需的頭文件。可以通過設置VC 6.0的工程路徑包含上述文件,或直接將上述文件復制到程序存放的目錄即可。
安裝VC6.0以上環境,用于開發基于C/C++語言的測量控制程序。
安裝Matlab 2007以上版本,用于進行數據分析和圖形化分析結果。
利用Matlab生成FFT分析程序
數據分析直接利用Matlab進行,在Matlab中編輯好用于數據分析的源碼并寫成函數,保存編輯好的源碼為“FFT.m”文件。假設使用“F: matlab”為當前工作目錄。源代碼如下:
function FFT_Tran()
load f:matlabdata.txt
Fs = 10000; % Sampling frequency
T = 1/Fs; % Sample time
L = 5000; % Length of signal
t = (0:L-1)*T; % Time vector
NFFT = 2^nextpow2(L);
Y = fft(x,NFFT)/L ;
f= Fs/2*linspace (0,1,NFFT/2);
figure;
Py = 2*abs(Y(1:NFFT/2))
plot(f, Py)
title('FFT translation')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
end
其中“data.txt”為外部數據源文件。此數據源就是將來用C語言借助VISA驅動控制DM3068測量的數據保存為文本文件,每一個測量數據以文本方式保存為獨立的一行即可。
在Matlab交互窗口輸入命令“mbuild -setup”安裝C編譯器。如果已經安裝了VC6.0,Matlab會自動查找到此編譯器,按照提示選擇VC 6.0編譯器。
接著輸入“mcc -m f:matlabFFT.m -d f:matlab”,Matlab將利用C編譯器編譯FFT.m文件,并將編譯結果輸出到"f:matlab"目錄。編譯完成后當前工作目錄下有幾個新的文件誕生,其中應該有一個名為FFT.exe的文件。這個文件可以直接運行或被C語言程序調用執行。
電力信號測量與分析
利用VC 6.0和C語言,調用VISA驅動接口函數完成對DM3068的設置和數據采集。具體的接口函數及用法請參考隨visa430安裝的《NI-VISA HELP》文檔。數據采集與處理流程參見圖2處理流程圖。
圖2 數據采集與處理流程
進行數據集前,在DM3068 Utility按鍵的命令集菜單下,設置選擇Agilent兼容命令集,然后使用如下SCPI命令序列,通過USB口發送到DM3068即可完成設置:
CONF:VOLT:DC 1000,0.006
VOLT:DC:ZERAUTO OFF
TRIG:SOUR IMM
TRIG:DELAY 0
TRIG:COUN 1
SAMP:COUN 5000
設置完成后,使用下面一條即可命令啟動測量,并獲取測量結果。
READ?
接收到的測量結果是以文本方式返回,各個測量結果以逗號分隔,只需要將測量結果直接以字符方式輸出到data.txt文件中,以準備被Matlab生成的FFT.exe程序調用。在C程序中使用“system("F:\matlab\FFT.exe");”語句,即可直接運行之前生成的FFT.exe程序,對data.txt保存的數據進行處理,并繪制頻譜分析圖。
結論
如圖3所示軟件運行界面,如圖4所示的分析結果,利用上述方法,對某市電網絡進行分析得到的頻譜曲線,從中可以看出主要功率集中在50Hz分量上,電力網絡狀況良好。
圖3 軟件運行界面
圖4 對某市電采集分析結果
利用RIGOL DM3068的DCV擋的1000V量程和10kSa/s采樣速度對市電信號采集分析,按照采樣定律,可以有效分析出5kHz以下的信號狀況,足以滿足普通電力的監測應用。
利用C語言靈活性和Matlab強大計算能力,再結合VISA驅動和DM3068的高速、高精度測量能力以及靈活的通信接口,可以很方便地對電力網絡進行實時分析,并實時繪制分析結果,以監測電力網絡的狀況。整個系統簡單靈活,具有很大的實用價值。
評論
查看更多