随着我国经济的迅速发展,电力负荷急剧增大,对电力系统的污染越来越严重,而谐波含量则是目前电网中影响最为重要的一项指标。这也对监测电力系统运行状况的仪器设备提出了更高的要求。 在我国传统的电网运行参数测量和监控系统中,大多使用8位51单片机来实现。由于其运算速度和处理数据能力的限制,越来越难以满足目前电网监测的需要。本文设计了一种基于arm的三相电网电压谐波监测仪,它通过对三路电压信号的测量,利用快速傅立叶变换算出谐波含量等电网参数,同时还具有监测数据统计分析,与上位机通信、显示及报警等功能。 2 仪表结构和工作原理 本仪表主要结构包括:开关电源模块、信号采样调理电路、A/D转换电路、实时时钟电路、报警控制电路、数据存储电路、通信接口电路、人机交互显示电路和mcu控制器等几部分。系统整体框图如图1所示。 三路被测信号经过电压互感器的采集,然后进行滤波放大,经过A/D转换器变为数字信号送mcu处理 微处理器利用FFT变换可计算出各路电压有效值,2~31次谐波含量,最后再参照电网电压谐波标准进行相应处理。该监测仪通过串口通信方式可与上位机或远程监控服务器进行数据传输。同时监测仪可随时响应按键输入,所需内容可通过液晶屏显示。 3 硬件结构 本监测仪的mcu选用Philips公司基于ARM7TDMI内核的LPC2134芯片。它具有16k的片内静态RAM和128k的片外flash,工作最高频率可高达60M,通过片内boot程序可实现在系统编程/在应用编程(ISP/IAP),片上有两个符合16c550工业标准的UART,两个高速I2C(400kb/s)接口,两个SPI接口,两个32位定时器,还有实时时钟和看门狗功能。最可贵的是它只需3.3V的单电源供电,I/O可承受5V的电压。该芯片可提供高达46个GPIO。 电压信号的采集无论是对原始电网谐波分析,还是对电网的频率等其他电能质量参数的精确测量都十分关键。在监测仪中采用精密电压互感器,将输入端电压信号转化为毫安级的电流信号,经过电阻取得电压信号。此电压信号经多路选择开关后跟随、放大,调理到.A/D转换器允许的电压输入范围。同时多路开关输出的电压信号经过同步锁相电路后接MCU的中断引脚,使MCU可控制A/D转换器对输入信号保持同步采样。由于电压互感器的隔离作用,外部干扰不易对系统内部产生影响。考虑到控制器主要关注的是电网谐波参数,在设计信号调理电路时尽量避免使用电容,以免产生不必要的滤波和相移。 由于本监测仪是对三路信号进行监测,每路需要在20ms内采样128个点的数据,这就对A/D芯片的速度提出了较高的要求。该监测仪A/D转换芯片采用美信公司的MAX187,它是12位逐次比较型的转换器,采样速度高达75kHz,内部提供标准4.096V的参考电源,与MCU通过SPI接口连接。 4 软件设计 系统的软件分为系统初始化、采样转换、FFT计算、数据统计分析存储、时钟读写、人机交互以及和上位机的通信等几个模块。 该监测仪以秒为周期,在1s内对三路信号各采样128个点,然后进行FFT。计算,所得结果再根据仪表的设定参数进行统计、分析、存储、显示等操作;同时时刻监测有无按键输入和上位机命令请求。 数据处理是本仪表软件设计的关键部分,主要是对20ms之内采样的128个点进行FVI、计算,算出各路测量信号的基波分量和各次谐波分量。由于FFT输人数据均为实数,可采用改进型的FFT算法,用64点的FFT算出128点的结果,这样既提高了运算速度又节省了存储空间。 人机交互界面的设计是本仪表软件的重要部分,主要包括主菜单、各路电压谐波实时数据界面、各种参数设置界面等。由于仪表需要显示的画面太多.而按键只有6个,为了提高仪表的可维护性和可扩展性,在本模块的设计过程中充分利用了虚函数的功能。虚函数本身没有实现部分,只为具有相同功能的一类函数提供一个接口。系统中,声明了两个虚函数:(*MenuFunction)、(*KeyFunction),前者作为菜单显示接口,后者为键盘操作接口。主程序中(*MenuFunction)只调用一次,(*KeyFunction)被循环调用。需要更新页面(显示菜单、显示实时数据等)时,可以将更新代码置于(*KeyFunction)中即可。为了便于管理,给每个页面分配一个代码,在整个系统中这个代码是唯一的。有了这个代码,所有页面切换的相关问题都可以通过代码变换来实现。 显示页面需要注意的问题。页面属性主要由DispFunction、KeyFunction、Code(代码)、PreMunuC0de(前一页面的代码)、KeyCode(按键代码)、OldKeyCode(上一按键代码)6部分组成。为了使程序具有统一的形式,可以将页面显示函数以代码为下标组成数组(PageDisplayArray[]),将页面对应的按键函数以代码为下标组成数组(KeyFunctionArray[])。另外,为可标识页面上某部分(如“历史”)被选中,该块需要反显,因此需要建立以代码为下标,内容是对应页面的*Tab数组。*Tab数组以KeCode为下标,内容包括块起始地址、宽度、长度三类数据(PageTabArray[])。在系统运行时,如果要显示代码是2的页面,只要在显示前完成以下3步就可以了: MenuFunction=PageDisplayArray[2], KeyFunction=KeyFunctionArray[2], TabPoint=PageTabArray[2]。 5 仪表的抗干扰设计 5.1 硬件的抗干扰 为了保证系统的稳定工作,仪表在硬件设计中采取以下抗干扰措施。 (1)给处理器电源加滤波电路,以减少电源噪声对微处理器的干扰。 (2)对电路板进行合理布局,数模分区,强电、弱电分区,将处理器尽可能远离开关电源等强干扰源,对数模信号进行光偶隔离,对操作时序要求较高的采用快速光耦,速度不作要求的则采用普通光耦即可。 (3)对电路板上主要功能芯片的电源端加0.1μF的高频电容,对于没有用到的管脚根据具体情况进行接地或接电源处理。 (4)在PCB制作中所有地线均采用单点共地,数字地和模拟地分开,防止信号的相互干扰。 (5)在芯片选择上优先选用SMD封装的高噪声容限的CMOS器件,本仪表上80%以上的器件均采用SMD封装,同时也大大减小了PCB板的面积。 (6)使能片上看门狗,防止软件跑飞。 5.2 软件抗干扰 软件的抗干扰措施主要是对采样数据进行处理,采用程序判断滤波算法。根据经验确定出两次采样的最大偏差,若先后两次采样的信号相减数值大于最大偏差表明输人为干扰信号应去除;采样值与本次采样值比较,若小于或等于最大偏差则未受到干扰,本次采样值有效,这样可以滤去随机干扰引起的误差。本方法能有效克服因偶然因素引起的脉冲干扰。 6 结束语 本文设计的三相电压谐波监测仪充分利用了32位arm处理器的运算速度快、处理数据能力强及片上资源丰富等优点,合理进行外围电路扩展,在仪表硬件和软件上采取了多项抗干扰措施,使该监测仪完全能够满足对电力系统各项参数监测的实际需求,实现了友好的人机接口,必将有着良好的应用前景。
(编辑:银红丽) |