How do you control an Electronic Butterfly Valve with PID

Click For Summary

Discussion Overview

The discussion revolves around controlling an electronic butterfly valve using a PID controller to manage pressure within a cylindrical chamber. Participants explore the effectiveness of PID control, alternative control strategies, and the challenges faced in tuning the controller.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning
  • Experimental/applied

Main Points Raised

  • One participant describes the butterfly valve's operation, noting it accepts 0-10V control signals to adjust its position between closed and open.
  • Concerns are raised about the PID controller output consistently reaching the extremes (0V or 10V) without intermediate positions, suggesting potential issues with tuning.
  • Some participants propose that PID control might be excessive for this application and recommend using a PI controller instead, along with the Ziegler-Nichols tuning method.
  • Questions are posed regarding the linearity of the voltage-to-position mapping and the participant's experience with PID controllers.
  • Another participant emphasizes the importance of modeling the control system and understanding the relationship between pressure measurements and control inputs.
  • Suggestions are made to create a block diagram of the control system to identify potential issues, including scaling of inputs and outputs.
  • Participants discuss the significance of set points and the potential for integral windup if the system cannot reach desired pressure levels.
  • One participant shares advice on troubleshooting control systems by breaking the loop, suggesting it may apply to the current situation.
  • Further inquiries are made about the dimensions of the cylindrical chamber and the placement of the pressure sensor relative to the valve.

Areas of Agreement / Disagreement

Participants express differing views on the appropriateness of PID control for this application, with some suggesting alternative methods and others advocating for PID tuning. The discussion remains unresolved regarding the best approach to take.

Contextual Notes

Participants highlight potential limitations in the control system's modeling and the need for accurate pressure measurements. There are also concerns about the effects of set point limitations and the risk of integral windup.

Who May Find This Useful

This discussion may be useful for engineers and hobbyists interested in control systems, particularly those working with PID controllers and electronic valves in pressure management applications.

nlis12
Messages
32
Reaction score
3
The butterfly valve I have is controlled by sending voltages to it. It accepts 0-10V and maps a specific voltage to a specific position from completely closed (zero degrees) to completely closed (90 degrees).

To clarify/reiterate it is not controlled by a servo motor.

I am using this valve to control the pressure inside of a cylindrical chamber with a constant air flow from the inlet to the outlet (where the valve is).

So I tried to implement a PID controller on the valve in order to control the pressure.
The problem is that the PID outputs always rail to 0V (completely closed) or 10V (completely open) and no positions in between. (I have spent hours tuning the P,I,D constants and nothing seems to change the operation)

Is this system something you should control with a PID loop?
Are there other control schemes that would be applicable in this case?
 
Engineering news on Phys.org
  • Like
Likes   Reactions: Asymptotic, nlis12, Averagesupernova and 1 other person
As a follow up to anorlunda's advice...

To what level do you have your control system modeled?
Is the mapping between voltage level and position linear?

and finally... how much experience do you have using PID controllers or control systems in general
 
  • Like
Likes   Reactions: nlis12
I don't know know the answer to your first question as I am new to PID controllers.

And my valve is mapped linear from voltage to position.

donpacino said:
As a follow up to anorlunda's advice...

To what level do you have your control system modeled?
Is the mapping between voltage level and position linear?

and finally... how much experience do you have using PID controllers or control systems in general
 
Since you're not sure what modeling a control system is, I'm assuming simulating your system is out of the question. In order to use Ziegler Nichols you need to evaluate what happens when the system becomes marginally stable.

If you want to use that method, you'll need to solve for the gain values experimentally, and ideally you'll have a sensor that can properly measure pressure (or air flow and estimate pressure, but that requires a good idea of your model). Assuming you have an accurate system with a decent time response, you can follow the method and increase your Proportional gain until you get fluctuations in pressure.

If that isn't an option, either because your sensor doesn't have a fast enough response, or you might damage your system doing that, then you might need to use your best judgement in setting the PI values.

Can you do me a favor. can you draw out a block diagram of the control system? See below for an example. Are you measuring pressure? Are you properly scaling your inputs (voltage) to your measured outputs (pressure)? etc. You don't need to do this, its not homework after all, but it can help identify problems. If you don't have control system experience you might have made other mistakes that can cause that rail to rail bounce other than just a high P value.

https://www.pidtuning.net/css/images/temp/pidloop.jpg
 
  • Like
Likes   Reactions: nlis12, jim hardy and Asymptotic
I have attached a block diagram of my system.
Also, I am certain that my outputs for the pressure have been scaled correctly just double checked.

Thank you!

donpacino said:
Since you're not sure what modeling a control system is, I'm assuming simulating your system is out of the question. In order to use Ziegler Nichols you need to evaluate what happens when the system becomes marginally stable.

If you want to use that method, you'll need to solve for the gain values experimentally, and ideally you'll have a sensor that can properly measure pressure (or air flow and estimate pressure, but that requires a good idea of your model). Assuming you have an accurate system with a decent time response, you can follow the method and increase your Proportional gain until you get fluctuations in pressure.

If that isn't an option, either because your sensor doesn't have a fast enough response, or you might damage your system doing that, then you might need to use your best judgement in setting the PI values.

Can you do me a favor. can you draw out a block diagram of the control system? See below for an example. Are you measuring pressure? Are you properly scaling your inputs (voltage) to your measured outputs (pressure)? etc. You don't need to do this, its not homework after all, but it can help identify problems. If you don't have control system experience you might have made other mistakes that can cause that rail to rail bounce other than just a high P value.

https://www.pidtuning.net/css/images/temp/pidloop.jpg
 

Attachments

  • PID Block Diagram.png
    PID Block Diagram.png
    4.6 KB · Views: 790
  • Like
Likes   Reactions: Asymptotic and donpacino
Ok, what are you using for your set point? what is the range of allowable set points?

Just some notes. If you call for 10 PSI on the high end, and your system can only reach 9 PSI, then you'll saturate your integral and your system will not respond. Make sure you take your limits into account. Also double check that the units from the pressure gauge match the units of your set point (that kind of error caused NASA to crash a probe, so don't be ashamed if you do it).

So in future projects, if you choose to get deep into control systems, you can put the mathematical models into those blocks, which would allow you to sim your system.

Good luck tuning your controller. Like I said previously if you can't push your system hard enough to really do Ziegler Nichols, just increase P until you get a quick response with a little overshoot (pressure goes higher than setpoint then drops). then add some integral to make it incorporate the average.

note: look up integral windup. You should have some method to deal with it. There are a few ways. Zeroing the output of your integrator is the easiest way, but you can also use some other methods, such out output limiting and adding a time constant to the integral term.
 
  • Like
Likes   Reactions: Asymptotic and nlis12
A wise engineer once told me concerning phase locked loop that a good way to troubleshoot it is to break the loop. I think that advice could apply here.
 
  • Like
Likes   Reactions: Asymptotic and donpacino
  • #10
Thanks for the insight!
Much appreciated!

donpacino said:
Ok, what are you using for your set point? what is the range of allowable set points?

Just some notes. If you call for 10 PSI on the high end, and your system can only reach 9 PSI, then you'll saturate your integral and your system will not respond. Make sure you take your limits into account. Also double check that the units from the pressure gauge match the units of your set point (that kind of error caused NASA to crash a probe, so don't be ashamed if you do it).

So in future projects, if you choose to get deep into control systems, you can put the mathematical models into those blocks, which would allow you to sim your system.

Good luck tuning your controller. Like I said previously if you can't push your system hard enough to really do Ziegler Nichols, just increase P until you get a quick response with a little overshoot (pressure goes higher than setpoint then drops). then add some integral to make it incorporate the average.

note: look up integral windup. You should have some method to deal with it. There are a few ways. Zeroing the output of your integrator is the easiest way, but you can also use some other methods, such out output limiting and adding a time constant to the integral term.
 
  • #11
nlis12 said:
I am using this valve to control the pressure inside of a cylindrical chamber with a constant air flow from the inlet to the outlet (where the valve is).
What are the approximate dimensions of the cylindrical chamber?
Where is the pressure sensor in relation to the valve?
Is there an appreciable time lag between changes in % output, and when sensed pressure changes?

Is it possible to control valve opening % manually?

For a tough to diagnose loop, it can be useful to place it in manual (with % output at approximately the mean of observed high and low % output oscillation), and trend what happens to the controlled variable. If CV drops increase % output, or visa versa, and attempt to home in on what the % output "needs" to be to maintain CV at set point.

You may find that pressure is essentially stable, but only a very small change in % output has a large affect on pressure feedback (suggesting prop gain must be set very low). You may instead find that pressure changes dramatically even with no change in % output, in which case it will be difficult to obtain stability with a simple PID loop.
 

Similar threads

Replies
1
Views
3K
Replies
6
Views
3K
  • · Replies 19 ·
Replies
19
Views
6K
  • · Replies 28 ·
Replies
28
Views
5K
Replies
4
Views
4K
  • · Replies 4 ·
Replies
4
Views
9K