控制设计总结(最终版)_第1页
控制设计总结(最终版)_第2页
控制设计总结(最终版)_第3页
控制设计总结(最终版)_第4页
控制设计总结(最终版)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第一部分 PI控制原理及参数求解1.风力发电机组运行区间分类 在发电机转速小于S1之前,此时发电机无功率输出,当风速大于切入风速时发电机并网,AB段为恒转速阶段,随着风速增大,发电机转矩增大。BC段为最优控制阶段,此时发电机转速随着风速变化保持最佳叶尖速比,追踪最大功率点。CD段为转速恒定区,在这个区域内,不再进行最大风能追踪,而是将机组转速限定在最大允许转速。在D点时,机组已经达到额定转矩,之后,随着风速的继续增大,机组恒转矩运行,为了保护机组不受损坏,调整桨距角限制功率。2.传统PI变桨距控制外部控制器框图 上图描述变桨控制和转矩控制的切换条件、对应输出的计算值。下面将给出在各种情况下的

2、控制细节图。 在额定风速以下的控制风速在额定风速以下时,通过控制发电机的转矩使风力发电机尽量获取多的能量,控制细节图如下。 1) 能量转换系统2) 转矩控制方式通常变速变桨风力发电机组均按是按照二次曲线图进行转矩给定。 在区域2中,电机转矩,其中,。3) 启动和过渡区控制框图 此处PI控制器的输入为电机转速偏差,输出为电机转矩。 在额定风速以上的控制 风速在额定风速以上时,通过变桨使发电机输出的功率维持在额定功率附近。 桨距控制 此处PI控制器的输出为电机转速偏差,输出为叶片桨距角。 使用C+、Fortran或matlab/simulink语言编写的控制器1)使用fortran语言编写的代码2

3、)使用c+语言编写的代码3) 使用matlab/simulink搭建的控制器模型 生成动态链接库DLL文件1) 在Visual Fortran 中新建动态链接库工程,输入工程名(使用FAST调用时名称必须为DISCON,不区分大小写)和文件存放目录(不要有中文路径)。点击ok。2) 使用默认选项,点击finish3) 点ok。4) 点击左下方的FileView,右击Source Files,点击add files to folders.,找到.F90文件所在目录。打开文件如图。5) 然后在build下拉菜单中点击编译,看有无错误,没有错误之后生成DLL文件。3. 基于FAST的变桨PI参数设计

4、 区域3处的目标就是通过变桨控制来使电机转速保持在设定点。在区域3中保持恒转矩并通过对叶片进行变桨来控制叶轮转速。可以用式(1)来表示此控制设计的简单线性模型: (1)其中, 。 为总的转动惯量(包括叶轮,齿轮箱,轴,电机等)。 , 为叶轮的气动转矩,为叶轮转速, 为叶片桨距角,为轮毂高度处穿过叶轮盘的均匀风速扰动成分 。标准PID可用式(2)表示 (2) 为传动比。 对式(2)两边进行拉氏变换,得到下面的等式: (3) 对式(3)进行变换: (4) 由等式(4)可得传递函数: (5) 由劳斯判据可知,系统稳定的充要条件就是其特征方程的各项系数均为正 。由此我们可以得到: 在区域3中选择线性化

5、点: 使用FAST进行线性化可得:A= -0.5536,B= -1.1865 此时可以给出稳定性条件:,。 将式 转为特征方程的一般形式进行分析: 其中:, 则 可用下式来表示 : 在Matlab/simulink中搭建控制器模型变桨控制器的simulink模型(无增益调度)采用阶跃风作为激励,此阶跃风在60s的时候风速由17m/s变为18m/s。令,w=0.6rad/s,当取不同的值时,叶轮的响应会有所不同,其仿真结果如下图所示。从图中可以看出,当的值为2.5和0.8时,叶轮转速会出现不同程度的震荡,当的值选为1.0时较好。接下来,在靠近区域2.5处的区域3中选择一个线性化点,如,。此时,经

6、线性化后可求得:A=-0.3721,B=-0.4164。利用公式(1)可以求得Ki和Kp的值。则,。此时,选择另一个线性化点,使此处的线性化结果中的B值为上一个线性化结果中的B值的两倍。经测试,选择的线性化点为,。此时,A=-0.4451,B=-0.8215.接着,对桨距角施加增益调度。其增益校正系数,而PC_KK的值就是第二个线性化点处的桨距角的值,即PC_KK=0.180737,因此。 仿真结果对比(阶跃风)仿真结果对比(18m/s湍流风) 仿真结果对比(11.5m/s湍流风)第二部分 Fast与simulink接口的实现运行PI统一变桨程序1. 确保所需文件(如风文件等)在同一目录下。2

7、. 打开后缀名为.mdl的simulink模型文件。3. 将当前目录设为存有文件Simsetup.m的根目录。4. 在命令窗口中输入Simsetup(即M文件Simsetup.m去除后缀名后的名字)。5. 输入后缀名为.fst的文件,如NRELOffshrBsline5MW_Onshore.fst。6. 运行simulink模型点击此按钮程序即运行。7. 每次运行程序时都要重新将步骤走一遍,否则程序将提示错误。运行状态空间统一或独立变桨程序1. 前5步操作与上面相同,不同的是如果代表状态空间的矩阵表达式没有具体值时还需要导入一个.mat文件,里面存有矩阵的表达式。matlab.mat文件2.

8、剩余步骤也与上面相同。第三部分 LQR以及LQG的设计步骤一、LQR程序介绍1. LQR概念及其理论的应用 LQR(linearquadraticregulator)即线性二次型调节器,其对象是现代控制理论中以状态空间形式给出的线性系统,而目标函 数为对象状态和控制输入的二次型函数。LQR最优设计指设计是出的状态回馈控制器K要使二次型目标函数J取最小值,而K由权矩阵Q与R唯一决定,故此Q、 R的选择尤为重要。LQR理论是现代控制理论中发展最早也最为成熟的一种状态空间设计法。特别可贵的是,LQR可得到状态线性回馈的最优控制规律,易于构 成死循环最优控制。而且Matlab的应用为LQR理论仿真提供

9、了条件,更为我们实现稳、准、快的控制目标提供了方便。 对于线性系统的控制器设计问题,如果其性能指针是状态变量和(或)控制变量的二次型函数的积分,则这种动态系统的最优化问题称为线性系统二次型性能 指针的最优控制问题,简称为线性二次型最优控制问题或线性二次问题。线性二次型问题的最优解可以写成统一的解析表达式和实现求解过程的规范化,并可简单地 采用状态线性回馈控制律构成死循环最优控制系统,能够兼顾多项性能指针,因此得到特别的重视,为现代控制理论中发展较为成熟的一部分。 LQR最优控制利用廉价成本可以使原系统达到较好的性能指针(事实也可以对不稳定的系统进行镇定),而且方法简单便于实现,同时利用Matl

10、ab强 大的功能体系容易对系统实现仿真。本文利用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,提炼出状

11、态空间方程矩阵A,B,C,D。调LQR程序生成合理的增益矩阵Gbar,使用Simulink输出要求的控制变量。2. 统一变桨LQR 采用6states LQR 统一变桨控制,6状态分别是drive train torsional deflection,rotor first symmetric flap mode displacement ,generator rotational speed ,drive train torsional velocity ,rotor first symmetric flap mode velocity,wind disturbance 2.1线性化风机模型

12、X为状态向量为控制变量为扰动变数y控制输出A状态矩阵,B输入矩阵,C输出矩阵,D控制量输出矩阵,扰动输入矩阵,扰动输出矩阵为了计算上式中矩阵,采用FAST线性化风机模型,这里以NRELOffshrBsline5MW_Onshore模型为例子,线性化风机模型。 设置FAST主文件NRELOffshrBsline5MW_Onshore.fst将AnalMode设为2,计算线性化YCMode=0,不用偏航PCmode=0,不用变桨距角控制VSControl=1,采用内置转矩控制若VSControl=1,下面的VS_RtGnSp,VS_RtTq,VS_Rgn2K既可以按实际控制参数设置,也可以全部设置

13、为9999.9,两者之间差别并不大。GenTiStr=true, GenTiStp=trueRotSpeed是风机线性化的转速点,尽量设置靠近控制转速点。上图为自由度开关,False不计算,True表示计算。根据自己需要选择计算所需自由度,CompAero必须为true。这里5状态:FlapDOF1,DrTrDOF,GenDOF,CompAero为true,其余为False。输出选择自己需要的输出变量,没必要多输出。具体输出变量参考FAST用户手册,这里输出只要转速,所以只有输出HSShftV,高速轴转速。其它参数按照FAST一般计算时设置,如有不清楚地方可以参考FAST用户手册P39-44页

14、,里面有具体设置参数方法。 设置NRELOffshrBsline5MW_Linear.dat文件CalcStdy=trueTrimCase=3,计算统一变桨角。NAzimStep=36,线性化36个点。MdlOrder=1,计算一阶。NInputs=1,统一变桨只有一个桨距角输入,只有一个控制量。同样道理,转矩LQR也只有一个,而独立变桨有3个桨距角,则NInputs=3.CntrlInpt=4,表示选择统一桨距角作为控制输入。NDisturbs=1Disturbnc=1,表示1个轮毂高度的水平风速扰动。其它方法设置可参考FAST用户手册P43页的Table 5和Table 6. 风文件线性化

15、只能在稳态下计算,做风檔时不要风剪。NRELOffshrBsline5MW_AeroDyn.dat文件中StallMod=steadyFAST其它参数按照一般计算时设置运行FAST计算生成NRELOffshrBsline5MW_Onshore.lin文件,线性化完成。2.2 调节LQR程序我们已经有了调节好的6states LQR程序,只需要在它基础改就可以了。以6 states为例:在MATLAB中运行LQR.m程序,命令窗口输入NRELOffshrBsline5MW_Onshore.lin(注:.lin檔最好放在和LQR.m檔一个檔夹,MATLAB的工作文件夹路径设置成该文件夹路径),MA

16、TLAB的工作空间会计算出AvgAMat等一系列矩阵,是因为LQR程序调用了GetMats子程序,GetMats是计算.lin生成矩阵的平均值的。AvgAMat是个10X10的矩阵,是个10状态矩阵,这10个状态分别如下图所示(在.lin檔中可以找到)。后5种是前5种的微分。而我们要的是5状态(风扰动除外)是drive train torsional deflection,rotor first symmetric flap mode displacement ,generator rotational speed ,drive train torsional velocity ,rotor

17、first symmetric flap mode velocity,分别对应2,3,6,7,8状态。则不难发现Amod矩阵是AvgAMat矩阵的2,3,6,7,8行和列。Bmod,Bdmod,Cmod一样对应AvgBMat(2,1),AvgBdMat,AvgCMat的2,3,6,7,8行在确定这些矩阵之后就是调节Q矩阵调节对角阵Q,观察输出的极点阵E中值(本模型实部值在-10到-1之间)。计算所得k是LQR的增益。LQR.m程序后半部分是DAC状态观测器程序,已经是现成的程序,只要计算出的结果Acon,Bcon,Gbar矩阵。具体的理论知识请参考modern control design f

18、or flexible wind turbine中附录关于DAC观测器的理论知识介绍,比较详尽。2.3 FAST-Simulink程序在MATLAB的Simulink中搭建控制程序平台,可以参考Advanced Control Design for Wind Turbines Part I: Control Design, Implementation, and Initial Tests中P 49页Figure4.2形式,只需将LQR.m计算所得Acon,Bcon,Gbar带入模型,C阵是单位阵,D是0阵,全状态回馈LQR统一变桨就做好了。A=Acon,B=Bcon,C是单位阵,D是0阵。K

19、=Gbar。输入y是高速轴转速差,输出pitch是桨距角 如Advanced Control Design for Wind Turbines Part I: Control Design, Implementation, and Initial Tests中P 49页Figure4.2中所示的LQR计算的桨距角加上线性化的桨距角u_op的和为控制桨距角,在非线性化点风速时控制会有偏移,不具备增益调度功能。将u_op换成PI输出的桨距角,就能有增益调度的功能了。3. 转矩LQR3.1 线性化转矩LQR的线性化和变桨LQR线性化相似,只需要设置NRELOffshrBsline5MW_Linear

20、.dat檔中CntrlInpt=3,自由度的控制调成自己所需的自由度。3.2 调节LQR程序LQR程序调节与前面一样。3.3 Simulink与统一变桨LQR一样,参考P56 Figure4.54 独立变桨LQR 独立变桨是在统一变桨的基础之上,根据DAC状态观测的叶片摆振情况计算出相应的桨距角,对统一变桨的PI桨距角进行修正,输出三个不同的桨距角。 状态变量: Blade1 flap deflection, Blade2 flap deflection, Blade3 flap deflection, generator rotational speed, Blade1 flap veloc

21、ity, Blade2 flap velocity, Blade3 flap velocity4.1 线性化 FAST主文件设置:由于要测量叶片摆振情况,增加"TipDxc1" "TipDxc2" "TipDxc3" 三个叶尖位移输出 设置NRELOffshrBsline5MW_Linear.dat文件:NInputs=3,三个控制输入变量CntrlInpt=5 6 7,三个桨距角 其余设置与前面线性化一样。4.2 调节LQR程序 已经有调好的LQR_indepPitch.m程序,也可以参考Advanced Control Desig

22、n for Wind Turbines Part I: Control Design, Implementation, and Initial Tests中附录B-7 LQR_design_indepPitch8states.m。Amod与前面确定的方法一样,Bmod注意是个3列的矩阵Bdmod要参考Mitigation of Wind Turbine/Vortex Interaction Using Disturbance Accommodating ControlP41-59的方法,Cmod,Dmod与程序一样。 调节LQR的方法与统一变桨LQR方法是一样的,最后得出Acon,Bcon,G

23、bar.4.3 Simulink 参考Advanced Control Design for Wind Turbines Part I: Control Design, Implementation, and Initial TestsP63 Figure4.9搭好simulink平台,但要做出修改。该图是两叶片的,要扩展为三叶片独立变桨模型SubsystemRealizable Controller A=Acon, B=Bcon, C是单位阵,D是0阵,K=Gbar。Baseline输出的pitch是PI变桨值。 调节LQR_depPitch.m中Qe阵,使Simulink输出的桨距角在常风

24、下是三条相位相差120度的正弦曲线。二、LQG程序介绍1. LQG原理介绍LQG(线性二次高斯)与LQR类似,只是状态估计使用Kalman滤波器作为状态观测器。利用Kalman滤波器估算出风机状态,乘以LQR增益就可以得到控制变量。离散Kalman滤波器观测状态公式:V(k)是系统噪声,e(k)是测量噪声。Kalman滤波器结构2. 统一变桨2.1 线性化 与统一变桨LQR的线性化是一样的,生成.lin文件。2.2 LQG程序调节 LQR.m程序只要前半部分,不要程序后半部分的DAC状态观测器。调节LQG.m程序,算出增益Gx。 由于我们使用的是离散的Kalman滤波器,需要将A_c,B_c,

25、C_c,D_c离散化:Delta_t=0.0125,0.125是FAST的积分步长。2.3 Simulink 搭好Simulink平台LQG modelKalman滤波器 A=A1,B=B1,C=C1,D=D1,R=1,X0=0,P0取0.1左右P,Q是对角阵,调节Q阵可以改善控制效果。y是高速轴转速输入,单位rad/s,u是控制桨距角输入。X是kalman估测状态输出。 调节主要调节Kalman滤波器中Q阵和LQR计算所得的Gx,可得到比较好的结果。3 独立变桨 基本原理与LQR独立变桨一样,采用的观测器不同。3.1 线性化 与独立变桨LQR线性化一样,生成.lin文件。3.2 LQG程序 利用LQR_indepPitch.m生成增益Gx,并将A_c,B_c,C_c,D_c离散化。3.3 simulink独立变桨LQG Kalman滤波器的输入y是高速轴转速以及三个叶片的叶尖位移,u是三个叶片的桨距角,Gx是LQR计算的(-K)。 A=A1,B=B1,C=C1,D=D1,R=1,X0=0,P0取0.1左右P,Q是对角阵,调节Q阵可以改善控制效果。y是高速轴转速输入,单位rad/s,u是控制桨距

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论