Hi Helpful NREL people.
I’ve been playing with Craig Hansen’s pitch control algorithms. I’ve been able to get them to work reasonably well, but I’m having some pitch - torque control loop interactions which are setting up oscillations.
The need to decouple these control loops is fairly well known, but I can’t see any features in the pitch.ipt that would help or anything in Kirk Pierce’s (VSControl = 2) or the normal torque control method (VSControl = 1) in FAST.
Do you have any suggestions?
I’m not too familiar with either of these controllers specifically, but I believe I can provide some general suggestions.
The simplest approach would be to separate the RPM at which the 2 controllers are operate. For example, keep the pitch control set point at the rated speed of the turbine, while making the point at which the torque controller saturates at rated to be something less than that (97% or so). This can work, but it is perhaps a bit over simplistic, and some power loss results from leaving the optimal torque curve sooner, or else the 2.5 slope is made steeper.
I believe a more standard and more effective approach, but more complicated, are to use the methods outlined for example in the Project Upwind report. See the report “Controller for 5MW reference turbine” by Dr. Ervin Bossanyi for the report on this. Section 2.6 reviews the methods used for handling interaction. For the torque controller, a “ratchet” is applied to prevent the torque demand from falling when the pitch controller is active (pitch above fine), and then a bias term on the pitch to bias the pitch toward feather when demanded torque is below rated. In my own work this approach has worked well, but takes a bit of tuning and checking (especially cases involving sudden transitions between regimes) to get it right.
Hope this helps!