第一部分 PI 控制原理及参数求解1.风力发电机组运行区间分类AB CD1S 2S 发电机转速发电机扭矩1Q 2Q 0在发电机转速小于S1之前,此时发电机无功率输出,当风速大于切入风速时发电机并网,AB 段为恒转速阶段,随着风速增大,发电机转矩增大。
BC 段为最优控制阶段,此时发电机转速随着风速变化保持最佳叶尖速比,追踪最大功率点。
CD 段为转速恒定区,在这个区域内,不再进行最大风能追踪,而是将机组转速限定在最大允许转速。
在D 点时,机组已经达到额定转矩,之后,随着风速的继续增大,机组恒转矩运行,为了保护机组不受损坏,调整桨距角限制功率。
2.传统PI 变桨距控制外部控制器框图上图描述变桨控制和转矩控制的切换条件、对应输出的计算值。
下面将给出在各种情况下的控制细节图。
◆在额定风速以下的控制风速在额定风速以下时,通过控制发电机的转矩使风力发电机尽量获取多的能量,控制细节图如下。
1)能量转换系统2) 转矩控制方式通常变速变桨风力发电机组均按是按照二次曲线图进行转矩给定。
在区域2中,电机转矩2()g opt g T K W opt ,其中opt K 最优模态增益,g T 为发电机转矩,g W opt ()发电机最优转速。
3) 启动和过渡区控制框图此处PI 控制器的输入为电机转速偏差,输出为电机转矩。
◆ 在额定风速以上的控制风速在额定风速以上时,通过变桨使发电机输出的功率维持在额定功率附近。
桨距控制此处PI控制器的输出为电机转速偏差,输出为叶片桨距角。
◆使用C++、Fortran或matlab/simulink语言编写的控制器1)使用fortran语言编写的代码2)使用c++语言编写的代码3)使用matlab/simulink搭建的控制器模型◆生成动态链接库DLL文件1)在Visual Fortran 中新建动态链接库工程,输入工程名(使用FAST调用时名称必须为DISCON,不区分大小写)和文件存放目录(不要有中文路径)。
点击ok。
2)使用默认选项,点击finish3)点ok。
目录。
打开文件如图。
3.基于FAST的变桨PI参数设计区域3处的目标就是通过变桨控制来使电机转速保持在设定点。
在区域3中保持恒转矩并通过对叶片进行变桨来控制叶轮转速。
可以用式(1)来表示此控制设计的简单线性模型:d A B B w θ∆Ω=∆Ω+∆+∆ (1)其中rotA I γ=,d rotB I α=,rotB I ξ=。
rot I 为总的转动惯量(包括叶轮,齿轮箱,轴,电机等)。
a e r o Q γ∂=∂Ω,aero Q ξθ∂=∂,aero Qwα∂=∂ a e r o Q 为叶轮的气动转矩,Ω为叶轮转速, θ为叶片桨距角,w 为轮毂高度处穿过叶轮盘的均匀风速扰动成分 。
标准PID 可用式(2)表示()()()(P g e a r I g e a r D g e a r t K N t K N t d t K N t θ∆=∆Ω+∆Ω+∆Ω⎰(2)gear N 为传动比。
对式(2)两边进行拉氏变换,得到下面的等式:1()()()()P g e a r I g e a r D g e a r s K N s K N s K N s s sθ∆=∆Ω+∆Ω+∆Ω(3)对式(3)进行变换:()[]()(d s s A B s B w sθ∆Ω-=∆+∆1(()()())()P g e a r I g e a rD g e a rd B K N s K N s K N s s B w s s=∆Ω+∆Ω+∆Ω+∆(4) 由等式(4)可得传递函数:2()()()(1)()()d c D gear P gear I gear B s s T s w s BK N s A BK N s BK N ∆Ω==∆-+--+- (5) 由劳斯判据可知,系统稳定的充要条件就是其特征方程的各项系数均为正 。
由此我们可以得到:10,D g e a r B K N ->0,P gear A BK N -->0I g e a r B K N ->。
在区域3中选择线性化点:018/w m s =,12.1rpm Ω=,00.261635rad θ=。
使用FAST 进行线性化可得:A= -0.5536,B= -1.1865此时可以给出稳定性条件:0I K >,0.00481P K >-,0.00571D K >-。
将式2(1)(DgearBKNsA -+-- 转为特征方程的一般形式进行分析:2220s ws w δ++= 其中:21I gear D gearBK N w BK N -=-,21P gear D gearA BK N w BK N δ--=-,则 ,P I K K 可用下式来表示 :2(1)2(1)D g e a rID g e a r P g e a r g e a r w B K N K B w B K N A K B N B N δ⎧--=⎪⎪⎨-⎪=--⎪⎩◆在Matlab/simulink 中搭建控制器模型变桨控制器的simulink 模型(无增益调度)采用阶跃风作为激励,此阶跃风在60s 的时候风速由17m/s 变为18m/s 。
令0D K =,w=0.6rad/s,当取不同的δ值时,叶轮的响应会有所不同,其仿真结果如下图所示。
R ot Speed11.91212.112.212.312.412.55080110140时间(s)叶轮转速(r p m )δ=1.0δ=0.8δ=2.5从图中可以看出,当δ的值为2.5和0.8时,叶轮转速会出现不同程度的震荡,当δ的值选为1.0时较好。
接下来,在靠近区域2.5处的区域3中选择一个线性化点,如012.1/w m s =,12.1rpm Ω=,00.0761591rad θ=。
此时,经线性化后可求得:A=-0.3721,B=-0.4164。
利用公式(1)可以求得Ki 和Kp 的值。
则0.020496P K =,0.0089128I K =。
此时,选择另一个线性化点,使此处的线性化结果中的B 值为上一个线性化结果中的B 值的两倍。
经测试,选择的线性化点为014.9/w m s =,12.1rpm Ω=,00.180737rad θ=。
此时,A=-0.4451,B=-0.8215.接着,对桨距角施加增益调度。
其增益校正系数1/(1/_)GK PC KK θ=+,而PC_KK 的值就是第二个线性化点处的桨距角的值,即PC_KK=0.180737,因此1/(10.180737/_)GK PC KK =+。
◆ 仿真结果对比(阶跃风)s t ep w i nd051015202530050100150200250300时间(s )风速(m /s )Pi t ch0510152025100150200250300时间(s)桨距角(°)N RELLi nearR o t Sp eed678910111213100200300时间(s)叶轮转速(r p m )N R ELLi near◆仿真结果对比(18m/s 湍流风)t ur bsi m w i nd05101520253030130230330430530630时间(s)风速(m /s )Rotspeed10.51111.51212.51313.51430130230330430530630时间(s)叶轮转速(r p m )NRELLinearPitch051015202530130230330430530630时间(s)桨距角(°)NREL Linear◆仿真结果对比(11.5m/s 湍流风)turbsim wind024********16182030130230330430530630时间(s)风速(m /s )Rotspeed9101112131430130230330430530630时间(s)叶轮转速(r p m )NREL LinearPitch0510152030130230330430530630时间(s)桨距角(°)NREL Linear第二部分 Fast 与simulink 接口的实现◆运行PI 统一变桨程序1. 确保所需文件(如风文件等)在同一目录下。
2. 打开后缀名为.mdl的simulink模型文件。
3.将当前目录设为存有文件Simsetup.m的根目录。
4.在命令窗口中输入Simsetup(即M文件Simsetup.m去除后缀名后的名字)。
5.输入后缀名为.fst的文件,如NRELOffshrBsline5MW_Onshore.fst。
6.运行simulink模型点击此按钮程序即运行。
7. 每次运行程序时都要重新将步骤走一遍,否则程序将提示错误。
◆运行状态空间统一或独立变桨程序1.前5步操作与上面相同,不同的是如果代表状态空间的矩阵表达式没有具体值时还需要导入一个.mat文件,里面存有矩阵的表达式。
matlab.mat文件2. 剩余步骤也与上面相同。
第三部分 LQR以及LQG的设计步骤一、LQR程序介绍1. LQR概念及其理论的应用LQR(linearquadraticregulator)即线性二次型调节器,其对象是现代控制理论中以状态空间形式给出的线性系统,而目标函数为对象状态和控制输入的二次型函数。
LQR最优设计指设计是出的状态回馈控制器K要使二次型目标函数J取最小值,而K由权矩阵Q与R唯一决定,故此Q、R的选择尤为重要。
LQR理论是现代控制理论中发展最早也最为成熟的一种状态空间设计法。
特别可贵的是,LQR可得到状态线性回馈的最优控制规律,易于构成死循环最优控制。
而且Matlab的应用为LQR理论仿真提供了条件,更为我们实现稳、准、快的控制目标提供了方便。
对于线性系统的控制器设计问题,如果其性能指针是状态变量和(或)控制变量的二次型函数的积分,则这种动态系统的最优化问题称为线性系统二次型性能指针的最优控制问题,简称为线性二次型最优控制问题或线性二次问题。
线性二次型问题的最优解可以写成统一的解析表达式和实现求解过程的规范化,并可简单地采用状态线性回馈控制律构成死循环最优控制系统,能够兼顾多项性能指针,因此得到特别的重视,为现代控制理论中发展较为成熟的一部分。
LQR最优控制利用廉价成本可以使原系统达到较好的性能指针(事实也可以对不稳定的系统进行镇定),而且方法简单便于实现,同时利用Matlab强大的功能体系容易对系统实现仿真。
本文利用Matlab对实例进行LQR最优控制设计,比较Q、R变化对系统动态性能的影响,说明LQR系统设计的简单而可行性及Q、R变化对系统性能影响的重要性。
我们主要以NREL文献中《Advanced Control Design for Wind Turbines Part I: Control Design, Implementation, and Initial Tests》和《modern control design for flexible wind turbine》为参考,使用NREL开发的FAST软件线性化风机,生成线性化输出文件.lin,提炼出状态空间方程矩阵A,B,C,D。