基于DSP+ARM的便携式电能质量分析仪设计
2 系统软件设计
系统软件设计包括ARM部分WinCE操作系统定制、应用程序设计和DSP部分数据处理程序设计。
2.1 WinCE操作系统定制及应用程序设计
WinCE是模块式、多任务、实时嵌入式操作系统,微软公司提供了功能强大的开发工具,WinCE操作系统定制包括操作系统内核定制、各相关驱动程序编写等。其内核的定制使用PB(Platform Builder)软件,相应的驱动程序开发使用EVC(Embedded Visual C++)。
系统应用程序是在WinCE5.O上由VS 2005(Visual Studio 2005)开发的C#窗体应用程序,其主要功能为:实现良好的人机界面、合理的功能设定、数据的接收显示及存储、对DSP和系统电源的控制等。
电能质量分析仪应用程序的界面是根据不同的测量用途来划分的,分为示波器、功率和能量、谐波、向量图、骤升骤降、闪变和瞬态等显示界面,不同的显示界面运行着不同的显示线程,每一个显示线程都有一个对应的数据传输模式。ARM根据这个数据传输模式来给DSP处理器发送命令,进行相应计算和传输相应的数据。
2.2 数据处理程序设计
数据处理程序流程图如图3所示,程序启动后,DSP通过SetiaIs中断读取ADC采样数据,同时接收SPI中断,根据ARM系统的命令进行相应的电能质量指标计算,将计算数据通过Link Port传送给FIFO供ARM系统读取;IRQ0中断用于控制数据传送的节奏和数据同步。
2.3 数据处理算法介绍
电能质量分析仪需要对电力信号进行稳态分析和暂态分析。稳态分析包括检测三相电压、电流的有效值,电网频率,电压、电流的各次谐波及谐波总畸变率,电压、电流中的正序和负序分量;三相不平衡等的计算。暂态信号分析包含电压瞬变、短时电压骤升、骤降、电压闪变、短时严重波形畸变等检测内容。相对于稳态分析,暂态电能质量分析需要对信号进行快速、实时、准确的测量与分析。
FFT变换是电能质量分析的重要工具,为提高采用FFT变换的计算精度,需要通过硬件或软件方法实现整周期采样。整周期采样就是要求采样的数据刚好是信号的整个周期或是倍数,也就是假如信号周期为T,就是要保证:N/fs=L×T其中,L为整数;fs为采样频率;N为采样点数。
在实际采样中,通常做不到整周期采样,即使知道信号的周期,采取同步采样,也只能使信号中的某些频率(工频及其倍频)接近整周期采样,而不能使信号中所有的频率成分(如噪声等)都是整周期采样。非整周期采样的直接的后果就是频谱泄露,使获得的频率成分不准;第二个后果就是对于频率相隔较近的多频率成分信号来说,会出现干涉现象。
为简化硬件设计本文采用非整周期采样,通过加窗傅里叶变换来减小频谱泄露和干涉。通过加窗傅里叶变换法可以精确计算出50次以下谐波的幅值和相位。从谐波分析结果进一步计算可以得到三相系统各相的有效值、频率、功率、相位差、失真度和不平衡度等基本电参数。
微分算子可以检测瞬变,而小波滤波器的N阶消失矩和N次卷积微分算子具有等价关系。在此原理基础上设计了基于小波变换的电压瞬变检测算法。在短时电压骤升骤降和浪涌电流检测中,使用了实时真有效值计算方法,通过有效值与阈值的比较来判断有无事件发生。电压闪变的评估使用了IEC推荐的同步检波法,通过IEC测试数据对闪变测量值进行校准。在此硬件平台所设计的暂态电能质量分析软件可实现对电压瞬变、短时电压骤升骤降、浪涌电流、谐波、三相不平衡度、电压闪变等项目的测量。
3 系统测试结果
搭建了以Chroma 61702功率信号源及三相交流电机组成的Y型接法测试系统,对本检测系统的稳态分析功能和暂态分析功能进行检测。实测表明该系统具有较高的测量精度,能够精确测量电压电流有效值、功率能量值、最高50次谐波分量、三相不平衡度、短时闪变值和长时间闪变值,各项测试指标满足设计要求。
该仪器可以捕捉电网实时真有效值并显示结果,方便观测者检测电网电压事件,同时本仪器可以实时捕捉电压电流波动与闪变、电压跌落等事件,并将事件存储于SD卡中以便用户随时读取。
4 结语
本文从便携式仪器设计的角度出发,设计了一种电能质量分析仪。该仪器用DSP实现数据采集与处理,快速准确的计算出各项电能质量指标,能够进行稳态分析和暂态分析;用ARM嵌入式平台实现数据管理、人机界面及系统控制,结合WinCE操作系统,提高了系统的可靠性,为实现电能质量分析仪智能化及网络化提供了良好的平台。通过实际测试,表明该仪器各项指标均满足IEc电能质量测量标准。通过选用低功耗器件,以及采用电源控制,实现了系统的低功耗;系统硬件设计简洁,集成度比较高,实现了系统的便携式设计。
- 基于WinCE的液位遥测系统软件设计(04-13)
- 基于WinCE的SPI接口驱动程序设计(08-03)
- 基于ARM9与WinCE的车辆GPS定位信息采集系统(08-14)
- 基于ARM9的船载监测系统设计(08-10)