OpenFast联合仿真模型中独立变桨与统一变桨控制的对比
openfast与simlink联合仿真模型风电机组独立变桨控制与统一变桨控制。 独立变桨控制。 OpenFast联合仿真。OpenFast和Simulink的联合仿真在风电领域属于基操了尤其做变桨控制研究的老铁应该都接触过。咱们今天重点拆解独立变桨IPC和统一变桨CPC控制的实现差异顺便看看这两个工具怎么打配合战。先说变桨控制的基本逻辑。统一变桨简单粗暴——所有桨叶同步转同一个角度主要靠发电机转速反馈来调整。但遇到风速突变或者风剪切的情况叶片受力不均匀就容易出幺蛾子。这时候独立变桨的优势就来了每个桨叶单独调整角度相当于给每个叶片装了个私人教练。在OpenFast里搞独立变桨得先让仿真模型支持叶片自由度。打开主输入文件找到CompAero和CompServo这两个参数确保设置为True。这里有个坑如果CompElast没打开叶片载荷数据传不到Simulink后面IPC算法直接歇菜。openfast与simlink联合仿真模型风电机组独立变桨控制与统一变桨控制。 独立变桨控制。 OpenFast联合仿真。联合仿真的关键在数据通道对接。举个栗子Simulink这边需要读取OpenFast传递的叶片根部弯矩数据function BladeLoads ReadFASTBladeData(u) % u(1): Blade1RootMxb % u(2): Blade2RootMxb % u(3): Blade3RootMxb persistent lastLoads; if isempty(lastLoads) lastLoads zeros(3,1); end % 低通滤波处理原始信号 alpha 0.2; BladeLoads alpha*u (1-alpha)*lastLoads; lastLoads BladeLoads; end这段代码里的滤波处理很重要OpenFast输出的原始载荷信号容易带高频噪声直接喂给控制器会引发桨距角震荡。参数alpha建议先在0.1~0.3之间调参具体看仿真步长设置。独立变桨的核心算法通常用Coleman变换把旋转坐标系下的载荷转换到固定坐标系// C S-Function示例片段 void ColemanTransform(double* bladeLoads, double azimuth, double* dqLoads){ double cos120 cos(2*M_PI/3); double sin120 sin(2*M_PI/3); dqLoads[0] (bladeLoads[0] bladeLoads[1] bladeLoads[2])/3.0; // D成分 dqLoads[1] (2.0/3.0)*(bladeLoads[0] bladeLoads[1]*cos120 bladeLoads[2]*cos240); // Q成分 }注意这里用了二阶坐标变换实际调试时发现当转速低于额定转速时Q轴分量权重需要动态调整否则IPC效果会打折扣。这个细节很多论文里都没明说属于实战经验。联合仿真的启动脚本要特别注意时间同步。建议先用固定步长模式跑通再尝试变步长。遇到过最诡异的问题是Simulink的仿真步长比OpenFast小导致数据不同步后来在Simulink的Model Settings里勾选SingleTasking模式才解决。最后给个性能对比彩蛋在湍流强度15%的工况下IPC相比CPC能降低叶片疲劳载荷23%左右不过控制频率得跑到20Hz以上才有这效果。想复现的话记得在OpenFast的输入文件里把WrSum1打开不然输出文件里没有载荷统计值。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2449541.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!