LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID parameter tuning

Hi, Rishi:

I got some improvement since my last post. Thanks for your advice. Attached (NI_8) is the recent experiment result. Same as above, red, dark blue and light blue represent the setpoint profile, PV and PID output percentage respecitively. The change I made is that I start to use PI control instead of PID because my system is kinda noisy, The accuracy of the temperatuare reading I can get is within +/- 1 degreeC. I see nice response at 200 degree C and 120 degree C. One thing that puzzles me is  why the response to 60 degree C is so slow. It takes only 5 seconds from 60 degreeC to  200 degreeC,while it takes about 16 seconds from 30 to 60 degreeC. Do you have any suggestions as to how to improve this?

I'm wondering if the temperature range plays a role here. The temperature range is set to convert the engineering value of degreeC into percentage, and then the percentage will be the input of the PID vi. Since the maximum temeprature for the setpoint profile is 200 degreeC I set the temperature range from 15--250 degreeC. In this case 60 degree C is only about 20%. Please let me know your thought on this.

Thanks,

bjbdts

0 Kudos
Message 11 of 17
(1,493 Views)
Hi bjbdts,

I'm glad to see that your PID profile curves are closer.  The reason that the system response is slower for the first bit is related to the error signal.  Basically your "set point" is stepping up from 30 C to 60 C... The process variable is at about 32 C at this time.  The controller reacts to the difference between the SP and PV.  So the first step is slower because the starting difference between the two is less (less than 30 C).  Your second step is taking you from 60 to 200 C, which means the "error" seen is 140 C, so the controller works to more rapidly minimize the error for the second step, because of the large discrepancy.

Regards,
Rishi L
National Instruments
Applications Engineer
0 Kudos
Message 12 of 17
(1,461 Views)
You can get rid of that lag effect with a lag or lead controller (mayby even backlash).  Its been a while since i done my control degree and even then most of it was state space 🙂
LabVIEW 2012
0 Kudos
Message 13 of 17
(1,458 Views)
I'm out of office now, I will be back next Tuesday. I did have new problems come up yesterday. I set up a new setpoint profile, where I start with 30 degreeC,then to 80 degreeC, then to 150 degreeC, then to 120 degreeC, and finally to 25 degreeC. This time I have a huge overshoot at 150 degreeC. From my memory the overshoot is about 20 degreeC. It seems the PI values are not universal to all the setpoint profiles. How should I deal with this situation? I will upload my results next Tuesday.
CraigC: You mentioned the lead lag controller, Is it a hardware or software?
 
bjbdts
0 Kudos
Message 14 of 17
(1,440 Views)

Hi, Rishi:

I checked my new setpoint profile stated in the last post. Actually the first temperature step is from 30 degreeC to 60 degreeC. Attached NI_9.jpg is the experiment result. Comparing to NI_8, the only difference is the maxium temperature, In NI_8 Tmax is 200 degreeC, while in NI_9 Tmax is 150 degreeC. I'm confused now why the same set of PI values cannot work at both cases, since there is only 50 degreeC differnce. Can you please explain? Another question is: is there a basic rule to set the temperature range(maxium and miniumum) when we convert the real temperature to percentage for PID input?

Thanks,

bjbdts

0 Kudos
Message 15 of 17
(1,421 Views)
Hi bjbdts,

To comment on what was said above, a lead lag controller is another form of doing control.  If you are un-succesful in implementing a stable PID Controller that gives you the response you want, then you may want to consider implementing it instead.

I'm not totally sure as to why you are seeing overshoot at a SP change of 60-> 150 vs. 60 -> 200.  Those control parameters should be ok for any input to the system.  When you do control design, the system response is checked vs. a step input, which means testing the system when there is a instantaneous change in the Setpoint.  If you have a large error (Ie. SP > PV), then the controller should react to force the plant to equalize this.  The same parameters are meant to be applied across the board, as technically there is no such thing as an 'expected' value or constant setpoint.  Are you 100% sure that your tests for figure 8 and 9 were identical expect for the final upper temperature?

In terms of the temperature mapping from Min/Max to 0/100, just split the increments into 100 equal parts and you should be good to go!

Rishi L
National Instruments
Applications Engineer
0 Kudos
Message 16 of 17
(1,379 Views)
In other words, if you see an overshoot in one, that is the nature of how the controller -- in this case, it reacts so quickly that it misses the SP and needs to be scaled back.
Rishi L
National Instruments
Applications Engineer
0 Kudos
Message 17 of 17
(1,378 Views)