Hello control community,
I have adopted some code (it is in LabView, but this shouldn't matter) that is regulating a voltage. I would like to know what kind of controller this could be. It seems to be sort of PID controller, but I can't rewrite the equations for the algorithm to get a PID equation.
This is the algorithm:
Voltage Control (Chip heating):
K = (V_d - V_d_aim) / V_d_old
V = V_old+K*V_d-K*{1-[ T(A) / T(n) ]} * V_d_old
Interpretation:
The voltage of a chip heating (V) is controlled such that the diffusion voltage of a temperature diode (V_d) reaches the prescribed value (V_d_aim). (Actually the chip temperature should be controlled, but I can calculate V_d_aim from the chip temperature, so, that shouldn't matter).
I don't know, what K, T(A), and T(n) are supposed to mean, but T(A) and T(n) seem to be constants (i.e. they are hardcoded and probably found by trial and error). Obviously, K is *not* constant.
I know two forms of discretized PID algoritm:
form 1:
u[n] = K_c * e[n] + K_c * T_s / T_i * sum(i=0..n; e[i]) + K_c * T_d * ( e[n] - e[n-1] ) / T_s * u[0]
and form 2:
u[n] = u[n-1] + K_c * (e[n] - e[n-1]) + K_c * T_s / T_i * e[n] + K_c * T_d / T_s * ( e[n]-2e[n-1]+e[n-2])
I can get from one form to the other so they are equivalent.
However, I can't get any PID form from my algorithm. e[n] is the error signal, this should be V_d - V_d_aim in my case. T_s, T_i, T_d, and K_c are the sampling rate and the PID constants, respectively.
When I try to come to form 2 with my algorithm, I just get:
V = V_old + e[n] * V_d / V_d_old - e[n] + T(A)/T(n) *e[n]
But probably this is an algorithm for another controller, no PID controller. I would like to use it (since it works in an old project) and to extend it to control the chip voltage according to a prescribed chip power.
Any ideas ?
Regards
Johannes