Identify Autotune PID algorithm

Thread Starter

Vindhyachal Takniki

Joined Nov 3, 2014
594
1. I have checked autotune PID for Delta Temperature PID controller for maintaining temperature of oven.
2. We set autotune temperature to 75C & current oven temperature is 38C. In attached graph, y axis is reading of temperature divided by 10 so 700 represent 70.0C & x axis is equal interval of reading every 500millisecond.

3. We started the autotune algorithm and measure temperature with our temperature sensor placed closely to delta sensor and with CRO measured the output signal which turn on/off the relay.

4. Here it goes:
a) First relay is given 100% duty cycle and fully on, upto 75C & temperature keep on increasing
b) At 75C, relay is off completely. Temperature keeps on rising as heater is already heating, it falls to 75 in second stage as in pic.
c) Now again delta PID turn on the relay 100% duty cycle, temperature goes below a bit, since it was already cooling & then start rising again in third stage.
d) In fourth stage, it completely turn off the relay, temperature goes up a bit & then falls down to 75C, at this point delta PID shows Autotune complete
e) Then it try to maintain the temperature by maintaining duty cycle according to PID values calculated. Time period is 20seconds & duty cycle varies.

5) Do anyone know which algorithm it may be? Since no sine in output is observed so most of algo for PID tune are rejected. So it may be:
a) Cohen-Coon Method (Open-loop Test)
b) Ziegler-Nichols Method( open -loop test)
c) Or it may be Delta own algo
d) ANy other algo which fits such kind of graph


6. If its Delta Algo then its ok, otherwise anyone know what else algo it may be? Or how to tune PID values from it
 

Attachments

MisterBill2

Joined Jan 23, 2018
18,463
In the plot presented I see no evidence of an auto-tune function operating. An auto-tune function would learn to switch off the heat before the set-point is reached, and this example does not show that.
Of course most auto-tune systems need more cycles to adjust the three gain values and provide the best control with the least deviation from the set-point. So you will need to let the system run for a while to see if the auto-tune software is making any adjustments.
OR, has this system been in use for a while and you are now hoping to improve the operation?
 

Thread Starter

Vindhyachal Takniki

Joined Nov 3, 2014
594
While autotune it does complete on/off only. Test many times, different set points, different ovens, all uses same algo as I mentioned.
I suspect it uses Ziegler-Nichols Method( open -loop test)

Since in it:
1.Kp=1.2T/l
2. Ti = 2L
3. Td = 0.5L
As mentioned here: https://www.google.com/imgres?imgur...hUKEwj1_czG5I3pAhVXhksFHfgODUkQMygFegUIARDRAQ


Calculated PID values from delta controllers are in test in my post(1) are:
1. P = 18.6
2. I = 251
3. D = 62
 

MisterBill2

Joined Jan 23, 2018
18,463
What is clear to me is that we have different ideas about what auto-tuning is supposed to achieve. There is also the question of what characteristic is it set to optimize? It could be tuning for the fastest response or the minimum overshoot or the least amount of error, or possibly the least amount of deviation. Those are the four parameters that I am aware of an autotune function being able to optimize for.
 

MisterBill2

Joined Jan 23, 2018
18,463
The one challenge in all software PID systems is that the coefficients for the P, I, and D terms are tied to that particular piece of software, and not directly usable elsewhere. They are three gain terms for the formula, but the units are not given, nor the actual formula.
In most temperature control systems there are at least two areas of delay that make control a bit more complex. Usually there is a delay between commanding a heat input and getting that heat input, and second, there is a delay between getting the heat input and the process changing temperature. And of course, a time delay equates to a phase-shift, and so may tend to cause instability.
That is why it was amazing that the control system did not reduce the hheat input until the first zero crossing. Reducing the input as the error becomes small is a standard means of reducing overshoot and instability.
 

Thread Starter

Vindhyachal Takniki

Joined Nov 3, 2014
594
this seems to me like ZS open loop method: http://techteach.no/publications/articles/zn_open_loop_method/zn_open_loop_method.pdf

Curve in post#1 has two curves as mentioned in pdf here.

1. Now I trying to understand on which of curve this tangent method is applied?

2 Also page 4 mentions the formula for PID values where Kp, Ti & Td are mentioned. Surprisingly delta PID autotune parameters after its completed are: P = 18.6 , I = 251 , D = 62
In Delta Electronics PID you can check calculated PID values.

3. if we look on formula page 4
Ti = 4L
Td = 0.5L


Calculated PID values from Delta PID are always consistent with this formula, we tried very different set point values.
But Delta PID says its PID values while formula in pdf says its KP,Ti,Td values, but there is striking matching between values & their formulas.
 

MisterBill2

Joined Jan 23, 2018
18,463
As I look back at the post#1 temp vs time with drive curve I realize that we are not seeing the first performance of a system with autotuning adjusting the coefficients. In addition, given that all of the on/off changes happened at exactly zero crossings. Based on that, how can there be any claim made that tuning has been done? IN a contactor servo loop, where there is only on/off control, the derivative term tends to switch off the drive command before the zero crossing of the error term. so how can the TS claim that any autotuning has been done when the operation plot shows that it has not been done. If the drive state is only changed at the zero crossing of the error term then there is no derivative function working.
Of course it may also be that the plot does not actually include an accurate report of the drive signal status. That is my guess. It might just be a plot of the heater power control relay, and not show the actual duty cycle value.
 

ebeowulf17

Joined Aug 12, 2014
3,307
As I look back at the post#1 temp vs time with drive curve I realize that we are not seeing the first performance of a system with autotuning adjusting the coefficients. In addition, given that all of the on/off changes happened at exactly zero crossings. Based on that, how can there be any claim made that tuning has been done? IN a contactor servo loop, where there is only on/off control, the derivative term tends to switch off the drive command before the zero crossing of the error term. so how can the TS claim that any autotuning has been done when the operation plot shows that it has not been done. If the drive state is only changed at the zero crossing of the error term then there is no derivative function working.
Of course it may also be that the plot does not actually include an accurate report of the drive signal status. That is my guess. It might just be a plot of the heater power control relay, and not show the actual duty cycle value.
I think the plot is showing the tuning process, not the resulting behavior after tuning is complete, and that's why you're not seeing the sort of PID behavior you expect out of a tuned system.
 

MisterBill2

Joined Jan 23, 2018
18,463
I think the plot is showing the tuning process, not the resulting behavior after tuning is complete, and that's why you're not seeing the sort of PID behavior you expect out of a tuned system.
The plot shown does not include any startup nor reaching any steady state. And how can an autotune be functioning if there is no evidence of it making any changes. And the fact is that if all of the control changes are happening at zero-error crossovers then the derivative gain is not being adjusted. And since every cycle is different it shows that the integral term, which is used to reduce steady state error, is not being adjusted.

So we are being asked to write a book review on a 120 page novel based on only two paragraphs on page 25.

AND why does the TS want to know what algorithm is being used? Is there any chance that with that very limited bit of data we can guess it???
 

MisterBill2

Joined Jan 23, 2018
18,463
I have to admit, it is a really strange request. I don't understand the purpose of the thread's original question either.
This could be a second semester feedback control systems exam question. But when I took the courses it was a junior level course, far more math and no names except Nyquist. But at the end of the course we understood feedback system theory well enough to make things work. So it must have been OK.
 
Top