APP下载

交流电压谐波检测系统的软件实现方法

2016-10-21涂雪芹屈紫懿熊隽迪

科技创新与应用 2016年7期
关键词:单片机

涂雪芹 屈紫懿 熊隽迪

摘 要:为进一步提高电力系统中的谐波电压的测量精确度,提出了一种针对电力系统中的电压谐波检测系统的软件实现方法。以采集的数据为检测对象,采用FFT算法进行谐波分析,得到电压中的各次谐波值,并用液晶显示。文章重点介绍了系统软件设计方法,同时对系统的硬件设计做了简要描述,最后通过实验验证了系统设计的有效性。该系统具有较为精确的谐波分析功能,具有一定的实用价值。

关键词:单片机;傅里叶变换;谐波检测

引言

目前,电力系统的谐波源已出现类型多,分布广等特点。电力系统中的谐波电压来自大部分非线性用电设备或者外线路,如不加以实时有效的检测并加以控制将会给谐波治理造成困难[1]。因此进行谐波治理之前,必须了解电网中谐波的次数及其含量,即必须进行谐波的测试。近年来国内外学者对此做了大量研究。常规的谐波测量方法有:模拟带通或带阻滤波器测量谐波[2],基于傅里叶变换的谐波测量[3],基于瞬时无功功率的谐波测量[4]。本设计是以单片机为核心,采用傅里叶变换并从软件角度来实现电压的谐波检测,谐波次数可达到16次,并采用液晶显示,可直接应用于电力系统电网电压谐波分析,有较高的应用价值。

1 电压谐波算法分析

傅立叶变换[5]是目前谐波测量仪器中广泛应用的基本理论依据,它是当今应用最多也是最广泛的一种谐波测量方法。它由离散傅立叶变换过渡到快速傅立叶变换的基本原理构成。使用此方法测量谐波,精度较高,功能较多,使用方便。文章对谐波分量的计算就是采用傅立叶算法。

傅立叶变换是由离散傅立叶变换过渡到快速傅立叶变换的基本原理构成。FFT算法的基本原理是把长序列的DFT逐次分解为较短序列的DFT。按照抽取方式的不同可分为DIT-FFT(按时间抽取)和DIF-FFT(按频率抽取)算法。本系统采用了时间抽取FFT算法,即基2-FFT变换。其主要原理参考文献[6,7]。

2 电压谐波检测系统组成

该系统主要由电压采样电路、A/D转换电路、锁相倍频电路、控制电路、Max232电路等组成,系统总体结构图如图1所示。

图1系统总体结构图

其工作原理就是通过电流型电压互感器产生电流值,再通过电压转换电路把电流信号转换为电压信号,然后把信号送AD574,完成A/D转换,采样数据由单片机读取并对电压数据保存。当采完一周期即32个采样值后,通过FFT算法就能求到谐波值,谐波值得到后根据按键进行显示。本设计的数据采样采用同步采样方式实现,其同步采样信号是电压信号经过变换电路将交流信号变换为方波,方波经锁相倍频电路倍频32倍,产生同步采样信号。

3 主控电路实现

控制系统是系统的控制和数据处理的核心,如今作为控制核心的芯片种类很多,如MCS-51单片机、AVR等等。设计中使用的是PHILIPS公司的P89V51RD,其最小系统电路如图2。

图2中包括了晶振电路,复位电路,按键,还有串口电路。时钟电路的晶振频率采用20MHz。单片机的复位电路采用人工复位方式,当按下开关时,就在RST端出现一段时间的高电平,使单片机复位。

其他硬件电路设计,包括电压采样电路、波形变换电路、锁相倍频电路、AD转换及数据显示电路等已在前期的工作中已成功实现,由于篇幅有限不再阐述。

4 系统软件实现

考虑到FFT算法分析计算量较大,本次设计就选用C语言作为程序的编程语言。软件实现的主要工作是数据采集及处理:当采集32点电压值后,然后进行数据的计算。当有按键按下时,根据按键的功能选择要显示的数据。

针对P89V51片内数据存储器资源有限的情况,作者对内存RAM的具体分配方案为:采样的数据和显示的数据放在RAM区域,因为对单片机而言内部RAM的存取速度为外部RAM的两倍,这样单片机的运算能力可以得到最充分的利用,系统软件进行运算所需的时间可以大大缩短。

4.1 系统主程序设计

本软件设计主要是完成电压采样数据的读取与存储,并对这组数据做FFT分析,得到谐波值,再根据按键进行数据显示。初始化包括:显示的初始化(還有系统的显示主界面设计),采样数据存储的初始化,选择好用哪个中断,还有采样的记数和键值的初始化等等。开中断主要是得到采样值并保存,本设计同步采样32个点,所以就要等待32个中断的之后才能得到32个采样值,这时应该把中断关上,做程序的其他功能。采样到32个数值之后,要把这32个值进行倒序,才能对它们进行谐波分析。得到了数据各个谐波之后,就要对这些数据进行显示了,由于一个显示界面只能显示6个数据,16个谐波数据要分页显示,设计中,用了两个按键对数据的显示进行上下翻控制,主程序流程图如图3所示。

4.2 中断服务程序

中断服务程序主要是把数据从A/D读到单片机,在此次系统中每周期采样32个点,所以中断程序的功能就是存储32个采样点,采样点存储完成后就关闭中断,返回执行主程序。中断服务程序流程图如图4所示。

4.3 采样值读入与保存程序

考虑精度要求,选用12位A/D574来做数据采样和转换工作,其时序图如图5所示。

图5中,当CE=1,CS=0,R/C=0时,AD574变换被启动。转换长度则由A0输入控制:当A0=0时,实现12位转换,变换数据从DB0~DB11输出,当A0=1时,实现8位转换。转换器的数据由DB4~DB11输出,引脚是用来控制输出长度选择的输入端。当12/8=1时,在CE=1,CS=0,R/C=1时,12位数据输出端DB0~DB11同时输出; 当12/8=0时,12位数据分两次输出:A0=1,输出低4位;A0=0,输出高8位。低4位DB0~DB3被忽略。A/D574的12个数据口与单片机的P1口连接,由于一次只能传送8位的数据,所以要分两次传送。这里通过P2.7口控制,当P2.7为0时,传送的是高8位数据,当P2.7为1时,传送的是低4位数据。所以接收到的2次数据要进行组合才能得到一个采样值。程序流程图如图6所示。

4.4 谐波分析子程序

根据谐波分析算法和设计的实际情况,该系统的谐波分析子程序确定了采用时间抽取FFT算法来实现16次谐波分析功能。该程序计算精度高,并且易于二次扩展,如果分析多次谐波,程序变动不大,易于维护和升级。其流程图如图7所示。

4.5 键盘扫描程序

设计中用了液晶显示,一个液晶界面能显示6个数据,所以显示16个数据要分3页显示。由于交流电压谐波分析仪只对电压谐波进行分析,没有其他的要求,所以本次设计只用了2个按键,一个为上翻,一个为下翻,通过这两个按键,就能达到16个数据的翻页循环显示。流程图如图8所示。

4.6 液晶显示程序

FM12864I是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。液晶显示与数码管显示很多不一样,唯一相同的就是多要生成代码,按代码显示。一个界面的显示是有很多个点组成的,显示时,要先设置好X的值,然后设置Y的值,这样定点发送代码。如此循环,这样就能确保屏幕上的每个点都能点亮或熄灭。液晶的初始化包括关显示,开显示,清屏。液晶显示流程如图9所示。

5 实验结果

为了验证谐波分析系统在硬件完好的前提下对软件方法实现的精确性和有效性,在实验中采用标准方波作为输入信号对其进行测试。大量理论和实践证明:对于一个标准方波信号,可以将它分解为多个不同周期的正弦波的线性组合。在实验验证中采用上海某电气公司生产的5100mA电能检测校准源产生一个标准方波电压信号其电压幅值为120V,频率为50Hz,然后再用该装置进行谐波测量,实验结果如表1。

由表1可知,諧波测量误差随着谐波次数的增而有所增大,当检测到第13次谐波时,其测量误差最大为4.255%,不过这个误差完全满足国家规定的不能超过5.0%的误差要求。因此,本检测系统具有一定的实用性和参考价值。

6 结束语

针对电力系统中的电压谐波干扰,提取了一种电压谐波检测系统软件实现设计方法,以采集的数据为检测对象,采用FFT算法进行谐波分析,得到电压中的各次谐波值,并用液晶显示。其主要程序有:中断程序,采样值读入和转换程序,键扫显示程序及谐波分析程序。其中中断程序实现单片机与AD的数据传送,键扫显示实现人机通讯,谐波分析则采用了FFT算法,具有分析16次谐波的功能。

参考文献

[1]廖建庆.便携式电网在线检测仪设计[J].电力系统保护与控制,2010(19):199-202.

[2]曹良足,殷丽霞.小型带阻滤波器的结构与设计[J].压电与声光,2010,6:125-128.

[3]卿柏元,滕召胜,高云鹏,等.基于Nuttall窗双谱线插值FFT的电力谐波分析方法[J].中国电机工程学报,2008,28(25):153-158.

[4]陆秀令,周腊吾.基于瞬时无功功率的谐波电压检测法[J].高电压技术,2006,32(1):88-90.

[5]马月红,王雪飞,梁四洋.离散傅立叶变换及其应用[J].中国现代教育装备,2015(13):56-58.

[6]李橙橙.基于FPGA的FFT算法设计与实现[D].西安电子科技大学,2014.

[7]徐永海,赵燕.基于短时傅立叶变换的电能质量扰动识别与采用奇异值分解的扰动时间定位[J].电网

猜你喜欢

单片机
基于单片机MCU的IPMI健康管理系统设计与实现
浅析51单片机的特点与应用
单片机在智能控制中的应用
C8051F020与80C51单片机的异同点
MCS—51单片机多串口通讯技术应用分析
一种单片机虚拟实验室的建立方法
点阵式液晶显示器lMl2864与51单片机的接口设计
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器