Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Peak shaving and rotor speed #63

Open
BenoitSchiltz opened this issue Oct 19, 2021 · 9 comments
Open

Peak shaving and rotor speed #63

BenoitSchiltz opened this issue Oct 19, 2021 · 9 comments

Comments

@BenoitSchiltz
Copy link

Hi all,

I am tuning my controller using ROSCO toolbox, and when I plot my operational points coming from steady wind simulations statistics, I see that when peak shaving applied (less than 20% load reduction) the TSR is changing (rotor speed slope lower than what should be) from where peak shaving is used, which is not desired. I reduced and increased my rated wind speed in the yaml file, but it did not change the controller behavior at operational points where there is peak shaving.

Is there a way to ensure that before reaching rated rotor speed the TSR is kept constant, so that peak shaving is applied only by changing the pitch angle? Cf picture
image

Thanks
Best regards

@dzalkind
Copy link
Collaborator

Hi, this looks like an issue with the ROSCO controller that we addressed here.

What version of the ROSCO controller are you using and what model/DISCON.IN file are you using?

@BenoitSchiltz
Copy link
Author

Ok, why is this difference in rotor speed between Peak shaving / not Peak shaving occuring for some simulations only in the pdf from your link?

I am using the ROSCO 2.2.0 (libdiscon.dll), and I am using the DISCON.IN file created from the ROSCO toolbox (installed from the ROSCO 2.4.0) using the parameters I would like to have for my controller. The wind turbine is close to the IEA 15MW UMaine, but I am simulating it as onshore WT and with Orcaflex (which can read the .dll).

@dzalkind
Copy link
Collaborator

I think it's because the difference is not as pronounced in simulations with turbulence. I recommend you update to the 2.3.0 binaries or compile the latest main branch. We will be releasing 2.4.0 ROSCO binaries soon.

@BenoitSchiltz
Copy link
Author

I was thinking of the simulations from the pdf, which are all with turbulence : some do not show rotor speed difference between peak shaving /no peak shaving, and some do.

Ok, so this issue should be solved in future releases?

I am also struggling a bit in tuning my frequencies/damping for the controller (pc and vs), some oscillations do not vanish close to cut in wind speed for the torque or rated wind speed for the blade pitch, when modifying little those from the IEA 15MW (my wind turbine is close to this one) controller parameter. This does not happen at low wind speed when i do not apply pitch saturation however. What would you recommend?

Another thing, for wind turbine having gearbox, I had to modify the controller.py code in the ROSCO toolbox to be able to apply a minimum rotor speed, it was :
##-- Define some setpoints --
##-- minimum rotor speed saturation limits
if self.vs_minspd:
self.vs_minspd = np.maximum(self.vs_minspd, (turbine.TSR_operational * turbine.v_min / turbine.rotor_radius) * Ng)

I changed it to
self.vs_minspd = self.vs_minspd * Ng
as TSR_operational is first calculated assuming there is no minimum rotor speed, which assigns too high value to self.vs_minspd, and in my case even higher than the rotor speed needed to maintain TSR to its optimum value.

@dzalkind
Copy link
Collaborator

I would recommend you use the latest version of ROSCO, where we have combined the ROSCO and the ROSCO_toolbox repositories and addressed all of these issues already.

@dzalkind
Copy link
Collaborator

Regarding the oscillations near rated: this is common with steady wind speeds and a floating model. You can reduce them by reducing omega_pc, but this isn't necessarily good for controller performance in turbulence, which is our primary goal.

@BenoitSchiltz
Copy link
Author

I switched to ROSCO 2.3.0 and will wait for the ROSCO 2.4.0 binaries. With ROSCO 2.3.0 binary, my initial problem with too low rotor speed when using peak shaving is now fixed, thanks !

I see in your ROSCO latest version link that the same line I mentionned before, causing problems for minimum rotor speed when using wind turbine with gearbox is still present. It is line 278 of controller.py in the ROSCO toolbox.

Thanks for the advice near rated for oscillations, I am still modeling it as an onshore version, but I will remember that when I move to floating.

@ptrbortolotti
Copy link
Collaborator

This should fix the min rpm problem d149647

@BenoitSchiltz
Copy link
Author

Thanks for the update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants