Skip to content

hzzz123/Wind-Turbine-Control

 
 

Repository files navigation

Wind Turbine Controllers with NREL Fast and Matlab/Simulink

This repository has a few controllers for the 5-MW Reference Wind Turbine for Offshore System Development. The controllers are implemented through Matlab / Simulink.

We start with a simple 1-DOF controller, where we consider only the rotor. The complexity of the system is increased up to 11 DOF, where we use MBC techniques to extract important features, don't worry, the details will be on the appropriate folder. On the control side, we start with a simple feedback controller until we reach an Artificial Neural Network based controller. In the process, we'll see state observer (Kalman Filter), disturbance rejection and gain scheduling, all in due time.

Ok, let's cut to the chase, you're here to see some pretty graphs and poor explanation.

These are the topics covered in this tutorial:

  1. Set-up Environment
  2. Linearization
  3. State Space Feedback
  4. State Space Observer
  5. Artificial Neural Network based Gain Scheduling
  6. Comparing Controllers

This is the "final" result, where we compare a baseline PID controller with a Radial Basis Function Neural Network based controller:

<iframe width="560" height="315" src="https://www.youtube.com/embed/4yMLgmyRM1s" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Other info and disclaimers:

Controllers designed to the 5MW NREL wind turbine using the MATLAB Simulink and FAST V8. Note: OpenFAST is already available and it's open-source, the reason I'm still using FAST V8 is that my MATLAB is an older version not supported on the most recent FAST distribution.

The FAST software is distributed by the National Renewable Energy Laboratory

Matlab and Simulink are property of Mathworks;

The Matlab version used in this project is the Matlab R20017b

The FAST version used was FAST V8(v8.16.00a-bjj)

For Linearization, I used FAST V7 mainly because the output file (.lin) is easier to extract the desired information.

Although this is an individual repository maintained by the only author, some of the files contained here are modified by the members of the Laboratoire de Mécanique de Normandie (LMN) from the INSA Rouen freely made available as example for anyone who is interested in this topic.

Useful links:

The parameters used for the turbine are given by NREL in here: Definition of a 5-MW Reference Wind Turbine for Offshore System Development

Some controllers are adapted from Advanced Control Design for Wind Turbines; Part I: Control Design, Implementation, and Initial Tests

Fell free to contact me anytime for help, suggestions, critics and insults as well :)

These files are provided without warranty. Use them at your own risk.

About

Controllers designed to the 5MW NREL wind turbine using Simulink and Fast V8

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 69.3%
  • F* 24.1%
  • MATLAB 3.1%
  • Batchfile 2.7%
  • M 0.3%
  • Makefile 0.3%
  • LabVIEW 0.2%