陈卫峰,邓小颖,陈 磊
(扬州大学 信息工程学院, 江苏 扬州 225127)
随着电力电子技术的飞速发展,各种高电压、大容量非线性负载设备在现代工业生产中得到了大量应用,如电子调压设备、电弧炉等[1-3],但其在运行时产生了大量的谐波电流注入电网,使电网电压和电流波形发生畸变,对电能质量、输电设备和各类仪表产生极其不利的影响。因此,谐波检测是解决谐波问题的首要环节,它对谐波的治理,电力系统的分析、测量及治理起着极其重要的作用[4-6]。
目前,市场上有一些可以用来检测电网谐波含量的仪器仪表,但这些仪表价格比较昂贵,智能化程度不够高。因此,为了满足工业谐波测量的需求,设计了一种新型网络化智能谐波表。在本设计中,谐波表采用三相电能专用计量IC,实现电压、电流、功率和电能等数据的测量,无需通过CPU,而通过ADC进行数据采集,大大减轻了CPU的负担。软件上采用了成熟的RL-TCPnet协议栈,实现了网络通信。
仪表采用MCU+电能计量IC的结构。网络化智能谐波表的总体结构如图1所示。
其中,MCU采用STM32F407VET6。该MCU是基于Cortex-M4内核并且内置浮点运算单元,工作频率高达168 MHz,从而可以轻松处理复杂的FFT运算[7-8]。MCU具有极其丰富的外设(UART,SPI,I2C,ADC,DAC等)。
电能计量IC ATT7022E是一款多功能高精度三相电能专用计量芯片,适用于三相三线和三相四线应用。ATT7022E集成了多路二阶sigma-delta ADC、参考电压电路以及所有功率、能量、有效值和功率因数等数字信号处理电路[9],能够测量各相以及合相的有功功率、无功功率和各种电能等,同时还能测量各相电压、电流等。内置容量为2 KB的ADC,提供同步采样数据,便于分词谐波分析,无需进行预处理[10]。
ATT7022E作为本设计的核心,所以它的设计好坏影响着整个系统的数据采集精度。
ATT7022E内部集成了7路19位A/D转换器,其电流通道有效值在0.1~500 mV时线性误差小于0.1%[11];电压通道有效值在0.2~500 mV时线性误差小于0.1%;电压有效值取值在0.2~0.5 V,电流取值在0.2~500 mV,电能线性误差小于0.1%[12]。
每路ADC的交流输入由VxP和VxN输入,以地为中心,不需要偏置电压。系统的交流电压采样和电流采样如图2所示。
图2 交流电压电流采样
电压采样电路的原理:先把电压转换成电流,然后进入电流互感器初级,从而在次级得到感生电流,再把电流转换成电压。图2中的UN和UA是电网电压,参数是对220 V为参考电压而设计的。电流采样电路的原理和电压采样类似,通过变比为5 A/5 mA电流互感器ZMCT203C把初级安培级大电流降至mA级小电流,然后进行电阻取样,送至AT7022E的采样口。采样电路均采用通过互感器的方式,能够很好地把电路板和高压电网进行电气隔离,保证了电路板的安全性,从而获得良好的抗干扰性能[13-15]。
采样电路中1.2 kΩ电阻和0.01 μF电容构成了抗混叠滤波器,其低通截止频率为:
其结构和参数要对称,并且采用了温度性能较好的元器件,从而保证电表获得良好的温度特性。ATT7022E的外围电路如图3所示。
图3 ATT7022E外围电路
在ATT7022E外围电路中,供电电源加了常规的10 μF钽电容和0.1 μF瓷片电容,保证电源的稳定和抗干扰性能。ATT7022E同时也需要提供模拟电源,为了避免数字电源的噪声,在模拟电源和数字电源以及在模拟地和数字地之间加了0 Ω电阻。单片机和ATT7022E的接口为高速的SPI接口,为了防止SPI信号受到干扰,在SPI信号线上串联一个10 Ω电阻,并且在信号输入端接一个100 pF电容,形成一个低通滤波器,从而可以有效消除接收信号的高频干扰。
STM32F407芯片内置一个以太网模块,该模块包括带专用DMA控制器的MAC 802.3介质访问控制器,支持介质独立接口(MII)和简化介质独立接口。在本设计中,采用了低功耗的LAN8720作为外部的以太网PHY层芯片。LAN8720的外围电路如图4所示。
图4 以太网电路
在以太网电路设计中,电源部分的设计也采用电感隔离的方式,并且加了电容实现滤波。采用了内置变压器的网络接口芯片HR911105A。
基于ATT7022E的网络化智能谐波表的软件设计主要包含以下几个模块:系统初始化程序、电参数测量程序、按键程序、校表程序、显示程序、以太网通信程序和铁电存储器读写程序等多个程序模块。系统软件流程如图5所示。
图5 系统软件流程
系统上电后,首先执行系统的初始化程序,包括LCD初始化、配置以太网的网络参数等;然后从FRAM中读取存储的校表数据,加载到校表参数寄存器中;然后从ATT7022E的有效值寄存器读取有关相电压、相电流等数据,并进行换算,从而得到实际的采样结果;把采样结果显示在LCD上;在主程序的循环中,检测按键的状态,如果有按键按下,则进行按键的处理,包括操作菜单和执行校表命令等;在主循环中,还需要进行网络命令的判断,如果收到网络命令,还需要命令帧的解析。
本系统还支持Modbus通信协议。为了保证通信不丢包,Modbus协议处理放在串口中断服务程序中。
在本系统设计中,最影响系统电参数精度的是校表过程。在对电表进行校正时,需要提供标准电能表。利用标准电能表校准时,有功能量脉冲输出CF1可以直接连到标准表上,然后根据标准电能表的误差读数对ATT7022E进行校正,ATT7022E只需要对有功功率进行校正即可,无功功率增益校正寄存器校正的系数和有功功率增益校正的系数相同。对于不同电量参数,校正系数的计算方法类似。下面就以相电压参数为例说明校正系数的计算方法。
先执行对电压增益校正寄存器全部清零,即在Ugain=0时,标注表上读出实际输入电压有效值Ur,程序读出测量值为DataU,可以计算出测量电压有效值为Urms=DataU/213,由此可以计算出:
如果Ugain≥0,则:
Ugain=INT[Ugain×215];
如果Ugain<0,则:
Ugain=INT[216+Ugain×215]。
最后,把Ugain写入电压增益校正寄出器,即完成对相电压的校正。
ATT7022E提供了同步数据采样的功能,便于分次谐波分析,无需进行预处理。内置了2 KB的ADC缓存,用来保存采集7路ADC的原始采样结果,供程序做进一步分析。程序上发送同步采样命令后,ATT7022E在每个采样周期将相应的ADC数据保存到缓存中,直到缓存满为止。只要不发送新的命令,缓存的数据会保持上一次的结果。
读取的采样数据为24位数据,其中高8位0,低16位为实际采样的ADC数据。在缓存中存储顺序为Ua,Ub,Uc,Ia,Ib,Ic,In。
根据内存容量,6路信号的采样长度都取128点,2个周期。采样数据被读入STM32F407后,需对其做频谱分析。为减小在非严格同步采样的情况下,截断所引起的频谱泄露效应,对信号加哈明窗后再做FFT,加窗在时域就是乘窗函数,哈明窗函数如下[16-18]:
(1)
式中,N=128。
加窗和不加窗2种情况下,Ua信号的幅度谱如图6所示。测试信号中加入了16次谐波成分,图6中纵坐标为信号幅度,对基波做了归一化处理,谐波峰为与基波比较的相对幅值。横坐标取64点作图(对应数字频率0~π,模拟频率0~1 600 Hz),16次谐波出现在第32点附近。从图中可看出,加窗后的频谱谐波成分更加明显,无谐波部分更加平滑,说明有效地抑制了频谱泄露和高频处的频谱混叠。
图6 加窗频谱分析比较
考虑到6路信号都需要做频谱分析,为了提高计算速度,选取同一路的电压、电流信号为一组,即根据UaIa,UbIb和UcIc将6路信号分为3组,然后对2路实信号同时进行FFT的算法。方法为构造复信号x(n)=U(n)+jI(n)。若FFT[x(n)]=X(k),则有:
(2)
式中,N=128。编程时将实部和虚部分别计算,再求取每点的幅度。标准台输入谐波下测量结果如表1所示。
表1 谐波分量测试结果
本设计中采用STM32F407内置的以太网MAC控制器,外置LAN8720和网络变压器,一起构成以太网通信硬件部分,软件部分采用了集成开发环境MDK内置的RL-TCPnet库。此库作为小型的网络协议栈,支持HTTP、Telnet、SMTP、FTP网络应用层协议。占用内存小,支持裸机和OS两种方式。
RL-TCPnet库是不开源的,只需要把相应的库文件添加至工程文件中,选择相应的STM32自带的MAC驱动和PHY的驱动,即可完成库的移植。在应用层中,实现了本系统作为Web Server,用户可以通过手机或者电脑浏览器去查询谐波的数据[19-20]。
ATT7022E作为一款高性能的电能计量芯片,计量精度高,采用它可以大大减少系统的外围电路,提高系统的集成度和稳定性,也大大减轻了CPU的负担。只要简单的校表流程,就可实现测量数据。并且测量结果可以通过Modbus协议进行传输。在本系统设计中,如果采用TFT触摸液晶显示器,将会增强系统的人机交互性能。