LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

temperature autotuning pid and plant values go negative?

I'm trying to tune a water bath temperature controller, where a peltier heats and cools a water block.  I'm using the pid autotune (temperature) vi, set up similarly to the example provided (plant parameters are fed through a shift register back to input, pid values are not fed to input until applied or autotuning completes).  I've attempted some preliminary Z-N tuning to get initial pid values and waited for the controller to stabilize, but after lengthy autotuning the pid values typically settle around Kc = 0 or -0, Ti = -0.9..., Td = 0, time constant plant parameter = -40, while gain and delay = 0.  Steady state is always met after the disturbance from autotuning is introduced, but the values never change, and I can't believe these are valid.  Has anyone run into this before?

0 Kudos
Message 1 of 6
(4,286 Views)

Jeanius

 

For the Gain to return 0, it means that you are not applying a step response to the system. are you introducing disturbance for the tuning? The gain zero for our type of PID (academic type) means that it will not control the system at all. Are you sure it is zero? it could be a very small number.

 

Also, the autotuning (temperature) vi uses the internal model technique where the model is a first order model with delay. If your system does not have delay, then the best autotuning VI is the PID advanced autotuning.vi and you can use the "Closed-loop" response. This option speeds up the identification process by using a proportional controller in the closed-loop for identification, making the response faster.

Barp - Control, Simulation, RTT and HIL - National Instruments
0 Kudos
Message 2 of 6
(4,261 Views)

Thanks for the reply, I'll give that VI a try.  I was introducing a step response, and fiddled with that value a lot, but the values came back negative every time.  What duration of delay is this VI optimized for?  I could probably see ~2-4 seconds before a measureable response was picked up on our instrument.

 

The process gain doesn't always go to zero, I should say.  Sometimes it hangs around 0.3-0.6.

0 Kudos
Message 3 of 6
(4,249 Views)

The technique used by the Autotuning (temperature) is a open-loop step response and identify (or approximate to) a first-order model with delay and without overshoot. If the model doesn't behave that way, you can't say what will come from it.

 

Another possible problem (that could explain the 0 gain) is that to be able to obtain the response, we have an internal buffer set to 10.000. If the sampling time is too fast and it take too long to settle, the buffer could overwrite and loose the begining of the response, making gain 0. You can increase the sampling time to avoid this problem.

 

Hopefully that helps.

Barp - Control, Simulation, RTT and HIL - National Instruments
0 Kudos
Message 4 of 6
(4,236 Views)

The technique used by the Autotuning (temperature) is a open-loop step response and identify (or approximate to) a first-order model with delay and without overshoot. If the model doesn't behave that way, you can't say what will come from it.

 

Another possible problem (that could explain the 0 gain) is that to be able to obtain the response, we have an internal buffer set to 10.000. If the sampling time is too fast and it take too long to settle, the buffer could overwrite and loose the begining of the response, making gain 0. You can increase the sampling time to avoid this problem.

 

Hopefully that helps.

Barp - Control, Simulation, RTT and HIL - National Instruments
Message 5 of 6
(4,236 Views)

I'd ended up further fine tuning the manually found Z-N values from before, I think the response from my system took too long for the VIs to accurately obtain values.  Tried all 4 of the methods provided for autotuning (step open, step closed, relay, pid relay) and they all failed to provide valid gains.  It alright though, the Z-N values work fine.  Thanks for the help!

0 Kudos
Message 6 of 6
(4,224 Views)