Dear Jason,
I found the problem for the oszillating pitch controller. You defined two conditions for Region 3 of the generator torque controller.
The first condition is that the filtered rotor speed is bigger than 1161.963 rpm and the second condition is that the pitch is bigger than 1°.
At first I neglected the second condition. The result was a oszillating pitch.
After implementing the second condition in the generator torque controller the pitch controller works without oszillation.
My last question regarding the pitch controller design. I compared your pitch controller
design with the design technique which is explained in the technical report “Advanced Control Design for Wind Turbines”.
In the technical report they calculated K_I and K_P for the CART wind turbine over the following equations (In the technical report equation 3.10):
K_I = (-omega^2*(1-B*K_D))/B
K _P= -A/B-(2Deltaomega(1-B*K_D))/B
The values for A and B they got from a linearization.
When I do the lineariziation for the NREL5MW reference wind turbine with a constant wind of 11.4 m/s and only one DOF (GenDOF)
I get the following values for A and B:
A=-3.823E-01 and B=-3.278E-01.
The values for K_I and K_P is calculted over equation 3.10 to:
K_I = 1.0982
and
K_P = 1.396
I used for omega 0.6 , delta 0.7 and K_D=0.
This is the linearization input file:
---------------------- FAST LINEARIZATION CONTROL FILE -------------------------
NREL 5.0 MW offshore baseline linearization input properties.
---------------------- PERIODIC STEADY STATE SOLUTION --------------------------
True CalcStdy - Calculate periodic steady state condition {False: linearize about initial conditions} (flag)
3 TrimCase - Trim case {1: find nacelle yaw, 2: find generator torque, 3: find collective blade pitch} (switch) [used only when CalcStdy=True and GenDOF=True]
0.0001 DispTol - Convergence tolerance for the 2-norm of displacements in the periodic steady state calculation (rad ) [used only when CalcStdy=True]
0.001 VelTol - Convergence tolerance for the 2-norm of velocities in the periodic steady state calculation (rad/s) [used only when CalcStdy=True]
---------------------- MODEL LINEARIZATION -------------------------------------
36 NAzimStep - Number of equally-spaced azimuth steps in periodic linearized model (-)
1 MdlOrder - Order of output linearized model {1: 1st order A, B, Bd, C, D, Dd; 2: 2nd order M, C, K, F, Fd, VelC, DspC, D, Dd} (switch)
---------------------- INPUTS AND DISTURBANCES ---------------------------------
1 NInputs - Number of control inputs [0 (none) or 1 to 4+NumBl] (-)
4 CntrlInpt - List of control inputs [1 to NInputs] {1: nacelle yaw angle, 2: nacelle yaw rate, 3: generator torque, 4: collective blade pitch, 5: individual pitch of blade 1, 6: individual pitch of blade 2, 7: individual pitch of blade 3 [unavailable for 2-bladed turbines]} (-) [unused if NInputs=0]
1 NDisturbs - Number of wind disturbances [0 (none) or 1 to 7] (-)
1 Disturbnc - List of input wind disturbances [1 to NDisturbs] {1: horizontal hub-height wind speed, 2: horizontal wind direction, 3: vertical wind speed, 4: horizontal wind shear, 5: vertical power law wind shear, 6: linear vertical wind shear, 7: horizontal hub-height wind gust} (-) [unused if NDisturbs=0]
Is there a mistake in the linearization file or is this technique not applicable for the calculation of the K_I and K_P values for the NREL5MW reference wind turbine?
Thanks for your help and regards
Lars