一种分布式风力机信息采集和状态监测系统的设计*
2016-11-21李月芳梁瑞宇
李月芳,梁瑞宇
(1.常州轻工职业技术学院电子电气工程系,江苏常州213164;2.南京工程学院通信工程学院,南京211167)
一种分布式风力机信息采集和状态监测系统的设计*
李月芳1,2*,梁瑞宇1,2
(1.常州轻工职业技术学院电子电气工程系,江苏常州213164;2.南京工程学院通信工程学院,南京211167)
为了对风电机组实时远程监控并实现分布式网络化管理,设计了一种基于ARM嵌入式系统的风电机组振动监测系统。系统有24通道的模拟信号采集电路,并借助于FPGA对周围电路进行逻辑控制和数据的实时采样;FPGA与ARM通信应用EDMA技术,极大提高了数据传输速率,可满足高速率采样的数据传输要求;此外,上位机与目标板之间的数据通信采用TCP/IP协议。通过实验观察上位机输出结果,验证了数据的实时性和准确性,达到了对风电机运行的状态信息监测和故障诊断的要求。
风电机组;ARM;FPGA;EDMA;实时监测
由于风力发电设备常地处恶劣的环境且机械结构复杂,发生故障的概率极大,一旦出现故障,不仅需要昂贵的维修费用,而且因此产生的停机也将带来很大的损失。因此对风力发电机组的实时监测,及时诊断并排除故障有着重要的实际意义。但是目前风电机组的传感器信号至状态监测机柜都是电缆连接,信号衰减及噪声干扰严重,数据采集传输速率都远远达不到实际需求,且状态检测机只是进行采集和简单处理,无法将机械的运行状态都将纳入监控范围,显然,目前的状态监测系统已经不能满足信息化管理的需要。
本文根据实际需要,提出一种ARM嵌入式系统构建的旋转机械分布式、网络化、多种通信方式(风力机)的状态监测与故障诊断系统。通过FPGA对采集的数据的高速处理和EDMA的高速数据传输获取方式,实现了对多通道并行采集数据的实时获取和监控,大大提高了采样和处理的数据量。应用层软件在获取上位机指令后可以根据需求对信号采集速率,获取信号类型,采集通道等参数进行调节。同时,ARM可通过USB、can总线、485总线和Internet等多种方式与外部计算机通信,方便进行调试,实现了网络化,信息化管理。本文重点对FPGA逻辑控制模块以及EDMA通信的实现进行介绍。
1 系统总体设计
系统总体框架图如图1所示。风电信号采集系统总体可以分为硬件和软件两个部分。其中,硬件部分主要包括前端对传感器采集数据的处理模拟电路,A/D转换电路,FPGA逻辑控制模块以及ARM核心处理芯片。在硬件电路对数据采集的基础上设计了应用层软件程序,实现对数据的上传,处理和跟踪的功能,通过TCP/IP协议与上位机进行通信。应用层在接受到上位机的指令后可以对采样速率,点数,周期,通道等参数进行控制。应用层还具有对采集信号实时跟踪的功能,并对接收的数据进行FFT运算,以获取数据的频域信息以便能更加全面获取风电机运行的状态信息。
图1 风电信号采集系统总体框架图
2 硬件设计
2.1模拟信号采集电路与FPGA模块设计
本文系统中主要有24通道信号同步采集,包括8路振动信号,8路4 mA~20 mA直流信号,4路三线热信号以及4路慢变信号。其中振动可以通过位移、速度和加速度3种运动量来表示[1]。在实际测量工作中,由于传感器,信号特性等方面的差别,需要对传感器以及信号前端的模拟信号处理电路进行合理的选择设计。其中振动信号是风电状态监测中的关键,其模拟信号电路处理过程如图2所示。信号均采用差分输入,具备高共模抑制比,能有效减少噪声干扰。在对加速度传感器获取的信号低通滤波和放大之后,可以得到间隙直流信号;对信号进行一次积分,二次积分之后可以分别获得振动速度信号和振动位移信号,再经过MAX291八阶滤波器进行抗混叠滤波。A/D转换采用芯片AD7606,其中AD7606是16 bit 8通道信号同步采样数据模数转换芯片,是逐次逼近型模数转换器,本系统中采用了八通道并行采样输出的工作模式,达到了每通道A/D采样速率>200 ksample/s。
图2 振动信号处理电路框图
对于4 mA~20 mA直流信号,三线热信号以及慢变信号的处理主要包括分压,放大和低通滤波等步骤。并使用12 bit A/D转换芯片mcp3208,对信号进行模数转换,其转换速率可达到100 ksample/s。最后得到数字信号即可送入FPGA中。
FPGA处理器可以对外围电路进行逻辑控制,并完成与ARM层通信的功能。其处理芯片采用Altera公司Cyclone IV E系列的EP4CE15F17C8,其内部资源丰富,有15 000多个逻辑单元,16 00多个寄存器,166个管脚,可以外部扩展SRAM,Flash等存储器,能够很好地满足对大量信号的实时采集处理的要求。使用的硬件编程语言为VHDL语言,开发软件为QuartusⅡ13.0版本。
为了保证信号数据采样的高速性和同步性,对FPGA编程配置的灵活性和适应性提出了更高的要求。其主要包括了两个重要模块:(1)由数字锁相环构成的数字倍频器模块,它是一个相位反馈控制系统,其功能是对采集的键相信号进行倍频操作,通过和提取的参考相位比较,使得最后得到的倍频和所需要的频率十分接近。其输出的倍频信号一方面作为滤波器MAX291芯片的时钟频率,实现跟随输入频率的变化实现跟踪滤波的功能,另一方面作为AD7606采样频率,这是完成8通道振动信号同步整周期采样的关键环节;(2)是数据采集控制模块,其中设置了两种采样触发方式,当有键相信号时为整周期采样,即外部采样触发方式输出A/D触发信号并控制数据的存储。当处于无键相或键相失效状态时,采用内部触发方式,由软件产生A/D转换触发信号,由上位机设定采样频率,以等时间间隔方式进行采集。对采集的数据写入RAM缓存中,以供ARM层对数据的接收获取。FPGA主要模块框图见图3。
图3FPGA功能模块框图
此外,FPGA中还开辟了相关的寄存器空间,上层可以通过对寄存器内容的设置来控制FPGA的定时计数,采集频率,以适应不同数字信号的频率要求[2]。
2.2FPGA与ARM的通信设计
在硬件电路板中,ARM微控制器作为核心主控单元,不但要完成A/D采样数据的读取,还需要实现FPGA与上位机通信的功能,可以说起到了承接上下模块的关键作用。本系统中核心处理器选用TI公司的ARM芯片AM335x,它是基于ARM® Cortex™-A8技术的一款32 bit高性能的微控制器,其内部资源非常丰富,包括集成了GPMC通用存储控制器并行总线接口,便于连接外部存储设备,例如NOR FLASH、NAND FLASH、SRAM等,并支持EDMA数据通信方式,时钟控制,通用异步收发器等功能,有利于实现数据的高速传输。
根据设计以及数据采集速率需求,实际GPMC与FPGA硬件连接方案如图4所示。其中包括13根地址线和16根数据线,即对振动信号的采样数据在RAM中开辟213(即8192)个地址空间,每个采样点为 16位数据;Gpmc_REn为读使能信号;Gpmc_WEn为写使能信号;Gpmc_WAIT0为busy或ready状态信号;Gpmc_CS为片选信号;Gpmc_CLK为GPMC工作时钟信号。
图4GPMC与FPGA硬件连接关系
系统中FPGA与ARM主芯片的数据传输采用了EDMA的通信方式,这也是实现高速率数据传输的关键技术环节。EDMA(Enhanced Direct Memory Access)是增强型的DMA控制器,用于控制存储器与存储器、存储器与外设、外设与外设之间的数据传输,具有独立于CPU批量处理大量数据的能力。其结构主要包含TPCC(Third-Party Channel Controller)与TPTC(Third-Party Transfer Controller)两大部分,即通道控制器与传输控制器。通道控制器主要功能是进行通道选择和事件管理,向传输控制器递交传输请求,并向CPU发出完成中断,其中EDMA包括64个DMA通道,8个快速DMA通道和95个事件;传输控制器则负责接收通道控制器的传输请求,产生读写命令,负责数据传送,传输完成回交给通道控制器。
EDMA的工作流程主要包括:向CPU发出EDMA请求使EDMA控制器获得总线控制权,CPU继续执行内部操作同时EDMA控制器负责数据传输,数据传输完成向CPU发出完成中断,将总线控制权交还CPU。本系统EDMA使用外部触发工作方式:FPGA在RAM中写满数据以后给ARM一个触发信号,这时EDMA开始按配置的地址及方式来进行数据的传输。具体工作流程参见图5。
图5EDMA工作流程图
3 软件设计
应用层软件服务采用常规的Client/Server模式,其设计主要在于完成与上位机的通信,并监听和处理上位机指令,完成对采集数据的上传工作。同时需要对采集到的原始数据进行一些算法处理,提取相关的振动特征参数,达到对风电机组运行状态信息更全面地监控的目的。应用层软件设计系统环境为Linux操作系统,在Eclipse IDE for C/C++平台下采用C语言编写。鉴于传输数据量大,且对数据实时性和稳定性有较高要求,因此通信采用TCP/IP协议,一种面向链接的,可靠的服务,具体实现采用了Linux中的套接字(Socket)通信。为了对上位机进行实时监听请求,采用了创建子进程的方式实现对收到的通信命令进行并行分析和处理,保证了传输数据的准确性和稳定性。软件运行开始后,首先完成对配置文件的读取和基本参数的处理,然后创建绑定一个Socket,就可以实现应用层和上位机之间网络数据的通信,通过对指令的监听获取上位机指令,并创建子进程用于对指令进行解析处理操作,给予相关回应。其运行流程见图6。
图6 应用层运行流程图
为了更好地实现应用层软件和上位机的通信交互,在网络传输的数据格式上制定了一套严格的通信规约,传输的指令报文需要按照既定的通信规约数据格式进行发送。表1为具体的通信规约格式。
表1 通信报文格式
4 测试结果
按照上述的硬件和软件模块设计,并完成对相关板极驱动编译和软件调试之后,对系统进行了测试验证。上位机采用网络调试助手模拟,配置完协议类型、IP地址和端口号之后,即可通过以太网与ARM端的应用层软件建立通信链接。如图7所示。
图7 网络调试助手
按照图7的报文命令发送后,应用层可以获得通道1中的间隙去直流原始信号,并将接受到的数据按格式存入当前采集数据的存放文件,文件依据当前UNIX系统时间命名。因此通过对数据存放文件中的数据进行提取和仿真分析,即可验证采集的数据的正确性。使用MATLAB数学处理工具,对采集的数据截取2 048个点(即1/4个周期)进行绘图,可以观察到一个很完美的正弦波形,幅值范围也符合预期结果,表明结果准确可靠。如图8所示结果。
图8 间隙去直流原始信号波形图
5 结论
通过对硬件模块和软件模块的设计,使用FPGA+ARM的结构系统,实现了对风电机组远程实时监测的目的。由于在数据的传输过程中采用了FPGA自动跟踪处理和ARM端的EDMA高速数据传输技术,在保证了大数据量的同时,也确保了数据的稳定性和准确性,对以往的风电监测系统数据量小,实时性不高的缺点进行了突破。此外,系统本身还有体积小,占用资源小,成本低,可移植性强,可分布式管理和功能丰富的优点,这在实际应用中具有很强的推广价值。
[1]王惠中,沈燕妮.基于DSP+ARM的风电机组状态监测系统的研究[J].电气自动化,2011(6):26-28.
[2]唐文俊,李维波,贺洪,等.一种基于ARM的远程监控系统的设计与实现[J].船电技术,2011(11):61-66.
[3]王效,刘晓光.基于ARM的风电齿轮箱振动监测系统设计[J].发电与空调,2013(2):16-19.
[4]郭欣,曹国华.基于STM32的风电机组振动监控系统设计[J].仪表技术,2011(9):61-63,70.
[5]吕跃刚,关晓慧,刘俊承.风力发电机组状态监测系统研究[J].自动化与仪表,2012(1):6-10.刘胜玉.风电机组嵌入式监测系统研究[D].大连:大连理工大学,2009.
[6]方连航,杨俊华,杨梦丽,等.分布式风电场设备多智能体状态监测系统[J].广东电力,2013(5):76-81.
[7]路遥,江汉红,芮万智.基于ARM的风电机组远程监测系统的设计[J].船电技术,2015(2):9-12,66.
[8]AM335x:ARM Cortex-A8微处理器开发方案[J].世界电子元器件,2014(3):19-21.
[9]韩宏宇.基于FPGA的风电监测系统数据采集单元设计[D].北京:北京化工大学,2011.
李月芳(1975-),女,江苏金坛人,副教授,硕士,研究方向为电子与自动控制;
梁瑞宇(1978-),男,南京工程学院,副教授,研究方向为语音信号处理,助听器信号处理。
Design of the Distributed Wind Turbines Information Acquisition and State Monitoring System*
LI Yuefang1,2*,LIANG Ruiyu1,2
(1.Changzhou Institute of Light Industry Technology,Department of Electronic and Electrical Engineering,Changzhou Jiangsu 213164,China;2.School of Communication Engineering,Institute of Nanjing Technology,Nanjing 211167,China)
To realize real-time monitoring and distributed network management,a wind turbines vibration monitoring system based on ARM embedded system was designed.The system includes 24 channels of analog signal acquisition circuit,the FPGA is applied to realize the logic control of the peripheral circuitincluding real-time sampling of data;to meet data transmission requirement for high speed sampling,the EDMA technology is adopted to access the data communication between FPGA and ARM,which extremely improve the data transmission rate;besides,TCP/IP protocol is used in the data communication between the object board and the upper computer.Test results verify the real-time and accuracy of data,and indicate that it reaches the requirements of the state monitoring and fault diagnosis of the wind turbines.
wind turbines;ARM;FPGA;EDMA;real-time monitoring
TM614;TK830
A
1005-9490(2016)05-1270-05
项目来源:国家自然科学基金项目(61301219);江苏省自然科学基金项目(ZKJ201202)
2016-04-18修改日期:2016-05-10
EEACC:720010.3969/j.issn.1005-9490.2016.05.048