Dear all,
Question: How can a simple proportional controller reject step disturbance in a first order system?
I am working on WP1.5MW turbine (provided with OpenFAST by default).
Simulation settings:
All components rigid.
Wind speed: Uniform across the disc.
Drive train: Kinemtaically connected (Drive train rotationalflexibility DOF OFF).
Under the above condition the system can be treated as a first order:
I_eq \dot (Omega) = T_aero( V_w, Omega, beta )  T_gen > (Eqn 1)
Above rated wind speed, T_gen is kept constant at the rated value. Hence, the linearized version of the above equation can be written as,
I_eq ( \dot (DeltaOmega) ) = ADeltaOmega + BDeltaBeta + C*DeltaV_w > (Eqn 2). A, B, C are calculated about the operating condition (V_0, Omega_0, Beta_0).
Agreed?
I have apriori calculated steadystate operating condition corresponding to uniform and steady wind speed of 18 m/s (Pitch:18.5deg).
When dynamic simulation is performed with the initial conditions corresponding to this steady state, i see the system reaching the rated rotational speed of 21.54 RPM as expected. Now, I have applied unit disturbance to the system by changing the wind speed from 18 m/s to 19 m/s. I have only proportional controller acting on the error in the rotor speed. Still it is able to bring the rotor to rated speed (21.54 RPM). My question is, how can a proportional controller alone (no integrator or differentiator) reject a step disturbance in a first order system and bring the system to steady state with zero error?
Am I missing something while treating the system as first order as shown in the equation1 and 2 ?
NOTE: Dynamic analysis is performed in OpenFAST V4 with Controller implemented in Simulink.
Regards,
Kumara
Dear Kumara,
Can you share your OpenFAST model, Simulink model, and response of the rotor speed, generator torque, and blade pitch?
My only comment so far is that your linearized system is first order, but of course, the OpenFAST model implemented in the SFunction is not linearized, but has nonlinear terms.
Best regards,
Dear Jason,
Kindly refer to the attachment for the requested details. Kindly let me know if any more information is needed. Thanks.
Regards,
Kumara
Query.pptx (311 KB)
Dear Kumara,
Just a couple comments/questions:
 In your Simulink model, you are summing up all contributions of the proportional term from past time steps (effectively integrating the signal) rather than summing the proportional term with a fixed reference value.
 What is implemented in your variablespeed torque controller? (You implied in your original post that the generator torque was held constant.)
 If you replace the OpenFAST SFunction with your linear equivalent firstorder model, does the response match what you are getting with the OpenFAST SFunction?
 My understanding is that your OpenFAST model has only the generator DOF enabled (GenDOF = True; all other False); is that correct? What aerodynamic settings have you enabled in AeroDyn?
Best regards,
Dear Jason,
Just a couple comments/questions:

In your Simulink model, you are summing up all contributions of the proportional term from past time steps (effectively integrating the signal) rather than summing the proportional term with a fixed reference value.
Yes, I realize it now. I am essentially implementing an integrator and not Proportional controller alone. With this correction in the understanding results make sense.

What is implemented in your variablespeed torque controller? (You implied in your original post that the generator torque was held constant.)
I have strictly two regions II and III, NO region II 1/2 (Assumed no blade tip speed control). In region II, generator torque = K Omega^2. In region III, generator torque is kept constant (rated value).

My understanding is that your OpenFAST model has only the generator DOF enabled (GenDOF = True; all other False); is that correct? What aerodynamic settings have you enabled in AeroDyn?
Yes, only GenDOF =True and all other False.
Thank you so much for your help.
Regards,
Kumara