论文部分内容阅读
摘要:嵌入式多處理器架构,可监测电网电能质量,实时分析线路故障,并对故障点录波,存储故障波形数据,运作于二次线路中的智能终端。该装置包含显示屏,采用QT设计界面,支持参数配置,波形显示,历史数据/实时数据显示等等。内部数据通信主要由以太网、SPI、Local Bus组成,装置内置嵌入式Web服务器,可以把数据传输到PC端网页,显示出数据和波形,装置设计框架清晰明朗,各工作部件各司其职,有序衔接。
关键词:电能质量监测装置;设计方案;电力系统;故障录波
0 引言
电力能源是当今社会最不可或缺的清洁能源之一,由于近年来科学技术发展飞快,各种电力自动化设备、电子设备接入电网,对电能输出的平滑度造成了一定冲击,电能质量问题越来越受到社会各界的广泛关注,用户对于电能质量的要求越来越高,供电部门在整改电气环境、加强电力系统管理的同时,也需要一种高效的电能质量分析自动化装置。为此,电能质量监测终端应运而生,它可以帮助监测电网各项指标[1],智能分析电力系统出现的故障。本文将对电能质量监测装置的功能和内部实现进行分析和介绍。
1 系统组成
1.1 硬件框架组成
该装置由多CPU组成,采集部分采用DSP处理器,通信和显示部分则由ARM处理器实现。框架结构如图1和图2所示。
1.2 软件框架组成
软件部分主要为DSP端运算程序和ARM端处理程序,前端采集由DSP来完成,采用BF609工业级芯片,主频1 GHz,双核,搭载独立16位AD芯片AD7607完成高精度采样。每周波采样512点,采样点采用FFT算法,计算出基波到0.5~50次的各次[间]谐波电压电流分量、总[间]谐波电压电流含量、各次[间]谐波畸变率、总电压电流[间]谐波畸变率、各次[间]谐波功率、[间]谐波相角等,以及三相不平衡、电压波动、瞬态事件等电力系统数据。
前端采样一直处于高效实时运作状态,数据通过高速SPI接口传输到ARM处理器,这里可以考虑扩展板卡,ARM板主要用于数据通信和存储等,让通信板和采样DSP板独立开,SPI接口即板间通信通道。ARM板处理器选用ARM9以上可运行Linux系统的皆可,本装置选型为TI的AM335,cortex-A8内核,800 MHz主频,外加512M DDR,移植了嵌入式Linux 3.2的内核,NAND FLASH 512M,由于存储数据量较大,还配备了16G的存储卡。
文献[2]中提到一种ARM9处理器的bootloader启动加载过程,A8也类似,CPU上电后,从nand flash启动,一级bootloader,二级bootloader(关看门狗,关中断,设置CPU时钟频率等),三级bootloader(uboot),启动内核,挂载文件系统。
通信板对外接口丰富,有2路RS485接口,2个USB接口,2个以太网接口;HMI部分由按键和液晶屏组成,4.3寸彩屏,6键导航按键,操作方便友好。软件框架如图3所示。
2 电力系统数据运算
在AD采样得到一系列波形数据后,可进行积分运算,电压和电流的有效值计算公式如下:
式中:u(x)为一个周期内各时间点的电压瞬时值;T为周期;U为电压有效值。
式中:i(x)为一个周期内各时间点的电流瞬时值;T为周期;I为电流有效值。
数据计算参照国标《电能质量 公用电网谐波》(GB/T 14549—1993)[3]。
谐波部分,第h次谐波电压含有率HRUh为:
式中:HRUh为第h次谐波电压含有率;Uh为第h次谐波电压(方均根值);U1为基波电压(方均根值)。
谐波电压含量UH为:
文献[3-9]列出了部分常用电能质量数据计算标准,文献[10]讲述了Comtrade文件的格式标准。
3 数据处理和存储
采集板通过SPI接口进行板间通信,把数据传输到ARM板,每数百微秒发起一次数据通信,传输有效值、波形数据、谐波、电压波动等等,ARM板操作系统下运行多进程/线程处理程序,收到数据作相应处理、转发、显示。进程间使用共享内存进行通信,电力系统数据以3 s(可设置)为时间间隔存储到flash上,存储方式为sqlite数据库。SPI驱动数据触发部分程序:
void psq_handler(int signum)
{
static unsigned int cnt = 0;
ioctl(fd, IOREQ_READ_NOTIFY, &app);
cnt = app.cnt;
memcpy(&DSPBuf[wpoint][0],base+(cnt*SLOT_SIZE),app.byte_num[cnt]);
nsize[wpoint]=app.byte_num[cnt];
wpoint++;
if(wpoint >=DSPBUFCOUNT)
wpoint =0;
if(!sigflag)
{
::raise(SIGUSR1);
}
}
……
signal(SIGIO, psq_handler);
fcntl(fd, F_SETOWN, getpid());
oflags = fcntl(fd, F_GETFL);
fcntl(fd, F_SETFL, FASYNC | oflags); ioctl(fd, IOREQ_CLEAR_FIFO);
ioctl(fd, IOREQ_RX_BUFF_ON);
当SPI收到数据就会触发信号SIGIO,在psq_handler中拷贝数据到dspBuf,再在线程中处理即可。
为适应数据过大而装置本身flash空间不够的情况,可接入扩展卡。软件逻辑框架如图4所示。
4 界面显示
得到电能质量数据并处理后,装置本身配备了显示屏,用于显示实时数据,进行人机交互、显示告警等。UI部分由QT程序来完成,由于QT跨平台,可以在Windows下写好代码,再拿到Linux下交叉编译,开发简单方便。文献[11]中描述的QT GUI开发了软键盘,对于触摸屏系列产品很友好,当液晶屏不使用或者不支持触摸功能时,也可以采用按键控制。本文介绍的电能质量监测装置使用按键,Linux内核加入了键码触发的驱动,QT程序无须过问按键的硬件引脚,只要捕捉应用层的按键消息即可。QT程序主要完成以下任务:
(1)显示实时波形;
(2)显示电压/电流有效值、[间]谐波、不平衡、瞬态事件;
(3)设置定值、IP、串口等各种参数;
(4)开关量输入显示,输出控制;
(5)数据存储;
(6)数据查询。
电压波形UI界面效果如图5所示。
5 扩展多通道
当前设计方案是采集板+ARM通信板的框架,采集板承担了采集、运算的任务,ARM板可对下进行多个采集板的数据传输和处理,有多通道扩展模式,框架如图6所示。
即在原思路基础上增加采集板,把互感器和采集板作为一个模组进行扩展,一个模组的电力系统数据传输量(SPI总线)大约在800 k/s,最多扩展6路模组。
6 嵌入式Web
电能质量监测装置运行Linux系统,在系统内嵌一个Web服务器,可以方便地进行查看、调试、通信、参数设置等。嵌入式Web服务器有很多种,这里选择GoAhead。
GoAhead Webserver是为嵌入式实时操作系统(RTOS)量身定制的Web服务器,它支持跨平台,可以稳定地运行在Windows、Linux和Mac OS X操作系统之上。GoAhead Webserver是开放源代码的,体积非常小巧,编译完成放入文件系统占存储不到2M,非常适合运行在嵌入式设备中,开发和应用简单方便。
7 结语
本文介绍了电能质量监测装置的硬件和软件框架以及基本功能的设计原理,这些组件功能是基本功能,在实际环境下运行还需考虑软件稳定性能、EMC、抗干扰等因素,功能方面还有PQDIF[12]、录波、61850通信等可以酌情添加。
[参考文献]
[1] 余桂华.电子信息技术在电力自动化系统中的应用[J].今日自动化,2021(4):145-147.
[2] 王世阳,余学才,梁锡宁,等.ARM-Linux嵌入式系统的Boot Loader分析与設计[J].现代电子技术,2010,33(22):71-73.
[3] 电能质量 公用电网谐波:GB/T 14549—1993[S].
[4] 电能质量 三相电压不平衡:GB/T 15543—2008[S].
[5] 电能质量 电力系统频率偏差:GB/T 15945—2008[S].
[6] 电能质量 供电电压允许偏差:GB/T 12325—2003[S].
[7] 电能质量 暂时过电压和瞬态过电压:GB/T 18481—2001[S].
[8] 电能质量 电压暂降与短时中断:GB/T 30137—2013[S].
[9] 电力系统暂态数据交换通用格式:GB/T 22386—2008/IEC 60255-24:2001[S].
[10] Electrical relays-Part 24:Common format for transient data exchange(COMTRADE) for power systems[Z].
[11] 王雪丽,娄小平,刘锋,等.半导体激光器驱动电源的嵌入式GUI开发[J].现代电子技术,2014,37(20):116-119.
[12] 崔梦雨,刘炜,马超,等.基于PQDIF格式的多通道便携式电能质量监测装置开发[J].测控技术,2017,36(2):115-119.
收稿日期:2021-08-20
作者简介:汪长林(1986—),男,安徽滁州人,助理工程师,从事电力电子和嵌入式软硬件开发工作。
关键词:电能质量监测装置;设计方案;电力系统;故障录波
0 引言
电力能源是当今社会最不可或缺的清洁能源之一,由于近年来科学技术发展飞快,各种电力自动化设备、电子设备接入电网,对电能输出的平滑度造成了一定冲击,电能质量问题越来越受到社会各界的广泛关注,用户对于电能质量的要求越来越高,供电部门在整改电气环境、加强电力系统管理的同时,也需要一种高效的电能质量分析自动化装置。为此,电能质量监测终端应运而生,它可以帮助监测电网各项指标[1],智能分析电力系统出现的故障。本文将对电能质量监测装置的功能和内部实现进行分析和介绍。
1 系统组成
1.1 硬件框架组成
该装置由多CPU组成,采集部分采用DSP处理器,通信和显示部分则由ARM处理器实现。框架结构如图1和图2所示。
1.2 软件框架组成
软件部分主要为DSP端运算程序和ARM端处理程序,前端采集由DSP来完成,采用BF609工业级芯片,主频1 GHz,双核,搭载独立16位AD芯片AD7607完成高精度采样。每周波采样512点,采样点采用FFT算法,计算出基波到0.5~50次的各次[间]谐波电压电流分量、总[间]谐波电压电流含量、各次[间]谐波畸变率、总电压电流[间]谐波畸变率、各次[间]谐波功率、[间]谐波相角等,以及三相不平衡、电压波动、瞬态事件等电力系统数据。
前端采样一直处于高效实时运作状态,数据通过高速SPI接口传输到ARM处理器,这里可以考虑扩展板卡,ARM板主要用于数据通信和存储等,让通信板和采样DSP板独立开,SPI接口即板间通信通道。ARM板处理器选用ARM9以上可运行Linux系统的皆可,本装置选型为TI的AM335,cortex-A8内核,800 MHz主频,外加512M DDR,移植了嵌入式Linux 3.2的内核,NAND FLASH 512M,由于存储数据量较大,还配备了16G的存储卡。
文献[2]中提到一种ARM9处理器的bootloader启动加载过程,A8也类似,CPU上电后,从nand flash启动,一级bootloader,二级bootloader(关看门狗,关中断,设置CPU时钟频率等),三级bootloader(uboot),启动内核,挂载文件系统。
通信板对外接口丰富,有2路RS485接口,2个USB接口,2个以太网接口;HMI部分由按键和液晶屏组成,4.3寸彩屏,6键导航按键,操作方便友好。软件框架如图3所示。
2 电力系统数据运算
在AD采样得到一系列波形数据后,可进行积分运算,电压和电流的有效值计算公式如下:
式中:u(x)为一个周期内各时间点的电压瞬时值;T为周期;U为电压有效值。
式中:i(x)为一个周期内各时间点的电流瞬时值;T为周期;I为电流有效值。
数据计算参照国标《电能质量 公用电网谐波》(GB/T 14549—1993)[3]。
谐波部分,第h次谐波电压含有率HRUh为:
式中:HRUh为第h次谐波电压含有率;Uh为第h次谐波电压(方均根值);U1为基波电压(方均根值)。
谐波电压含量UH为:
文献[3-9]列出了部分常用电能质量数据计算标准,文献[10]讲述了Comtrade文件的格式标准。
3 数据处理和存储
采集板通过SPI接口进行板间通信,把数据传输到ARM板,每数百微秒发起一次数据通信,传输有效值、波形数据、谐波、电压波动等等,ARM板操作系统下运行多进程/线程处理程序,收到数据作相应处理、转发、显示。进程间使用共享内存进行通信,电力系统数据以3 s(可设置)为时间间隔存储到flash上,存储方式为sqlite数据库。SPI驱动数据触发部分程序:
void psq_handler(int signum)
{
static unsigned int cnt = 0;
ioctl(fd, IOREQ_READ_NOTIFY, &app);
cnt = app.cnt;
memcpy(&DSPBuf[wpoint][0],base+(cnt*SLOT_SIZE),app.byte_num[cnt]);
nsize[wpoint]=app.byte_num[cnt];
wpoint++;
if(wpoint >=DSPBUFCOUNT)
wpoint =0;
if(!sigflag)
{
::raise(SIGUSR1);
}
}
……
signal(SIGIO, psq_handler);
fcntl(fd, F_SETOWN, getpid());
oflags = fcntl(fd, F_GETFL);
fcntl(fd, F_SETFL, FASYNC | oflags); ioctl(fd, IOREQ_CLEAR_FIFO);
ioctl(fd, IOREQ_RX_BUFF_ON);
当SPI收到数据就会触发信号SIGIO,在psq_handler中拷贝数据到dspBuf,再在线程中处理即可。
为适应数据过大而装置本身flash空间不够的情况,可接入扩展卡。软件逻辑框架如图4所示。
4 界面显示
得到电能质量数据并处理后,装置本身配备了显示屏,用于显示实时数据,进行人机交互、显示告警等。UI部分由QT程序来完成,由于QT跨平台,可以在Windows下写好代码,再拿到Linux下交叉编译,开发简单方便。文献[11]中描述的QT GUI开发了软键盘,对于触摸屏系列产品很友好,当液晶屏不使用或者不支持触摸功能时,也可以采用按键控制。本文介绍的电能质量监测装置使用按键,Linux内核加入了键码触发的驱动,QT程序无须过问按键的硬件引脚,只要捕捉应用层的按键消息即可。QT程序主要完成以下任务:
(1)显示实时波形;
(2)显示电压/电流有效值、[间]谐波、不平衡、瞬态事件;
(3)设置定值、IP、串口等各种参数;
(4)开关量输入显示,输出控制;
(5)数据存储;
(6)数据查询。
电压波形UI界面效果如图5所示。
5 扩展多通道
当前设计方案是采集板+ARM通信板的框架,采集板承担了采集、运算的任务,ARM板可对下进行多个采集板的数据传输和处理,有多通道扩展模式,框架如图6所示。
即在原思路基础上增加采集板,把互感器和采集板作为一个模组进行扩展,一个模组的电力系统数据传输量(SPI总线)大约在800 k/s,最多扩展6路模组。
6 嵌入式Web
电能质量监测装置运行Linux系统,在系统内嵌一个Web服务器,可以方便地进行查看、调试、通信、参数设置等。嵌入式Web服务器有很多种,这里选择GoAhead。
GoAhead Webserver是为嵌入式实时操作系统(RTOS)量身定制的Web服务器,它支持跨平台,可以稳定地运行在Windows、Linux和Mac OS X操作系统之上。GoAhead Webserver是开放源代码的,体积非常小巧,编译完成放入文件系统占存储不到2M,非常适合运行在嵌入式设备中,开发和应用简单方便。
7 结语
本文介绍了电能质量监测装置的硬件和软件框架以及基本功能的设计原理,这些组件功能是基本功能,在实际环境下运行还需考虑软件稳定性能、EMC、抗干扰等因素,功能方面还有PQDIF[12]、录波、61850通信等可以酌情添加。
[参考文献]
[1] 余桂华.电子信息技术在电力自动化系统中的应用[J].今日自动化,2021(4):145-147.
[2] 王世阳,余学才,梁锡宁,等.ARM-Linux嵌入式系统的Boot Loader分析与設计[J].现代电子技术,2010,33(22):71-73.
[3] 电能质量 公用电网谐波:GB/T 14549—1993[S].
[4] 电能质量 三相电压不平衡:GB/T 15543—2008[S].
[5] 电能质量 电力系统频率偏差:GB/T 15945—2008[S].
[6] 电能质量 供电电压允许偏差:GB/T 12325—2003[S].
[7] 电能质量 暂时过电压和瞬态过电压:GB/T 18481—2001[S].
[8] 电能质量 电压暂降与短时中断:GB/T 30137—2013[S].
[9] 电力系统暂态数据交换通用格式:GB/T 22386—2008/IEC 60255-24:2001[S].
[10] Electrical relays-Part 24:Common format for transient data exchange(COMTRADE) for power systems[Z].
[11] 王雪丽,娄小平,刘锋,等.半导体激光器驱动电源的嵌入式GUI开发[J].现代电子技术,2014,37(20):116-119.
[12] 崔梦雨,刘炜,马超,等.基于PQDIF格式的多通道便携式电能质量监测装置开发[J].测控技术,2017,36(2):115-119.
收稿日期:2021-08-20
作者简介:汪长林(1986—),男,安徽滁州人,助理工程师,从事电力电子和嵌入式软硬件开发工作。