Please modify your post and use the code button </> so your code looks like this and is easy to copy to a text editor. See How to use the Forum Your code is too long for me to study quickly without copying to a text editor.

You say “The setpoint profile starts at atmosphere and reduces by 0.5 PSIA every second”

If you left the pump unattended could it reduce the pressure significantly faster than that?

I confess I am struggling to see the relevance of PID in this project - except perhaps to maintain a constant pressure at 0.9PSIA. However, even for that ?


I think that you should have 2 PIDs, one for evacuation and one for fill. This separation allows to take into account different pressure differences on the valve, and different deadband values (fixed offsets) in both directions.

inventagain: The pump would pull a vacuum faster than 0.5 PSI per second. The proportional valve is used to control the flow rate at 0.5 PSI per second.

I think I understand more clearly now.

I believe you are using the Arduino to control the valves rather than the pump.

If that is true then it seems to me the PID setpoint is constant at 0.5PSI per second.