基于ADE9000的三相电能计量与质量分析系统的设计
2018-12-17黄艺璇罗利文
黄艺璇,罗利文
(上海交通大学 电子信息与电气工程学院,上海 200240)
0 引 言
随着智能电能网发展的趋势,国家电网公司推出的Q/GDW 356-2009《三相智能电能表型式规范》[1]等相关企业标准,对智能电能表提出了更高的技术要求。智能电能表从普通功能型向长生命周期、高测量精度、分时段计量计费、多功能、网络化等高科技含量和高附加值的方向发展。智能电能表在电能计量方面的准确性,直接关系到电力系统发电量,供电量,用电量等各项技术经济指标的计算。同时越来越多的电子设备接入电网,系统中产生的大量谐波,降低了电能质量,所以在保证电能表精确计量电量的同时,不能忽视谐波计量和分析的重要性。
1 系统总体设计
设计了一种电能计量与质量分析系统,可以准确计量电能参数,快速进行谐波分析。总体设计如图1所示。该系统选用STM32F401RET6为主控芯片,32位的ARM CortexTM-M4内核完成外围芯片控制、数据传输和上位机通信控制。选用某公司一款高集成度的三相模拟前端ADE 9000实现电能计量,该芯片集成七路高性能的和一个DSP内核,可实现三相电压电流及中线电流信号每周期128个采样点的输出。芯片内部集成一个高速串行通信接口,可以将电压和电流的波形采样数据,有功功率,无功计算值等计算数据通过SPI通讯方式传输给主控芯片。
主控芯片获取数据后,通过USB CDC类虚拟串口,与虚拟仪器LabVIEW中的上位机进行大量高速的数据通信。在LabVIEW的虚拟仪器开发环境中进行快速傅里叶变换和各次谐波分类分析,同时实现测量数据和分析结果的可视化。
图1 系统总体设计框图Fig.1 Overall design block diagram of the system
2 系统硬件电路设计
2.1 信号采集电路
电压信号和电流信号的采集分别使用电压互感器和电流互感器。电压互感器选用TV 1013-2 mA/2 mA电流型电压互感器测单相电压。因互感器的输出是电流信号,需将电流信号经取样电阻转换为±0.707Vrms范围内的差分电压信号。考虑精度要求,限流电阻和取样电阻都选取误差小于0.1%的精密电阻。
电流互感器选用TA 1623-1M小型精密电流互感器测量单相电流。对于电流和电压信号采集电路而言,都要选用低失调的运算放大器对电流型互感器进行相位补偿,减小角差。此外还需要使用高精度的电能表实测互感器比差,通过软件的方式进行误差校正。典型应用电路如图2所示。其中:
图2 TV1013典型应用电路Fig.2 TV1013 typical application circuit
对于中线电流的测量,选用某公司的CTRS-0.3P霍尔传感器。传感器输出电压以2.5 V为参考基准,无法满足计量芯片±0.707Vrms范围内的差分电压输入要求。所以电路中需连接一个低失调运放AD623(见图3),用来抑制共模分量。
根据香农定理,当连续信号的最高频率小于1/2的采样频率时,采样的数字信号不再为原始信号。为了防止电压互感器和电流互感器采集到的无用信号与有用信号发生混叠,必须对信号进行抗混叠滤波,以衰减高频噪声并防止目标频段失真[3]。根据ADE 9000芯片资料[2],为了在片内调制器时钟频率附近提供足够的带外信号衰减,建议选定转折频率为7 kHz的RC滤波器,以消除传统电流传感器的混叠效应。
图3 中线电流互感器电路Fig.3 Central line current transformer circuit
2.2 电能计量模拟前端ADE 9000
在电能质量的检测仪中ADC转换精度应保证在14位以上,根据国家对谐波检测仪器的要求,A级仪器需检测到50次谐波,通常采样点个数为128个点,因此ADC的采样频率应大于6.4 kHz。根据ADE 9000的数据手册[2],ADE 9000 可在动态范围10 000:1下保证有功和无功功率误差为0.2%,已经满足对电能计量0.2S级表的精度和动态要求。芯片内部的7路24 bits的Σ-(型ADC,可以准确同步采集三相四线制系统的电压电流信号。相较于ADE 78xx系列芯片[4],ADE 9000集成了唯一的SPI串行通信接口,虽然无法选择I2C和HSDC接口,但是SPI的通信速率由2.5 MHz提高到20 MHz。虽然系统实现中并未对20 MHz的理论值进行极限测试,但是配合USB CDC全速设备的12 MHz通信速率能够正常通信。4个灵活配置的脉冲输出,脉冲频率可以指示电能累积的情况。
ADE 9000芯片可用于三相三线制或四线制系统,片内DSP内核可快速完成多种电能参量的计量。芯片内部框图如图4所示,对于三相电压、电流及中线电流的七路信号,可计量的电能参量以及可配置的功能包括:
(1)总体和基波有效值,线频率和相位。有效值计算可选整周期、半周期和10/12周期三种模式;
(2)总体和基波有功功率,无功功率,视在功率和复功率。三相功率因素和总谐波失真;
(3)动态配置采样频率,保证每个周期产生128个采样点,便于后续进行FFT,进行谐波分析;
(4)过零点、电压跌落和电压骤升检测,并且均可配置事件中断;
(5)数字补偿。通过补偿相位,调整电压、电流有效值和功率增益,进一步提高测量精度。
图4 ADE9000芯片内部框图Fig.4 Internal block diagram of ADE 9000 chip
前级电路中电流传感器和电压传感器输出各相电压信号,经过调理后得到符合ADE 9000输入范围的差分信号。由7路差分输入引脚进入芯片内部可编程放大器进行放大,然后经ADC转换为对应数字信号,ADC后接有相位校正和高通滤波器。在电压电流瞬时信号基础上,进行其他电能数值的计算。
电能计量尤其关注有功功率的计算,因为有功功率与电能计费直接相关。在实际电力系统中,谐波分量不可避免,电压电流瞬时表达式如下:
(1)
(2)
式中Vk、Ik分别为各谐波的电压和电流有效值;φk、γk是各谐波的相位延迟。电力系统的瞬时功率p(t)总是等于两者乘积,而p(t)的直流分量即为系统的总有功功率,用P表示,将k=1带入得到基波有功功率,用FP表示。
(3)
FP=V1I1cos(φ1-r1)
(4)
ADE 9000为了实现总有功功率的计算,芯片内部首先将各相电流和电压信号相乘,再利用一个低通滤波器提取各相瞬时功率信号的直流成分。由于LPF不是理想滤波器,因此还需要对提取出来的信号进行一段时间的积分,消除纹波。而对于基波有功功率,ADE 9000需要初始化电网频率和电压通道中测得的标称值,然后应用专有算法,计算出基波有功功率。
2.3 主控单元
主控单元在本系统中主要承担与前后级的数据通讯和传输任务。前级的电能计量前端与主控芯片之间采用SPI串行通信协议高速传输大量数据。SPI接口连接方式如图5所示。
图5 ADE9000与MCU的SPI接口Fig.5 SPI interface between ADE9000 and MCU
ADE 9000内部集成的SPI串行通信接口工作在从器件方式。作为主器件,主控芯片产生和输出同步串行时钟脉冲信号SCLK。选取STM32F401[5]的一个GPIO口模拟从器件选择线,输出SS片选信号。ADE 9000的两个中断信号引脚IRQ0B和IRQ1B,同时连接LED指示灯和主控芯片的两个GPIO口,给主控芯片提供外部中断信号[6]。
在选择主控芯片STM32F401与上位机的通信方式时,主要考虑的是数据传输速率。由于电能计量芯片可实现高达20 MHz的SPI通信速率,一般的串口通讯以及常用的USB转串口芯片(如PL2303,CH340D等)都难以满足系统实时性的要求。最终,设计选择USB CDC类的虚拟串口方式实现与LabVIEW上位机进行数据通信与传输。使用主控芯片的一个GPIO引脚作为USB设备的上拉使能信号,使能信号输出为低电平时三极管导通,USB设备的D+信号线经过上拉电阻至高电平。根据USB2.0规范,全速USB设备的D+信号线的上拉电阻阻值为1.5 kΩ,D-信号线不连接上拉或下拉电阻。
3 系统软件设计
3.1 ADE 9000与MCU的SPI通讯
软件程序对ADE9000的功能设定和数据读取,均通过读写ADE9000片内寄存器的方式实现。在读、写每个寄存器时,先要进行一个SPI写操作。需要将目标寄存器的地址以及要进行的读/写操作选择合成为16位的指令写入ADE 9000,然后才能进行数据读写的操作。根据芯片资料[2],ADE 9000可以工作在SPI典型工作模式0和模式3下。本设计基于模式3,即时钟脉冲线空闲时为高电平,在第2个跳变沿开始捕捉信号。SS 是芯片的片选信号,当 SS为低电平时,选中芯片进 行数 据 传 输。图6给出了SPI读写操作的工作时序图。当 SCLK 为下降沿时,单片机器通过 MOSI 信号线写入 16位CMD。当SCLK为上升沿时,单片机通过MISO 信号线读取 ADE 9000 的采样数据。SPI总是以8 bit为单位进行数据传输,16-bit和32-bit的数据都是先读写MSB,再读写 LSB。
图6 ADE9000 SPI 读写操作工作时序图Fig.6 SPI read and write operation sequence diagram
写操作以设定A相电压通道增益为例。当 SCLK 为下降沿时,单片机器通过 MOSI 信号线写入 16位CMD。当 SCLK 为上升沿时,写入32位AVGAIN的设定值,即可完成对A相电压增益值得设定。
3.2 USB CDC类虚拟串口
本设计利用了某公司的图形化软件设置工具STM32CubeMX快速地完成对USB设备的初始化。STM32CubeMX的HAL库和作为中间件的USB设备库,极大简化了开发工作。在应用程序接口层的程序设计中,需要实现设备枚举和数据读取/发送。设备的枚举首先通过控制端口0响应USB主机的读写请求和获得系统配置,实现USB设备与USB主机的连接,然后将输入、输出端口配置成为块传输类型[7]。在USB CDC类通信的配置和数据传输过程中,在ST的USB设备库中,以下函数至关重要:
(1)初始化函数
HAL_PCD_MspInit( )函数实现了初始化GPIO接口硬件和时钟,并且设定了USB全局中断的优先级。
(2) 数据发送函数
USBD_CDC_SetTxBuffer( )函数将缓存的指针和大小放到USBD_CDC_HandleTypeDef结构变量中暂存。USBD_CDC_TransmitPacket( )函数的作用是在USB的空闲状态下,将暂存的缓存的指针和数据大小告知USB发送器,等待USB自动发送缓存数据。执行完该函数,需查看返回的USB状态值,确定数据是否成功发送。
(3) 数据接收函数
USBD_CDC_SetRxBuffer()函数用来指定接收缓冲区,每当USB控制器收到数据,控制器将调用CDC_Itf_Receive()函数接收和标记数据,并将数据被存放在之前指定的缓冲区内。数据接收完成后,USBD_CDC_ReceivePacket()函数被调用,复位OUT端点接收缓冲区。
3.3 MCU程序设计
MCU程序分为主程序、外部中断处理程序及定时中断处理程序。主程序用于系统初始化,各个模块初始化配置以及开启中断服务等。相关程序流程图如图7所示。主程序对 ADE9000的初始化配置,包括电源模式、测 量模式、中断模式和波形采样模式等。
ADE 9000通过中断方式与 MCU 进行数据交换。在初始化配置中需要对中断屏蔽寄存器MASK0和MASK1进行写操作,使能相应中断。正常工作时根据不同中断产生响应信号, IRQ0和IRQ1 引脚输出电平由高变低。当MCU 对应的外部中断引脚检测下降沿信号后进入中断处理程序。在中断处理程序中,通过读取状态寄存器STATUS0和STATUS1,找出数值被置为1的标志位,确定中断源。ADE 9000片内中断源主要是采样数据更新和过零点检测,也可配置电流过大,断相连接等异常中断。
3.4 上位机软件
上位机LabVIEW 软件程序的编写利用NI-VISA 总线接口函数。下位机连接USB设备并成功枚举为虚拟串口,对于LabVIEW而言通信为简单串口通信方法。主要使用到VISA资源配置,VISA写入,VISA读取取以及VISA关闭四个函数[8]。程序运行后,首先使用VISA资源配置函数设置波特率,数据位,奇偶校验方式等参数。VISA 读取函数使用前需通过VISA Bytes at Serial Port 节点查询当前串口接收缓冲区中可用数据字节数[9]。最后需要调用VISA 关闭函数结束会话,释放VISA资源。程序设计流程如图8所示。
图7 主程序和外部中断程序流程图Fig.7 Flow chart of main program and external interrupt program
串口缓冲区接收以特定标志结束的数据后,还需检查周期数据的长度以确保没有丢包情况。字符数据格式转换过程中,需根据对应的电能参数在ADE9000寄存器中的数据长度做相应处理。在转换后的数据基础上做数据计算及可视化实现。系统可视化总面板和谐波分析子面板如图9所示。总面板主要由通信参数设置,实时波形显示,电能质量指标显示。电能质量指标主要包括各相电压电流有效值,有功和无功功率值,视在功率值,三相电压电流矢量图。而总面板上“谐波分析”按钮则是开始谐波分量计算和分析的判定条件,按钮按下时子界面跳出。
图8 LabVIEW程序流程图Fig.8 Flow chart of LabVIEW program
设计使用LabVIEW的谐波失真分析函数(见图10)。由用户选择三相电压电流采样信号中的一种信号加Hanning窗处理。加窗后频谱的旁瓣效应减弱,可以抑制频谱泄露[10]。再做FFT,提取幅值最大的分量,即基频信号。然后从加窗后信号中除去基频量,循环进行FFT单频提取,得到其余各次谐波分量。
图9 系统总面板和谐波分析子面板Fig.9 System master panel and harmonic analysis panel
图10 谐波分析子程序框图Fig.10 Block diagram of harmonic analysis
4 结束语
给出了基于ADE 9000的三相电能计量与质量分析系统的设计方案。介绍了系统整体架构以及系统软硬件的主要实现方法。该方案电路集成度高,通信速度和运算速度快,可以保证实时性测量的要求。同时方案设计注重对各个环节误差的分析和控制,能够实现高精度的电能计量和电能质量分析。