Controlof 5MW Offshore WT

Hello everbody
I am entering to simulate the 5MW Ofshore WT with the baseline torque controller and the gain scheduling pitc controller based on the paper “Definition of a 5-MW Reference Wind Turbine for Offshore System Development” with FAST and simulink. I have somes doubt about the result obtained, because the generator speed doesnt follow the wind speed changes. I have verified the parameters and repeated the simulation a lot of cases and always the results the same
I am asking everybody who have somes suggestions or comments about that, I will be very reconize with your intereactions
Attached the response and the wind profile


Dear Ali,

I don’t know what the problem is, but here are a few questions to think about as you debug?:

  • Do you get a better response if you initialize the rotor speed appropriately for the mean wind speed e.g. at 9 rpm?
  • Have you converted the generator speed to rad/s for use in the controller?
  • Is the low-pass filter on generator speed set correctly?

Best regards,

Dear Everyone,

I am trying to implement a derating method based on the torque and the pitch controllers of the 5MW NREL HAWT using Simullink. For now, I am just working on the second region to test my torque controller (no pitch control), at a free steady wind speed of 9m/s.
From the 5MW characteristics figure below, the available generator power is around Pg_av=2.5MW, and the generator speed is around w_g=1000rpm.

When I give as input to the SFunction a torque command to have a generator power difference of 1MW ( Generator power command Pg_cmd=1.5MW ), I still get an output generator power of around 2.5MW, and this is due to the generator speed that increases to match the maximum available power, which in this case increased from 1000rpm to 1100rpm…
In other words:

  • With the DISCON dll for power maximization, in Region 2 (U=9m/s) where the torque is proportional (K_max) to the generator speed square:
w_g=1000rpm
K_max=0.0255764 Nm/(rpm^2)
Pg_av=Pg_cmd=K_max*(w_g^2)*(w_g*2*pi/60)= ~ 2.5MW
  • With my implemented torque controller for a power reserve of 1MW, I have
w_g=1100rpm    <--- Expecting to still have 1000rpm!
K_max=0.0255764 Nm/(rpm^2)
P_av=K_max*(w_g^2)*(w_g*2*pi/60)= ~ 3.5MW  <--- Expecting 2.5MW
Pg_cmd= P_av-1MW =~ 2.5MW

Is there something in OpenFAST trying to keep the power always maximized by adapting the generator speed?
What do you suggest me to overcome the issue?

Kindest regards

Younes

Dear Younes,

The use of a K*omega^2 torque controller with an optimal setting of “K” and blade pitch will result in the maximum power extraction from the rotor, which for the NREL 5-MW baseline turbine at 9 m/s is about 2.5 MW, as you said. You’d have to shed some of the aerodynamic power available, e.g., by using a nonoptimal generator speed/torque or nonoptimal blade pitch to not achieve this power output.

Best regards,

Dear Jason,

Thank you for the fast reply. So if I understand correctly, I should adjust the aerodynamic available power. But in the article of Jacob et Al. (from NREL): https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.303.1721&rep=rep1&type=pdf, in their torque controller, they only give a torque command as input in region 2 by computing a different K_cmd from a look-up table:
GTC.PNG

In my case, I try to do something similar, but instead of using a Lookup table of K_cmd, I say:

P_cmd = P_av - P_reserve %P_cmd is the power command, P_av is the available power, and P_reserve is the constant power reserve desired --> T_cmd = T_av - P_reserve/omega %T_cmd is the torque command, T_av is the availabe toroque = K*omega^2, omega is the generator speed --> T_cmd = K*omega^2 - (P_av-P_cmd)/omega

And I don’t know if I can give a generator speed instead as input. I may be wrong somewhere or misunderstood things, please correct me.

Kindest regards

Younes

Dear Younes,

You can shed the aerodynamic power by changing the rotor speed (which will change the TSR) or blade-pitch from their optimal values. You can’t directly set the speed, but by using a nonoptimal generator torque (different from the standards K*omega^2 torque control law with an optimal K), i.e., by changing “K” or the torque control law, this will cause the speed to deviate from optimal.

Best regards,

Dear Jason,

Thank you for the clarifications and help. I agree with you that a nonoptimal generator torque (different from Komega^2 with optimal K) must be done. In the article, it is true that they do it by changing the “K” parameter. But I don’t understand why it doesn’t work in my case where I set the command torque as: T_cmd = Komega^2 - (P_av-P_cmd)/omega, which is a non-optimal torque also, and still, I have the maximum power due to the change of omega that increases, even though I don’t want it to do so by changing the only generator torque input.

Sorry for the inconvenience

Kindest regards

Younes

Dear Younes,

I’m not following everything you are doing to change the torque, but another problem could be the “flatness” of the Cp-TSR curve near rated; if the curve is flat, it may take a large speed variation to shed a lot of power.

Best regards,