PID tuning of hydraulic drives with high inertia

In summary: I'm not sure, it's just an artifact of the data.In summary, the controller has poor response time and needs to be tuned manually.
  • #1
Cruzo
4
0
Hi there.

I have a question about the tuning of a PID (PI) controller in hydraulic drive trains with high inertia. I have a system with a 100kW hydraulic motor with an installed on its shaft encoder. That is how I am getting feedback from it. Not surprisingly I have a controller for acquisition and control of the hydraulic system (there are a few valves in the circuit). The last time when I was trying to tune the PID in the system (in the controller’s software), but I failed miserably. I did everything according to the standard tuning procedure (https://robotics.stackexchange.com/questions/167/what-are-good-strategies-for-tuning-pid-loops like here for instance) increase the proportional gain to reach steady oscillations and so on. At the end of the day the controller works, but too slow. And since it is a big hydraulic system that spins quite fast, I’ve decided not to go too crazy with the parameters and stopped there.

I read that it is quite challenging to tune PID controllers in hydraulic systems. The funniest thing is that I have a mathematical model of the system in Matlab/Simulink. So, in theory, I can easily derive the PID parameters. I did it once, and it did not work out either. So could you please advise any best practice for PID (PI) tuning when it comes to fairly big hydraulic drive trains? Thank you in advance.
 
Engineering news on Phys.org
  • #2
If you tried everything, that includes Zeigler-Nichols method, correct?

How can you be sure that any possible tuning will make it as fast as you want? If you have analysis tools at hand, can you start with the desired time response of the process and calculate what the required time response of the controller output would have be? You could than compare that with what the controller is capable of.
 
  • Like
Likes donpacino
  • #3
@anorlunda ,

Thank you for your comment. Yep, I tried Zeigler-Nichols approach.

Probably here I should mention a little bit about the test that I was doing. Fairly simple system, we set up (in the controller) a reference speed and then accelerating the motor (by opening the control valve in the circuit). When the motor's velocity exceeds the reference, the controller should decrease the control voltage input to the valve, hence decelerate the motor and bring it down to the reference speed. My first approach for achieving this was a gradually decreased voltage method (with two voltage decrements), to decelerate the motor. The response was good, let's say almost 1 s (from 2100 RPM to 2000RPM).

When I tried to do the same process with the PID...the same process took me almost half a minute (and it was the best time). So I reckon it is because of the PID parameters, rather than the controller. It is a fairly powerful controller from National Instruments (NI), and it is capable of doing these kind of tasks. Plus after I finished the test with with the voltage decrease method, I know that the output modules and the motor are capable of doing the task as well.

I mean at least I expect from the PID controller the same response time, or maybe bigger but with good reference control (but definitely not a dozen times slower). Autotuning of the PID is possible with the use of NIsoftware, but when a big motor spins at 2000RPM, I would rather tune the PID manually, to be sure that nothing goes wrong.

If you have any tips or something else, I will be more than happy to discuss them with you. Thank you and have a good day.
 
  • #4
What is the response to step changes in the command signal? Both step increase and step decrease. Is there a delay in the response? Overshoot? What is the gain (RPM per volt)? Is the gain constant over the operating range? What is the desired response time to a command? What is the frequency or ramp rate of typical disturbances? What are you controlling - flow rate, pressure, something else? How precise does it need to be?
 
  • #5
@jrmichler
Thank you for the comment. You caught me off guard, don't have all the data set here. I have one file to show you the voltage test.

jrmichler said:
What are you controlling - flow rate, pressure, something else?
I am controlling the voltage that inputs to the proportional valve that sits in the circuit and controls the flow rate through the system. The input pressure to the system is almost constant (about 110bar - 1600psi) - comes from a hydraulic unit.
jrmichler said:
How precise does it need to be?
Withing the plus minus 5 RPM range from the reference speed.

A picture of the exp data, the timing is wrong there, 1 point is 3ms, so it takes 1.8s to go from 1600 RPM to 1500 RPM. The initial voltage spike is caused by me (since I can manually control the valve's voltage), so I can accelerate the motor and check how the tracking algorithm will behave. So the voltage drop is around 170mv, which corresponds to the 100RPM drop.
https://ibb.co/gHGfLc

So since it is doable with a simple voltage reduction method, again, I want at least the same response time from the PID controller. I hope my comments along with the picture covered the most of the questions, thank you a lot for your time.
 
  • #6
Cruzo said:
I have a mathematical model of the system in Matlab/Simulink. So, in theory, I can easily derive the PID parameters. I did it once, and it did not work out either.
which suggests the model is missing one or more key elements.

This proportional valve that is controlled, does it involve a pilot valve of some sort?

@jrmichler's questions make a good troubleshooting list to tick through. PID requires error to generate output changes; adding feedforward elements ought to improve response. Glance through the Hydraulics & Pneumatics article "Closed Loop Tuning Secrets Revealed" for the gist of it.
 
  • #7
If the correct time scale is 1.8 seconds from 1500 to 1600 RPM, then there is a delay of about 0.12 seconds, and the time constant of the response a little less than one second. These are rough numbers from a quick look at your data. You will need to find them more accurately because they are fundamental limits to how well you can control your system, especially if you have fast changing disturbances.

Asymptotic's link is a good one. You can find more using search term tuning PID controllers.
 
  • #8
@Asymptotic
Thank you.
Asymptotic said:
which suggests the model is missing one or more key elements.
This test is 1% from what I have been doing with this system for the last two years. I always use this model as the reference and it never let me down. Everything is there and was parameterized by experimental testings done by me.
Asymptotic said:
This proportional valve that is controlled, does it involve a pilot valve of some sort?
It's a standard Proportional Throttle valve, TDA series by Parker. Nothing fancy...
Asymptotic said:
PID requires error to generate output changes; adding feedforward elements ought to improve response.
Exactly, and with regards to the feed forward control, I am aware of it. I've been using it in the main control system that runs the whole prototype for the last two years as well. So there is nothing new about it, that I don't know yet. I've been using the math model to tune the parameters by the way.
I was hoping to avoid this scenario for this simple task that is presented in this topic. Otherwise I will use the model again to tweak the parameters.
Thank you and have a good one.

@jrmichler
Thanks. Trust me, i was not even planning to waste your time by posting the high res data and plots from OriginLab. For our discussion now it won't make any difference. But you see the scale and timing of what's happened. I will have a look again and check the forum. But from my experience what I see, people usually say "it is challenging due to inertia, fluid inertia, temp changes and other reasons". And I am aware of it as well. But could not find anybody who actually tuned a PID controller in a fairly big system (100kW) and open to share this experience with the world. Thank you for your time. Hopefully I will be able to find something precise and feasible for the further testing.
 
  • #9
Cruzo said:
But could not find anybody who actually tuned a PID controller in a fairly big system (100kW) and open to share this experience with the world. Thank you for your time. Hopefully I will be able to find something precise and feasible for the further testing.

Tuning big systems is not much different than small systems...

Can you share with us what the transfer function of your open loop system is? without that we can't help you other than throwing general concepts at you.
 
  • #10
Cruzo said:
This test is 1% from what I have been doing with this system for the last two years. I always use this model as the reference and it never let me down. Everything is there and was parameterized by experimental testings done by me.

If the model is accurate share it with us.

Edit: You should be able to use matlab/simulink to autotune the PID controller as well (using the controls toolbox). This can give you a baseline for where to start
 
Last edited:

1. What is PID tuning and why is it important in hydraulic drives with high inertia?

PID tuning is the process of adjusting the parameters of a proportional-integral-derivative (PID) controller to achieve desired performance in a control system. In hydraulic drives with high inertia, PID tuning is important because it allows for precise control of the system, ensuring smooth operation and preventing potential damage or malfunction.

2. What are the main components of a PID controller used in hydraulic drives with high inertia?

The main components of a PID controller used in hydraulic drives with high inertia are the proportional, integral, and derivative terms. The proportional term controls the immediate response of the system, the integral term eliminates steady-state errors, and the derivative term predicts future changes in the system and adjusts accordingly.

3. How does the inertia of a hydraulic drive affect the PID tuning process?

The inertia of a hydraulic drive can significantly affect the PID tuning process. Higher inertia means that the system will take longer to respond to changes, so the controller parameters must be adjusted accordingly to prevent overshooting or undershooting. In general, a higher inertia system requires slower controller response.

4. What factors should be considered when tuning a PID controller for hydraulic drives with high inertia?

When tuning a PID controller for hydraulic drives with high inertia, factors such as the desired speed or position of the drive, the load on the system, and the system's natural frequency should be considered. These factors will help determine the appropriate values for the proportional, integral, and derivative terms.

5. Are there any common challenges or pitfalls to watch out for when tuning a PID controller for hydraulic drives with high inertia?

Yes, there are a few common challenges and pitfalls to watch out for when tuning a PID controller for hydraulic drives with high inertia. These include instability or oscillations in the system, slow response time, and overshooting or undershooting of the desired setpoint. It is important to carefully adjust the controller parameters and monitor the system's response to prevent these issues.

Similar threads

  • Mechanical Engineering
Replies
3
Views
1K
  • Electrical Engineering
Replies
10
Views
3K
Replies
9
Views
2K
  • Mechanical Engineering
Replies
10
Views
2K
  • Mechanical Engineering
Replies
11
Views
2K
  • General Engineering
Replies
5
Views
2K
  • Electrical Engineering
Replies
9
Views
1K
Replies
5
Views
2K
Replies
1
Views
3K
  • General Engineering
Replies
5
Views
3K
Back
Top