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

测试测量实验

7人已加入

描述

  前言

  随着城市化和工业化的进一步发展,越来越多的电力电子设备在电网中广泛使用,产生了大量的电力谐波注入到电网,这种不受控的电力谐波成为电力系统的一大公害。对市电进行电力谐波分析就可以分析出其附近区域内电网工作状况,从而为电网安全状态提供依据。

  由于市电电压在120~380V范围内,峰值电压小于1000V,台式万用表即可方便测量,并且可以反映出大多数设备工作的电压环境。

  本文以RIGOL高精度台式万用表DM3068为例,利用DM3068的DCV挡的1000V量程和10kSa/s采样速度对市电信号采集,利用USB接口上传采集的数据,借助C语言和VISA驱动实现对电力信号的全自动采集和存储,再借助C和Matlab的良好接口能力和Matlab的强大运算能力对数据进行分析,从而得到谐波分析结果。整个测试系统可以做到全自动运行。

  电力谐波的危害

  电力谐波对电力传输和使用都会造成很大的危害,通常表现在以下几个方面:

  ①电力谐波会引起电网的谐振,对系统构成重大威胁,特别是对电容器和与之串联的电抗器件,电网谐振常会使之烧毁。

  ②谐波会使公用电网中的电力设备产生附加的损耗,降低了发电、输电及用电设备的效率。

  ③电力谐波会造成电力设备过热或电力损耗,会对使用电源工作的电子设备造成干扰,导致设备工作不稳定,验证时可能损坏设备。

  动态实时的监控和测量电力网络中的谐波,对电力安全有很重要的意义。

  电力信号测量分析环境准备

  硬件环境

  RIGOL DM3068一台、普通电脑一台。硬件上只需要用USB线连接数字万用表和电脑即可开始工作。硬件连接示意图如图1所示。欢迎转载,本文来自电子发烧友(http://www.elecfans.com )

  

数字万用表

  图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的高速、高精度测量能力以及灵活的通信接口,可以很方便地对电力网络进行实时分析,并实时绘制分析结果,以监测电力网络的状况。整个系统简单灵活,具有很大的实用价值。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分