LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem tuning PID for temperature control

Hope someone can help me with my my temperature control problem.

I am using PID control to stabilize 12 heaters using PT100 sensors. The temperature seems to be very unstable no matter how I tune it. The temperature seems to hold at setpoint for a while (with +/- 2 C) and then shoots so high (up to 20 C) and then the heaters shut down to bring down the temperatures. All heaters are working at different temperature setting. The heaters are controoled using external SSR using the PWM method.

I simply cant get the temperature to oscillate within +/- 1 C.

Hardwares used: PXI1048, PXI 6602 (2 units), SCXI 1000, 1600, 1122, 1322. I am using 2 wire PT100 connection for the 1322.

I am attaching the VI. Pls ignore some of the rubbish inside the folder. The main program is the controller.vi

Hope someone can help to solve this problem.


Download All
0 Kudos
Message 1 of 9
(4,619 Views)

Hi,

I was looking into Controller.vi, and wasn't able to see where you are using the data to control the heaters. I see you send the data using notifiers, but in this VI I don't see anything that is receiving the notification. What VI do you use to control the heaters? Is there a difference in the two .zip files you attached?

Here and here are resources that discuss PID tuning. These documents discuss tuning for NI-Motion, but are a really good resource for PID tuning techniques and theory. I hope this helps!

Regards,

Missy S.
Project Engineer
RoviSys
0 Kudos
Message 2 of 9
(4,578 Views)
You may also want to manually review the temperature data coming from the PT100 sensors in case a transient spike or noise is occuring which may upset your PID loops.
~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
Message 3 of 9
(4,566 Views)
I could see you set the boolean parameter "Reinitialize ? F" to True of the pid.vi.  It should be left unwired (or set to to F)
0 Kudos
Message 4 of 9
(4,548 Views)

No suggestions about your code, you may check it your self to optimize or fix any bugs if exist.

About you PID:

                  - you use 10ms delay in while loop, but with dt in PID control algorithm unconnected, double check the default value (1ms?).

                  - your PID output limit (0.1, 0), double check this range with you control output device, make sure it is not saturated.

                  - PID actual you use PI control, check you error range and Kp, Ki. If it is like what you said, try Z-N or other tuning method, LV provide relay tuning method, you may try on.

   

 

0 Kudos
Message 5 of 9
(4,529 Views)
Hi Missy,

I am using the PWM Working.vi to control the heaters. I am not sure if there is something wrong here.

As for the output limit, I am getting very high output using 0.1 value.

I tried all the tuning method, but still no luck. It is not abiut the oscillation, but the sudden drastic overshoot I am concerned.

Thanks.

Sugumar
Australia


0 Kudos
Message 6 of 9
(4,517 Views)
Hi Michenglaoxu

Thanks for your input. I am not sure what is the default value of the dt in the PID control algo. How do I check this? Is it possible to to wire this dt as 10ms?

You mention about relay tuning method? How do I do this? I have no idea about this method.

Thank you for any help.

Sugumar
Australia
0 Kudos
Message 7 of 9
(4,516 Views)
Hi Dr. Imad

I will check the PID.vi wiring again. What is the effect if I let the reinitialise to True?

Thanks

Sugumar
0 Kudos
Message 8 of 9
(4,515 Views)
It should be set to True the first time the vi is called, and then it should be set to false.  Normally this is handled inside the pid .vi code and you do not have to worry about it.
 
 
I assume setting your controller in the manual mode  does control Temperature ? if that is the case then examine the attached vi's for proper use of the pid.vi
 
I am attaching an example of how to properly use the pid.vi  ( the way I use it). 
Notice how that you can preset the pid.vi to any starting voltage(setting) (manual mode) then to auto mode,  without having it to hiccup
 
Hope this helps
Download All
Message 9 of 9
(4,487 Views)