基于NB-IoT的远程电网谐波分析系统设计
2020-11-18刘贤德王宜怀孙亚军
刘贤德,王宜怀,彭 涛,孙亚军
(苏州大学计算机科学与技术学院,江苏苏州 215000)
0 引言
谐波是对非正弦周期量进行傅里叶级数分解,得到的频率为基波频率整数倍的正弦分量[1],它源于电力或物理学概念。近年来,计算机技术和电力电子技术的发展突飞猛进,电力电子设备得到了广泛的应用,但这些设备对电网电能质量产生了严重的威胁,对电力系统的安全稳定运行构成了严重影响,其中谐波问题已经成为不可忽视的问题,国内外对电力系统谐波问题的研究已经越来越广泛[2]。
窄带物联网(narrow band internet of things,NB-IoT)是一种具有大连接、广覆盖、深穿透、低成本、低功耗等特点的远程通信技术[3]。文中设计并实现了一套以ATT7022E为计量芯片,以MKL36Z64为MCU模块,以ME3616为NB-IoT通信模组的电网谐波分析系统。系统相比传统的ADC+MCU电网谐波分析方案具有硬件设计简单、谐波分析效果好等优点[4],相比传统的采用GPRS通信技术实现远程传输数据具有更高效的网络支持[5]。
1 总体设计
如图1所示,NB-IoT远程电网谐波分析系统由终端(ultimate-equipment,UE)、云服务器转发软件(cloud server forwarding software,CSFS)和用户服务器(user server,US)组成。终端UE包括电能计量芯片ATT7022E、MCU模块MKL36Z64和NB-IoT通信模组ME3616 3部分,负责电网谐波数据的采集、处理和上传;云服务器转发软件CSFS运行在云服务器上,负责终端UE和用户服务器US的数据转发;用户服务器US是互联网上的任意一台计算机,目标是获取终端UE的电网谐波数据。
图1 总体设计结构
2 终端硬件设计
终端硬件主要包括电压与电流采样电路、ATT7022E硬件最小系统、MKL36Z64硬件最小系统和ME3616硬件最小系统等4个部分。
2.1 电压与电流采样电路设计
如图2所示,电压采样电路采用电阻进行分压,U用来接三相电压的某相,P和N接电能计量芯片ATT7022E电压输入通道引脚。由欧姆定律可知,P和N两端的电压为
图2 电压采样电路
如图3所示,电流采样电路采用电流互感器降流,I+与I-接三相电流的某相,P和N接电能计量芯片ATT7022E电流输入通道引脚。R1和R2作为采样电阻,用于将电流互感器的二次侧电流转换成电压信号,R3、C1与R4、C2分别构成低通滤波器,用以去除高频噪音。假定电流互感器一次侧的电流为I,电流互感
器变比为K,由欧姆定律可知,P和N两端电压为
图3 电流采样电路
2.2 ATT7022E硬件最小系统设计
ATT7022E[6]是一款高精度三相电能专用计量芯片,适用于三相三线和三相四线应用。它具有同步采样数据缓冲功能,可同时将三相电压、三相电流和地线等7路ADC值存在的缓冲存储器中,便于实现分次谐波功能。此外,ATT7022E提供一个SPI接口,方便与外部MCU进行7路同步缓冲数据的传递。其硬件最小系统如图4所示。
图4 ATT7022E最小系统设计
2.3 MKL36Z64硬件最小系统设计
MKL36Z64[7]是一款基于ARM Cortex-M0+内核的32位 MCU,具有高性能、体积小、低功耗、片上可选择多种外设等优点,在工业中使用广泛。该MCU内部含有64 KB 的Flash和8 KB的SRAM,内核频率可达48 MHz。此外MKL36Z64拥有SPI、UART等外设,通过SPI可实现MCU与计量芯片ATT7022E的通信,进而读取7路同步缓冲数据;MCU对读取到的缓冲数据进行分析后,可通过UART将其传给通信模组ME3616。其硬件最小系统如图5所示。
2.4 ME3616硬件最小系统设计
ME3616[8]是一款NB-IoT通信模组,提供最大66 Kbit/s上行速率和34 Kbit/s下行速率,专为低速率、低功耗、远距离、海量连接的物联网应用而设计。它支持TCP/UDP、MQTT等多种网络协议,可应用在智能表计、智能停车、资产追踪和可穿戴设备等多种物联网及M2M的应用场景中。ME3616提供UART接口,可实现将MCU分析后的谐波数据传给ME3616,进而实现电网谐波数据的远程传输。其硬件最小系统如图6所示。
3 软件设计
系统软件分为终端软件、云服务器转发软件和用户服务器软件。
3.1 终端软件设计
在终端硬件的基础上,终端软件主要实现电网谐波数据的获取,并实现数据的上传。终端软件执行过程如图7所示,由于MCU模块MKL36Z64与电能计量芯片ATT7022E采用SPI通信,MCU模块MKL36Z64与通信模组ME3616采用UART通信,MCU模块MKL36Z64存储配置信息、定时上传数据,所以首先对UART、SPI、Flash和Timer进行初始化,并使能UART和Timer中断;接着从Flash读出校表参数并将其写入ATT7022E相关寄存器中,完成校表操作;最后进入主循环,在主循环中不断检测是否触发了Timer中断,如果触发了Timer中断,则MCU模块MKL36Z64读取7路同步缓冲数据进行分析后,通信模组ME3616执行初始化、连接基站、上传数据操作;如果数据发送失败,则通信模组ME3616再次执行初始化、连接基站、上传数据操作,如果发送成功,则再次检测是否触发了Timer中断。系统的这种“数据发送失败重传”机制,有利于保证数据传输的可靠性。
图5 MKL36Z64最小系统
图7 终端软件执行过程
图8是MCU读取7路同步缓冲数据并分析的过程,具体如下:
(1)开启同步采样数据缓冲功能。用户发送命令(0xC5+0x0002)启动自动同步采样功能,ATT7022E根据内部计量的频率信息自动调整采样频率,每周期固定采集64个点,并将7路ADC的电压和电流同步采样数据保存到缓冲存储器中,直到存满为止。
(2)判断同步采样数据缓冲是否完成。等待相应的采样时间间隔以完成数据缓冲。
(3)读采样数据。在读采样数据前,通过C1命令指定要读的缓冲存储器的起始地址;读取缓冲数据寄存器,每读一次,该地址会自动加1。
(4)对采样数据进行预处理。由于每读一次缓冲数据寄存器返回3字节格式的数据,且低两字节是数据有效位,所以要进行预处理操作。
(5)将处理后的数据进行FFT变换。进行FFT变换后可得到A、B、C三相的基波和2~21次谐波的电压与电流采样幅值。
(6)读基波、全波的电压和电流有效值。通过读取有效值寄存器可得到A、B、C三相基波和全波的电压与电流有效值。
(7)计算谐波参数。由于A相与B、C相的谐波参数计算过程类似,所以这里只列出A相谐波参数的计算方法。假定步骤(5)计算到的A相基波电压采样幅值为Aua,A相第h次谐波电压采样幅值为Auah,A相基波电流采样幅值为Aia,A相第h次谐波电流采样幅值Aiah;假定步骤(6)读到的A相基波电压有效值为UA,A相全波电压有效值为UAall,A相基波电流有效值为IA,A相全波电流有效值IAall。
A相第h次谐波电压含有率HRUah:
A相第h次谐波电流含有率HRIah:
A相电压总谐波畸变率[9]THDua:
A相电流总谐波畸变率THDia:
A相第h次谐波电压有效值Uah:
Uah=HRUah×UA
A相第h次谐波电流有效值Iah:
Iah=HRIah×IA
图8 谐波分析流程图
FFT是离散傅里叶变换的快速算法,有些信号在时域上很难看出什么特征,但是如果变换到频域之后,就很容易看出特征,它可以将一个时域信号变换成频域信号。根据频域信号可计算出各次谐波的幅值,进而完成谐波分析功能。
如图9所示,首先对长度为N的序列x(n)进行倒序运算,而后使用三层循环完成剩余运算。
第一层循环:从输入端开始(第一级)开始,逐级进行,共作M=log2(N)级运算[10],本循环用于控制运算的级数;
图9 FFT程序流程图
第二层循环:在作第L级运算时,依次求出不同的旋转因子,本层循环用于求出旋转因子并供第三层循环使用;
第三层循环:每求出一个旋转因子,就计算完它对应的所有2M-L个蝶形,本循环用于计算同一旋转因子的所有蝶形。
3.2 云服务器转发软件设计
云服务器转发软件CSFS作为终端UE和用户服务器US的通信桥梁,负责它们的数据转发。云服务器转发软件采用C#编写,运行界面如图10所示,其具体功能如下:
(1)云服务器转发软件根据连接的端口号确定连接是来自终端还是用户服务器,从而进行转发。
(2)每个终端都有一个固定的IMSI号(international mobile subscriber identity,IMSI),并包含在每一帧发送数据中,云服务器转发软件根据帧中的IMSI号确定这个连接来自哪一个终端。
(3)用户服务器发给云服务器转发软件的每一帧中也带有一个IMSI号,表示用户服务器想把该帧数据发给这个IMSI号对应的终端,云服务器转发软件根据该IMSI号发送数据给对应的终端。
图10 云服务器转发软件界面
3.3 用户服务器软件设计
用户服务器软件是系统的人机交互软件,它是终端数据最直接的展示方式。用户服务器软件同样采用C#编写,运行界面如图11所示,窗口分为谐波电压和谐波电流2部分。谐波电压部分可显示A、B、C相的各次谐波电压含有率,A、B、C相的各次谐波电压有效值,A、B、C相的电压总谐波畸变率,A、B、C相的谐波电压有效值;谐波电流部分可显示A、B、C相的各次谐波电流含有率,A、B、C相的各次谐波电流有效值,A、B、C相的电流总谐波畸变率,A、B、C相的谐波电流有效值。
图11 用户服务器软件界面
4 实验结果分析
系统实验分为NB-IoT通信实验和电能计量实验2部分,前者为电网谐波数据的可靠传输提供依据,后者验证了电网谐波数据的测量精度。
4.1 NB-IoT通信实验结果分析
在整个系统供电正常和NB-IoT基站信号良好的前提下,分别对终端UE与云服务器转发软件CSFS之间,云服务器转发软件CSFS与用户服务器US之间的通信稳定性测试100次。NB-IoT通信成功率如表1所示,测试结果表明系统采用的“数据发送失败重传”机制效果明显,成功率达到100%。
表1 NB-IoT通信成功率
4.2 电能计量实验结果分析
实验使用精度等级为 0.05%的三相程控标准源(JH3030A),以A相电压和电流为例,设置三相标准源A相电压和电流进行谐波输出,取部分实验结果如表2所示,其中实际值为三相程控标准源(JH3030A)的输出结果,测量值为系统的测量结果,可发现测量值与实际值的相对误差基本在0.5%左右,满足一般工业应用需求。
表2 谐波测量结果
5 结束语
文中设计了一套基于NB-IoT的远程电网谐波分析系统,该系统的创新点是采用了NB-IoT作为终端UE与服务器云转发软件CSFS的通信方式,对于偏远地区电网谐波数据的传输减少了布线和安装成本。此外,系统测量的各次谐波数据相对误差在0.5%左右,为电网谐波分析提供有力的参考。