新闻中心

EEPW首页>电源与新能源>设计应用> 高端数字万用表在市电谐波分析中的应用

高端数字万用表在市电谐波分析中的应用

作者: 时间:2010-10-23 来源:网络 收藏

实现原理
此实验需要具有高速采样、高精度测量和宽的电压测量范围特性,而RIGOL DM3068正好具备以上全部性能。其中,它的最高测量速度达到了10kSa/s,直流电压测量准确度可以达到±(读数*0.0035%+量程*0.0005%),量程范围为200mV~1000V。在测试环境准备完毕后,利用远程命令对其进行设置,然后开始进行数据采集,可以方便的直接对市电信号进行多样本采样,同时,还可以将所采集数据传输到电脑进行进一步

本文引用地址://m.amcfsurvey.com/article/180370.htm


软件环境
在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 数据采集与处理流程

晶振相关文章:晶振的作用—有用就是任性




评论


相关推荐

技术专区

关闭