Jump to content

Recommended Posts

Hello world,


I have set AutoTune PID regulation of water level in my last Small Hydro Power Plant project. Most of the time the regulator works excellently but sometimes it starts to oscillate. The level in the river is rising and the power of the turbine is rising too. After some minutes the level starts to fall and the output power is falling also. The operator of the plant has to start new AutoTune cycle and everything is OK again for next months. My question is: Do you have some idea how to detect the situation when the regulation is oscillating (and eventually start AutoTune without operator intervence)? 


Thank you for any advices.

Link to comment
Share on other sites

You could create a counter at the high and low end of the oscillation that when it reaches a certain value triggers an auto-tune.  This is a band-aid fix though, as you shouldn't need to auto-tune frequently unless there is some inherent instability in the system process on it's own.

You might want to try manually adjusting some of the PID values after you've auto-tuned to force a more stable system over time.


Couple of things that might help:

Increase the P-value. Outside of the P range you're valve is either fully open, or fully closed.  Increasing the P-Value range (100% is allowed) forces the PID function to always run it's calculations instead of going full open on the valve.


Increase the I-value.  Larger I-values smooth out and tries to prevent overshooting of the process variable based on the error.   It may take longer to stabilize, but it helps prevent overshoot.  If fact if you just run a PI system with a larger I-value, you will never hit your process variable.


D-Value, I forget which way this one affects the system as I usually set it to 0 for most my applications, but this is your predictor variable.  It tries adjust the response based on where it believes the system is going.  Strong D values create strong responses to a change in system state and can lead to oscillation.  Tweak this so that your system doesn't react as fast, but still catches some of the error.

  • Upvote 1
Link to comment
Share on other sites

  • 1 month later...

Thank you, it works! I found the root of the problems. In order to precisely keep the setpoint of the water level, the proportional band was set too narrow. Now, when the OPLC detects the oscillations, the proportional band is automatically enlarged. Now everything runs normally without problems, no AutoTune is needed.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...