- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
DSP与LabWindows/CVI的电力故障监测录波器设计
摘要:针对现有电网实时监测录波系统的缺陷,设计出一种结合DSP与Labwindows/CVI软件的故障录波器。分析了FFT精确快速分析谐波的能力及其在DSP上的实现方法。介绍了硬件结构原理,给出硬件设计框图和LabWindows/CVI控制的软件流程,并研制出故障录波器。所测结果可通过LabWindows/CVI软件在电脑上实时显示。实验结果验证了DSP运用FFT分析算法的快速性和准确性,系统运行稳定可靠,有较好的应用前景。
关键词:电力故障监测录波;TMS320F28335;LabWindows/CVI;AD7656;FFT;C8051F005
引言
故障录波器是提高电力系统安全运行的重要自动装置,当电力系统发生故障或振荡时,能自动记录故障点前后一定时间内各种电气量的变化。参考文献设计的故障录波器采用虚拟软件与数据采集卡相结合的方法,其缺点是必须依靠计算机来进行计算分析,设备移动不方便,
而且数据采集卡的价格也比较高,使得产品应用有一定的局限性。参考文献设计的是一种基于DSP和A/D转换器件相结合的故障录波器,所用的A/D转换器件不能同步转换6路信号,所测结果之间有一定的延迟。针对以上缺点,现采用DSP和AD7656相结合的方法,通过外接LCD显示波形和数据,使其可以作为手持设备使用,也可连接电脑通过LabWindows/CVI软件在电脑上实时显示,所用的AD7656具有的6路同步采样特性克服了测量结果之间有延迟的缺点,提高了测量精度。
1 运行原理及相关算法
综合了此前所提出的各种性能指标,故障录波器采用硬件与软件相结合的设计方法,高速数据采集装置以DSP-TMS320F28335为核心,利用TBC-LXH双环系列闭环霍尔电流传感器和CHV-25P霍尔电压传感器对信号进行采集,并采用高性能的AD7656完成对信号的A/D转换,利用LCD进行波形显示并利用LabWindows/CVI软件进行控制。本装置加LCD主要是考虑到可以在没有电脑的情况下显示电压电流波形,方便操作。
此装置由3部分组成:检测部分、计算部分、上位机控制部分。系统框图如图1所示。系统运行情况如下:首先电网的各项电压电流通过滤波器滤去高频干扰和低频漂移信号,之后由检测部分的电压电流传感器对电网三相电压、电流等基本参数进行实时检测,所测的6路模拟量传递给AD7656;TMS320F28335控制AD7656将6路模拟量转换成数字量,DSP利用FFT算法对电压电流的数字量进行分析,提取出基波和各次谐波分量,并算出有功功率、无功功率和THD值,再传递给C8051F005单片机和终端计算机;外接于单片机的键盘控制LCD显示波形,计算机利用LabWindows/CVI软件进行波形数据的显示、存储和打印等。
本谐波分析方法采用快速傅立叶变换(FFT)。其在DSP的实现方法利用创建FFT的库函数进行运算,具体的实现方法在软件部分详细介绍。
2 系统硬件设计
本装置核心采用TMS320F28335和AD7656器件,采集来的信号经过DSP运算能通过RS-485串口与计算机通信。
2.1 TMS320F28335及外围电路
2.1.1 复位电路设计
TMS320F28335的复位电路采用上电复位电路,由电源器件给出复位信号。一旦电源上电,系统便处于复位状态,当XRS为低电平时,DSP复位。为使DSP初始化正确,应保证XRS为低电平并至少保持3个CLKOUT周期。同时,上电后,该系统的晶体振荡器一般需要100~200 ms的稳定期。所选的电源器件TPS73HD301一但加电,其输出电压紧随输入电压,当输出电压达到启动RESET的最小电压时(温度为25℃时,其电压为1.5 V),引脚RESET输出低电平,并且至少保持200 ms,从而满足复位要求。
2.1.2 时钟电路设计
向DSP提供时钟一般有2种方法:一种是利用DSP内部所提供的晶体振荡器电路,即在DSP的X1和X2引脚之间连接-晶体来启动内部振荡器;另一种方法是将外部时钟源直接输入X2/CLKIN引脚,X1悬空,采用已封装晶体振荡器。鉴于从资源利用和电路设计的简单性考虑,该最小应用系统的时钟电路采用TMS320F28335内部晶体振荡器,具体电路如图2所示。外部晶振的工作频率为30 MHz,TMS320F28335内部具有一个可编程的锁相环,用户可根据所需系统时钟频率对其编程设置。
2.1.3 供电电路设计
DSP的供电要求为其内核和I/O分别进行供电,现采用电源器件TPS73HD301为DSP供电,内核供电电压为1.9 V,I/O口供电电压为3.3 V。
2.2 AD7656及外围电路
AD7656的电源设计中,AVcc和DVcc是AD7656的模拟电压输入端和数字电压输入端。AD7656作为6通道独立的同步采样数据转换器,在转换过程中需要足够的电能量,所以AVcc的去耦在设计中就显得十分重要。在实际电路设计中,可以单独提供+15 V(或+12 V)电压给Vdd和Vss电源输入端,同时提供+5V给AVcc模拟电压端。通过滤波器(小电阻或磁珠)把AVcc连接到DVcc。然后再通过滤波器供给系统+5 V电源。AD7656的
RANGE接地,输入电压范围为基准电压的4倍。H/S引脚和SER/PAR都接地,用以开启硬件控制转换输入模式,由CONVSTA/B/C引脚控制采样。其中的REFCAP_A、REFCAP_B和REFCAP_C全部接地,用以控制输入全部成对转换。
2.3 系统整体硬件设计
2.3.1 AD7656与检测部分的连接
检测部分的传感器采用TBC~LxH双环系列闭环霍尔电流传感器和CHV-25P霍尔电压传感器。电流传感器的额定测量范围为O~150 A,反应时间小于20μs,温度漂移小;电压传感器测量范围为0~500 v,反应时间小于10μs,线性度好。因为输入的电压电流存在高次谐波和噪声信号,所以需要一个前置的滤波装置进行抗混叠滤波,而且为了满足AD7656的16位精度的要求,前端要选用高精度并且可以处理10 V双极信号的运算放大器作信号处理和滤波。此运算放大器选用AD8022,如图3所示。INl为初始模拟信号的输入端,经过AD8022之后传递给AD7656,其中三相电压电流都与此连接方式相同。
2.3.2 DSP与AD7656的
AD7656与DSP的连接如图4所示。DSP的ADCINA和ADCINB复用为I/O口,与AD7656的D0~D15数据口相连,用于数据的传输。DSP的GPIOB59与AD7656的BUSY相连,用来检测AD7656是否处于转换状态。DSP的GPIOB60与AD7656的CONVST相连,GPIOB62与AD7656的片选端口相连,用以控制AD7656的启动与停止。GPIOB61与AD7656的读写端口相连,用来控制读取AD7656转换后的数据。GPIOB63与AD7656的RST端口相连用来控制AD7656的复位。ISSl61LV6416是片外随机存储器。
2.3.3 DSP与单片机和计算机的连接
DSP的SCIB与计算机进行串口通信。因为:RS-232的抗干扰能力较弱,所以选择RS-485作为通信串口,再通过转换芯片转换为与计算机适合的电平。DSP的SCIC串口与F005单片机PO.0和PO.1口相连。其传输的波特率设置为9600 b/s。
2.3.4 DSP与外扩存储器的连接
扩展的数据存储器选用了超捷(SST)公司的SST25VF040。SST25VF040是公司的SPI接口的串行闪存,它是一块低功耗Flash,存储容量为4 MB,工作在2.7~3.6 V的电压下,因此可以直接和DSP相连。其连接图如图5所示。DSP的SPIA口的接收和发送端与其SI和SO口相连,用来进行数据的传输。GIPIO26和GIPl027分别用来对存储器的片选和读写进行控制。
2.3.5 C8051F005与LOD和键盘的连接
为了使故障录波器能够方便移动使用,采用了新华龙公司F005单片机外接LCD和键盘来控制的方法,可以脱离电脑通过外接键盘来控制故障录波器的运行。F005的P1.O~P1.7外接键盘的8个键位K1~K8,其可以控制6种波形的显示,设置故障记录的上下限值等。LCD采用240128 E型号的液晶,F005的P2.O~P2.7接LCD的DBO~DB7用于数据的传输,P3.O和P3.1接LCD的读写口。
3 系统软件设计
软件设计包括LabWindows/CVI软件程序和DSP控制A/D转换程序,以及利用FFT变换提取出基波分量和各次谐波分量的程序。
3.1 整体流程
下面以流程图方式进行软件设计的说明。如图6所示,通过控制界面串口的设置完成串口设置,设置成功系统开始运行。
如图7所示,界面上有故障自动记录时间选择按钮,如果设置2s,则存储故障前后共4s的波形。通过波形选择按钮可选择要显示的波形,选择A相电流,则可显示出其波形和各次谐波数据等(如果未接计算机,可以依靠外接键盘来设置其相关值)。DSP开始运行时,进行系统初始化,传感器开始检测电压电流,检测到的模拟信号由A/D转换为16位的数字信号,由DSP进行FFT运算分析出各次谐波分量,并计算出THD值。所计算出的基波最大值与所设置的标准值进行比较,当大于或小于设定值时,触发报警装置。之后所测数据由串口传送到计算机的控制界面和单片机,控制界面显示出所测波形和数据,可保存故障波形和数据。单片机控制LCD进行显示,图7中的实验结果为A相电流波形,显示出A相电流的基波和各次谐波值,并算出THD值等。
3.2 LabWindows/CVI部分程序
当系统运行时,首先配置串口,向串口发送要显示的某相电流或电压,DSP会根据指令要求传输给计算机。软件界面会显示波形和其有效值,并可根据情况进行存储打印等。下面部分函数:
3.3 实现FFT变换和计算THD值等
DSP能够进行浮点运算,其定标能够实现数值的精确计算。定标简单来说就是把一个小数换算成整数,然后进行运算,这样使得运算误差变小。例如,一个小数为1.123 456 789,后面还可以有好几位小数。如果直接计算的话,运算中会舍去小数点后的部分数值,使得误差变大。如果利用定标运算,可以把1.123 456 789变为整数1.123 456 789×225(选择Q25定标)后进行运算,这样使得计算的结果误差比原来小。这是DSP运算的一大优点,而且其运算速度快,利用FFT运算时,采样谐波频率可以达到31次之多。
DSP初始化程序:
可以通过控制界面发送要显示的某相电压或电流的指令信号,也可以通过键盘来发送要显示的信号波形。DSP通过判断接收中断标志位和指令信号,来触发A/D转换,中断指令如下: