LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID autotuning

I find it difficult to understand the PID auto-tuning functionality. Can anyone send some tutorial on how to proceed with the auto-tuning process 

0 Kudos
Message 1 of 5
(3,407 Views)

This link might be helpful for you: https://zone.ni.com/reference/en-XX/help/370401J-01/lvpidmain/tuning_pid/

 

There is additionally an example that can be found by clicking Help >> Find Examples... then searching (Search tab on left) for "pid" - choose one of the autotuning examples and read the comments. The "online" versions might be more what you're looking for?

 


GCentral
Message 2 of 5
(3,405 Views)

I found the PID tuning to have a bit of a learning curve. First off, I do recommend the online help to explain the various parameters. If you don't understand them then you are unlikely to achieve optimum results.

 

Methods and success will vary greatly depending upon the characteristics of the system you are attempting to control. I will explain what worked for me, but without knowing more about your particular system I cannot guarantee results.

 

I have used it with excellent results to control pressure and humidity in a vacuum chamber to levels close to the measurement error, but this took time. Pressure control has a rapid linear response with essentially no hysteresis. Humidity control is nonlinear and has a lag and hysteresis of many minutes.

 

In my case I settled on the following procedure. First I achieved a steady state for the system (constant pressure or humidity). This could be far from my desired setpoint (the closer the better however). I used manual control and set a constant output value. Eventually the system would stabilize at some relatively constant process variable value.

 

I then used the Step Closed Loop technique. I chose an amplitude that generated a small but measurable change in the system state. After that I just waited for it to complete. Once I had a starting point from the autotuned parameters I could then vary alpha, beta, and gamma individually depending upon what I wanted to improve. Since humidity control was problematic, I also carried out experiments varying *one parameter at a time only* to fine tune the results for optimal results.

 

I should point out that I made sure to have steady loop timing, so that the algorithm is called at regular intervals each iteration.

 

My final message is that this all will take time. My early efforts to cut corners and skip reading documentation ended up costing me time in the end. Slow and steady. . . Good luck!

Message 3 of 5
(3,353 Views)

Hi,

 

I'm building a temperature and humidity stability system. All of the steps are done and the tuning part is the only thing left to be done. We can't get a nice curve no matter what values we try to give to the Kp, Ki, Kd. 

Can you help a little to achieve those perfect set points?

 

Thank you.

0 Kudos
Message 4 of 5
(2,013 Views)

Hi hunter,

 


@monohunter wrote:

Can you help a little to achieve those perfect set points?


Getting "perfect" values for PID gains might get difficult: your system could behave differently depending on your T/rH setpoints (cold/humid vs warm/amid)!

 

Have you tried to measure some step behaviour and to calculate PID gains based on Ziegler/Nichols?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 5 of 5
(2,001 Views)