文档介绍:该【电网谐波测量 】是由【布罗奇迹】上传分享,文档一共【48】页,该文档可以免费在线阅读,需要了解更多关于【电网谐波测量 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。电网谐波测量
1绪论
随着的提高,电力电子产品广泛地应用于工业控制领域,用户对电能质量的要求也越来越高,其中最为突出的是电压质量和谐波的问题,因此,如何提高电压质量、治理谐波就成为输配电技术中最为迫切的问题之一。所以,面对我国目前电网结构薄弱和输配电技术普遍存在的技术手段的落后、自动化水平低的现状,针对电压质量和谐波问题,研究电网谐波治理问题和无功补偿新技术及新装备,具有十分重要的理论和现实意义[3]。
“谐波”这一名词起源于声学,在声学中谐波表示一根弦或一个空气柱以基波频率的倍数频率振动。电气学中所谓电网谐波,就是电网正弦电压波形畸变后,其波形可以按傅立叶级数进行分解,除了基波(50HZ)之外,还有一系列频率为基波频率整数倍的正(余)弦波,这些正(余)弦波称之为谐波。正是由于这些谐波注入了电网,就使得电网电压波形畸变[14]。
电网谐波的危害主要有以下几点:
1、相同频率的谐波电压余谐波电流要产生同此谐波的有功功率与无功功率,从而降低电网电压,浪费电网容量。
2、高次谐波能使电容器出现过电流与过负荷,温度增高,寿命减少,甚至出现发热、鼓肚、击穿或爆炸事故。同时在电压已经畸变的电网中,电容器的投入,还可能使电网的谐波加剧(谐波放大现象)。
3、谐波往往引起继电保护不工作或误动作,从而造成设备与系统的事故,尤其是半导体继电保护与整流型继电保护更为严重。
4、谐波能增大仪表的计量误差,干扰通讯网络的正常工作。
5、电机中有谐波电流,且频率接近某个零件的固有频率时,使电机产生机械振动并发出很大的噪声。
6、谐波对人体有影响。从人体生理学来看,人体细胞在受到刺激兴奋时,会在细胞膜静息电位基础上发生快速电波动或可逆翻转。其频率如果与谐波频率相接近,电网谐波的磁辐射就会直接影响人的脑磁场和心磁场。
(1)对容量在100kVA以上的整流装置与非线性用电设备,必须就地增设滤波装置,吸收高次谐波。
(2)具有整流元件的设备,虽是小型用电器,也要增加整流相数与脉冲数,或把晶闸管移相触发改为过零触发,或者增设滤波装置,做到尽可能减少谐波。例如有些厂家生产的晶闸管调光台灯就增设了滤波原件。虽然成本有所增加,但能抑制谐波对电视机等设备的干扰,应受到推广。
(3)制造电磁感应式设备的厂家,要采用高质量的电磁材料,也可适当降低磁密。对于劣质元件的电磁设备要限制出售使用。
(4)对于电容器组等大容量的设备,应在回路内串电抗器或增设限流装置,抑制高次谐波。
(5)合理选择供电电压,尽量保持三相平衡。对能产生谐波的大容量设备还可采用较高电压供电,以减少系统的阻抗,从而减少谐波引起的网损。
(6)在产品的设计上还可采用干扰频率转嫁措施。如在变压器降压整流稳压的设备中,采用开关电源的逆变技术,就能大大降低低频段的污染,而转嫁到150kHz以上频率的污染,而这种较高频率的谐波容易被抑制。
总之,面对日趋严重的电网谐波污染,必须引起高度重视,这就需要发供电部门、用户及电气设备的制造厂商都从大局出发,共同努力,清扫和维护电网的“公共卫生”。同时只有这样,才能有利于各行各业的生产发展,才能有利于人民生活水平的不断提高。
2课题分析
随着电力电子技术的迅速发展,各种变频器、变流器、开关电源和电抗器的应用日益增多,电网随之产生的谐波污染也日益严重,影响了电力系统的安全运行及线路周围的电磁环境,因此电网谐波测量成为热门研究课题。
将220V的交流电压通过电压采样环节,得到模拟量电压,将得到的模拟量电压接到USB2002采样卡模拟输入通道,接着由采样卡的采样环节变换成离散的数字量,然后运用傅立叶变换作谱分析,由于栅栏效应,谱线位置与分析点可能不重合,可采用具有实谱特性的窗函数对信号进行加窗处理,然后对信号及其时移连续作两次
FFT分析(实为一次复时域信号分析),则在窗谱的主瓣内将含有若干个由窗泄漏造成的相位相同的谱分析值,据此可以判定这些分析值由同一条真实谱线引起。继而可精确求出诸分立谱线的频率、幅度,然后将计算获得的数据显示在计算机屏幕上。
本课题是从电网中采集数据然后运用DFT来分析电网中存在的谐波。根据课题的需要可分成两大块,一块是数据采集,一块是数据处理。在数据采集模块里包括数据的采集和保存,本设计采用北京阿尔泰科贸有限公司生产的USB2002型号的采集卡进行采集。在数据处理模块中将采用DFT来进行数据处理从而得到谱线的幅度和频率,进而求出纹波系数。由于要用到编程来解决数据的采集、存盘和处理,,通过调用MATLAB引擎的方法处理数据,以实现本课题的要求。
3数据采集
USB又称之为通用串行总线,它将计算机和外设连接在一起,能进行数字图象处理,同时为数字化设计提供了许多创造空间。
课题中我们所用的采集卡型号是USB2002。它是USB总线兼容的数据采集板,可经过USB电缆接入计算机,构成实验室、产品质量检验中心、野外测控、医疗设备等领域的数据采集、波形分析和处理系统,也可构成工业生产过程控制的系统。而且它具有体积小,即插即用等特点,因此是便捷式系统用户的最佳选择。,它的传输速度最高达到480MBit。同时本卡的使用是由软硬件共同完成的。
1、模拟信号输入部分
模拟通道输入数:32路单端/16路双端模拟信号输入,支持通道扫描及伪同时采集(同步采集)扫描模式(注:伪同步模式:即模拟同步采集模式,采样被定时器或外部时钟启动后,USB2002以400KHZ的最大速度对用户设置的一组通道采样,结束后等待下一次启动,如此循环采样)。
(1)模拟电压输入范围:±5V,±10V(AD7899-1)
(2)模拟输入阻抗:100MΩ
(3)模拟输入共模电压范围:>±2V
(4)放大器建立时间:2μS
2、A/D转换电路部分
(1)A/D分辨率:14Bit(16384)
(2)非线性误差:±1LSB(最大)
(3)转换时间:
(4)系统测量精度(满量程):%
(5)采样速度:400KHZ
3、应用
数据采集卡的主要应用在以下几个方面:野外采集、信号采集和医疗设备
现在由于在实验室操作,为了安全问题,我们先将电网220V的电压通过变压器降压,然后再用电阻分压(当然使用了变压器会对我们要处理的电网谐波有一定的影响)。将电压采样电路和数据采集卡连好后,我们便将电源打开,接着打开我们要运行的程序。点击程序运行按钮,系统自动弹出一个框,在这个框中,我们进行一些参数的设置,参数设置完后我们便开始数据采集,采集的数据将在左半边出现,而图形以正弦波的形式在右半边出现。采集结束后点击存盘按钮,数据将存入相应的盘中。在操作中我们发现如果使用单通道输入会有一些干扰,而使用双通道输入则可以抑制一些干扰。
4数据处理
数据处理就是对采集到的信号进行分析,分析的步骤有以下几方面:首先取两组相差为一个采样周期的两组数据,然后对数据加布莱克曼-哈里斯窗,接着对数据作DFT变换,最后用查询方法寻找真实谱线,:
++调用MATLAB
VisualC++是基于Windows平台下的一种应用程序开发环境,。,并且能够直接与系统的底层硬件交换数据。,具有容易维护、界面友好及运行速度快等许多优点。但是
,,不易掌握。因此,
VC调用MATLAB引擎
结束
开始
查找完?
查找真实谱线
作DFT变换
加窗
取两组数据
环境与MATLAB进行有效连接将会使得VC程序的开发大大简化[13]。
以下是三种VC调用MATLAB的方法,它们各具特色,在应用中要结合具体需求进行选择。第一种:,在MATLAB提供的C/C++函数库、图形库的支持下,能将绘制各种复杂图形的MATLAB程序高效的转化为C/C++代码,与单纯用VC编程实现相比大大减轻编程人员的工作量和编程难度;第二种:采用Matcom编译法进行转换更加方便,且生成的C/C++代码的可读性较好,是解决图形、图像处理问题的一种理想方法;第三种:使用MATLAB计算引擎法时,由于其工作时MATLAB后台工作,只有小部分引擎通信函数库与程序相连,因此节省了资源,
提高了应用程序的整体性能和处理效率。
MATLAB允许用户通过MATLAB引擎调用MATLAB的函数,即将MATLAB当作应用程序进行数据计算的引擎。MATLAB提供了一系列操作MATLAB引擎的API函数,通过这些API函数,用户可以充分发挥MATLAB进行矩阵计算的优势,将应用程序的计算功能交给MATLAB引擎完成,而界面部分则可以通过采用VC++来实现。这些为应用程序的实现提供了很大的灵活性。
1、API函数介绍
1)intengClose(Engine*ep);
退出MATLAB引擎。
2)intengEvalString(Engine*ep,constchar*string);
使MATLAB引擎执行字符串string中的表达式。
3)mxArray*engGetVariable(Engine*ep,constchar*name);
从MATLAB引擎工作空间中复制名字为name的变量。
4)intengGetVisible(Engine*ep,bool*value);
判断MATLAB引擎工作窗口是否可见。
5)Engine*engOpen(constchar*startcmd);
启动一个MATLAB引擎,在Windows操作环境下startcmd参数必须为NULL。
6)Engine*engOpenSingleUse(constchar*startcmd,void*dcom,int*retstatus);
启动一个只允许用户使用的MATLAB引擎,在Windows系统中startcmd和dcom参数始终为NULL,retstatus为返回engOpenSingleUse函数的执行状态。
7)intengOutputBuffer(Engine*ep,char*p,intn);
设置MATLAB引擎的输出内存,存储engEvalString函数执行字符串后的输出结果。其中n表示设置的输出内存可以存放的字符个数,如果输出结果的字符串大于n,则只存储前n个字符。
8)intengPutVariable(Engine*ep,constchar*name,constmxArray*mp);
向MATLAB引擎工作空间中写入一个MATLAB阵列变量,其中name为写入变量在MATLAB引擎工作空间中的名字。
9)intengSetVisible(Engine*ep,boolvalue);
设置MATLAB引擎工作窗口是否可见的属性,如果value=true,则MATLAB引擎窗口可见;如果value=false,则MATLAB引擎窗口不可见。
2、VisualC++
首先创建一个单文档的VisualC++,其中view类的基类选为CFormView。
添加到CMatlabenginetestView中的界面元素及其ID如下表所列。
ID
控件类型
界面元素
IDC_SrartEngine
Button
启动Engine
IDC_DrawSinc
Button
计算并绘制Sinc图象
IDC_CloseEngine
Button
关闭Engine
IDC_HIDEENGINECHECK
Checkbutton
隐藏MATLAB引擎窗口
IDC_CMDEDIT
Edit
命令输入编译框
IDC_EVALUATESTRING
Button
执行用户输入的命令
IDC_OUTPUTEDIT
Edit
MATLAB引擎结果显示编译框
Matlabenginetest通过engEvalString函数调用MATLAB引擎执行相应的命令并计算显示sinc函数曲线,通过函数engOutputBuffer将m_outbuff设为MATLAB引擎输出的结果存储的缓冲区。另外需要注意的是,由于本工程调用MATLAB引擎的API函数,。[7]
/*******************************/
#if!defined(AFX_MATLABENGINETESTVIEW_H__2BA448E9_DCB7_4CAB_8DE3_46FED317C086__INCLUDED_)
#defineAFX_MATLABENGINETESTVIEW_H__2BA448E9_DCB7_4CAB_8DE3_46FED317C086__INCLUDED_
#if_MSC_VER>1000
#pragmaonce
#endif//_MSC_VER>1000
#include""
#define_MAX_BUFF_CHAR_NUM2000
classCMatlabenginetestView:publicCFormView
{