内蒙古大学鄂尔多斯学院电子信息工程系 ■ 王 鑫 王俊林
众所周知,以煤、石油、天然气为主的常规能源,不仅资源有限,而且会造成严重的环境污染。因此,在能源消耗日益增长、环境污染日渐严重的今天,风能作为一种无污染的可再生能源而倍受关注,风力发电技术成为各国学者竞相研究的热点,风力发电的控制技术也获得了长足的发展[1,2]。
控制技术是风力发电的关键技术之一,控制器是风电机组运行的“大脑”,是使整个机组实现正常安全运行的可靠保证。目前,单片机和可编程控制器在大中型风电机组的控制系统中已得到广泛的应用。整个风电机组控制系统的体积越来越小,控制性能越来越完善,智能化程度越来越高,运行更加可靠,维修和操作则更简便易行,从而真正实现了风电场的自动监控及无人值守运行[3]。
现场可编程门阵列FPGA (Field Programmable Gate Array)是一种可编程逻辑器件,具有工作效率高、运行速度快、编程简单、易实现大规模系统、可方便进行二次开发等优点,因此,选择将FPGA应用于风电机组输入输出控制器中可大大优化系统性能。
风电机组通常由叶轮、传动系统、发电机、偏航系统、风速及风向传感器、控制系统等部分组成,如图1所示。将气动性能优异的叶片安装在轮毂上组成叶轮,叶轮的作用是将风能转换为机械能。通常,叶轮转速较低,以保证叶片前端的线速度在叶片材料允许的范围内,通过传动系统由齿轮箱增速,可将叶轮30r/min左右的转速提高到800~1500r/min,将机械能传递给发电机。以上部分都安装在机舱内部,整个机舱由塔架支撑,机舱与塔架之间安装有偏航系统,它根据风向传感器检测到的风向信号,通过控制器控制调节电机的起停,驱动与偏航大齿轮啮合的小齿轮转动,使机舱对准来风方向。控制系统位于塔架底部的控制柜中,通过电缆与机舱中的电器相连接,用来完成发电机组的所有工作过程控制,并提供人机接口和远程监控接口[4,5]。
风电机组需要长期在高温、高寒、高湿、盐雾、风沙等恶劣环境下自动运行,这就对其电控系统的可靠性和安全性提出了较高的要求。风力发电控制系统主要用于实现风电机组的正常运行控制、运行状态监测和监控以及安全保护三大方面的功能,是整个风力发电系统的“大脑”,直接影响整个系统的稳定性、可靠性以及测量的精确性,因此,根据系统的具体工况与测控要求对风力发电控制系统进行设计至关重要[5]。
风电机组控制系统的结构如图2所示。
风力发电控制系统的工作过程为:首先中心控制器通过前向通道采集数据,然后按照控制规律根据各方面的情况做出综合分析,得到当前状态下系统合理的运行状态,最后,通过驱动电路驱动执行机构,实现系统启动/停机、功能模块启动/停止、运行数据统计和随时修改控制参数等控制功能,同时通过用户界面显示系统的运行状态和变更系统参数。
现场可编程门阵列FPGA是可编程专用集成电路(ASIC)的一种。它是美国Xilinx公司于1984年首先开发的一种通用型用户可编程器件。FPGA由可编程逻辑单元门阵列、布线资源和可编程的I/O单元阵列构成,一个FPGA包含丰富的逻辑门和寄存I/O资源。通常,单片FPGA中的等效逻辑门有几千甚至上万个,I/O引脚多达400个以上,因此,一片FPGA芯片就可实现数百甚至更多标准数字集成电路所能实现的系统功能[6,7]。
此外,FPGA的结构灵活,其逻辑单元、可编程内部连线和I/O单元都可以由用户编程,可实现任何逻辑功能,满足各种设计需求。其速度快、功耗低、通用性强,特别适用于复杂系统的设计。使用FPGA还可实现动态配置、在线系统重构(可在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能[8,9]。
本文选择了一款性价比较高、市场应用较普遍的FPGA芯片,即Altera公司Cyclone系列的EP1C6Q240C8作为主芯片。其具有5980个逻辑单元,20个内部RAM模块,最大可用I/O端口185个。FPGA配置芯片采用EPCS1,单片容量1Mbits,可掉电保护数据。下载采用JTAG和AS两种下载模式,以实现在线调试及下载。开发软件平台采用Altera公司的QuartusⅡ6.0开发环境。
以FPGA—EP1C6Q240C8为核心的控制器的作用是采集风电机组的运行参数上传给主控制器,主控制器经过综合分析后得到当前状态下系统合理的运行参数,并反馈给该控制电路控制相应执行机构,运行相应的控制策略[10,11]。整个控制电路原理框图如图3所示。
如图4所示,整个风电机组的输入输出控制器由以下部分组成:以FPGA为核心的控制电路、4个计数器、1个外扩以太网接口、2个CAN总线接口、1个RS485/232串口、16路输入接口、12路输出接口、4路模拟输入接口,每个接口都采用相应隔离措施。例如,以太网接口采用变压器隔离,串口输入口采用光耦隔离,输出口采用继电器隔离等。
以太网接口和CAN总线接口都是为了方便数据传输而设的。
16路输入接口分别用于接收外部信号,例如,振动开关信号(当振动强烈的时候整个风力发电系统就停止工作),安全链、二级安全链反馈信号(安全链属于一个硬件电路,即只有整个风力发电控制系统中各个控制的硬件都闭合时整个控制系统才能正常工作),还有控制柜机急停信号、变矩旁路热继电器信号、变矩变频器输出信号和变矩UPS供电信号等。
12路输出接口分别用于控制电机通风、控制柜通风、变矩旁路断开等,有的接口作为备用。
4个计数器分别用来测量风速、偏航编码器(用于检测是否达到限度,若达到限度就开始解缆)和风轮转速等。其中一个计数器作为备用。
4个模拟输入分别通过温度传感器来测量机舱温度、控制柜温度、电机温度和齿轮箱温度。
随着大规模专用集成电路(ASIC)的开发和研制,为了提高开发效率,增加己有开发成果的继承性以及缩短开发时间,各ASIC的研制和生产厂家相继开发了用于各自目的的硬件描述语言(HDL)——可描述硬件电路的功能、信号连接关系及定时关系的语言,它能比原理图更有效地表示硬件电路的特性。其中最具代表性的是美国国防部开发的VHDL语言(VHSIC Hardware Description Language 超高速集成电路硬件描述语言)。VHDL语言支持自上至下的设计方法,就是从系统总体要求出发,自上至下地逐步将设计内容细化,最后完成系统硬件的整体设计[11,12]。
在利用VHDL语言的硬件设计方法中,需要自上至下分为三个层次对系统硬件进行设计[12]:
第一层次是行为描述,即对整个系统数学模型进行描述。
第二层次是RTL方式描述,也称为寄存器传输描述(又称数据流描述)。得到硬件的具体实现,必须将行为描述的VHDL语言程序改写为RTL方式,即采用RTL方式,导出系统的逻辑表达式,进行逻辑综合。在RTL方式中,要使用到大量的触发器、门电路等基本的数字元件,这些均可在元器件库中直接调用。
第三层次是逻辑综合,这一阶段利用逻辑综合工具,将RTL方式描述的程序转换成用基本逻辑单元表示的文件(门级网络表)。
在使用VHDL语言完成硬件描述后,还需运用C/C++语言编写以太网口程序、串口程序和计数器程序等。
本文在研究了风电机组的构造、控制技术及现在比较流行的FPGA芯片优越性的基础上,提出了基于FPGA的风电机组输入输出控制器的设计方案,与传统的主要应用单片机实现风电机组输入输出控制相比,在风电机组输入输出控制器中应用FPGA—EP1C6Q240C8,可实现数据的快速高效的传输与接收,从而使整个控制系统的性能得到优化。我们在实际应用中把该模块命名为WE-100,该控制器在出口印度尼西亚的两期100kW风电机组中的应用,证明其具有很好的电磁兼容性、抗干扰性、抗盐雾性,能够适应潮湿、高温等恶劣环境,确保机组的安全运行,得到用户的一致好评。
[1]刘万琨.风能与风力发电技术[M].北京:化学工业出版社,2007.
[2]Sahin A D.Progress and recent trends in wind energy[J].Progress in Energy and Combustion Science, 2004,30(5):501-543.
[3]Ackermann T, Sšder L.Wind energy technology and current status: a review[J].Renewable and Sustainable Energy Reviews,2000, 4(4): 315-374.
[4]叶杭治.风电机组组的控制技术[M].北京: 机械工业出版社,2006.
[5]曾婧婧, 杨平, 徐春梅, 等.风力发电控制系统研究[J].自动化仪表, 2006, S1: 32-35.
[6]华清远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].北京: 人民邮电出版社, 2008.
[7]吴继华, 王诚.Altera FPGA/CPLD设计(基础篇)[M].北京: 人民邮电出版社, 2005.
[8][美]马克斯菲尔德 [著], 杜生海[译].FPGA设计指南器件、工具和流程[M].人民邮电出版社, 2007.
[9]张义和, 张显盛.FPGA数字电子系统设计与开发实例导航[M].北京: 中国电力出版社, 2008.
[10]赵岷.基于FPGA的控制器研究[D].西安: 西北工业大学,2001.
[11]王涣.基于FPGA的CAN总线控制器芯片及其测试系统研究[D].吉林大学, 2007.
[12][美]佩勒,蒂博[著],边计年,等[译].实用 C 语言 FPGA编程[M].北京: 机械工业出版社, 2007.