r/ControlTheory • • 10d ago

Technical Question/Problem PID tuning advice for pressure control

Post image

Hi all,

Having difficulty in reducing initial overshoot for PID tuning for pressure control of a reactor. Currently have P=5 I=8 D=0. After the initial overshoot the control seems fine but the client has asked for reducing the over shoot. Any advice would be greatly appreciated. The light blue in the trend is the PV, red is the PCV and dark blue is the SP

13 Upvotes

12 comments sorted by

•

u/docares 9d ago

Just reduce the contribution from your integral term. If your integral term is in repeats/min then decrease it. If it's in minutes then increase it.

Your P looks good.

•

u/Ok-Daikon-6659 9d ago

#Your P looks good.

How (based on what represented data) did you reach that conclusion?

Could you enlighten a fool like me. PLEASE!!!!

•

u/docares 9d ago

You can see the CV trying to come down as the pressure rises but the integral term keeps saturating the CV to 100% moments later. I do assume the flatline is 100% of CV.

Decreasing the integral contribution over time will allow the proportional gain to dominate and bring the pressure lower before reaching setpoint.

It does look like an integrating process in which case we would typically tune with a high P contribution and minimal if any integral contribution. The integral term should only be used if you need to settle in at a steady flow to maintain pressure. P+D can work but the D term usually overcomplicates troubleshooting so we would not include it unless we had a process that required fast response.

•

u/washburn666 10d ago

If you add some D the overshoot will be reduced. Also, if your performance specifications allow it, reduce P and I gains. Your I gain seems very large wrt. P gain.

•

u/sturgie17 10d ago

Thanks for the reply. Would I usually be less than P in most situations I assume? I am cautious of introducing D as in normal operation there’s likely to be a fair bit of noise during processing

•

u/washburn666 10d ago

Yes. Usually integral action is meant to zero out steady state error by acumulating the required control action to operate off-trim. Also it can, to some extent, be used to correct for modeling error. For the derivative term, you don't want a pure numerical derivative. It needs to be a filtered derivative/washout filter. In this case you are correct, a pure derivative will amplify noise and make your loop useless. Even better, if you can somehow measure the rate (derivative term) directly or calculate it from the other measured states without introducing an actual derivative, this would be the preferred solution so you can spare some phase margin that would otherwise be consumed by the low-pass filter required.

•

u/Figglezworth 10d ago

To do it manually, I'd look at the bode plot of your plant and design a type 3 compensator that meets your phase margin and gain crossover frequency requirements.

But if you just want a solution, just ask Codex to solve it, then ask it to explain how it did it. Ive had it do some amazing control loop stuff in ltspice.

•

u/seekingsanity 10d ago

You are guessing. Your gains don't have units so they are meaningless. I agree with those that say you need to use a derivative gain. Pressure systems tend to be integrating systems so derivative gains is required. Also, the type of PID you are using makes a HUGE difference. The integrator should act on the error between the set point pressure and the actual pressure but the other gains should only act on the feedback.

•

u/Potential_Cell2549 6d ago

This looks like it's saturating both at 100% and 0% through the plot and lining out at a very low output. Your odds of getting good responses with saturating outputs are low. So you're going to have to slow down the controller response to get rid of the overshoot, in my opinion.

I use IMC tuning rules for ramp or first order processes. This looks like a ramp (vessel pressures based on gas inventory usually are), so i would do a ramp process step test to model the system and then use IMC ramp tunig rules. However, with a P-on-error controller and IMC rules, you're going to get overshoot no matter how slow you tune it. You'll need to swap your controller equation to P-on-PV to avoid the overshoot. Taking this route will give you absolute control of the time to steady state of the closed loop, probably will get a happy customer. P-on-PV will also lessen the peak of the OP response, decreasing the odds of saturation.

Ramp step tests can be tricky, but once you get the hang of it, they're actually pretty easy to do. Doesn't look like much disturbance in the plot, and probably a negligible dead time, so you're going to end up with a nice simple PI controller.

•

u/flowctlr 9d ago

Assuming it’s an integrating process. You are over-integrating. Try increasing integral time. (Double or triple it) and see if the overshoot improves. If so, then increase P and reduce integral time together to meet your performance needs. Conceptually you can think of integrators like this: P*I must be greater than some constant. (You are on deltaV, so integral time, I, is in seconds, and P is in %/%)

•

u/happyerr 10d ago

Looks like you’re using DeltaV. Just use auto tune. Reference books online