LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID control to maintain constant heater electrical power?

Hi!

 

I am looking for a good solution for the following:

 

I have a heater wire (approx. 220 Ohms). I drive this wire with DC voltage. I measure the voltage drop on the wire, and the current running through it. I want to control not the temperature, but the calculated electrical power (P=U*I) in the range of 1mW to 1W. 

            Of course the resistivity is slightly different at different temperatures, so that is why I think I need active control.

Maybe someone could give me a good advice?

Thanks very much!

 

0 Kudos
Message 1 of 6
(3,342 Views)

This sounds like a fairly simple system to control with a PID loop, but I'm not sure what your question is.  Are you asking what equipment you would need to do this, or how you would write the LabVIEW code?  Are you already reading the voltage and current into a LabVIEW VI?  How are you controlling the voltage?

0 Kudos
Message 2 of 6
(3,334 Views)

Hi,

 

Everything is set up for the hardware. I generate the DC voltage with a NI Static waveform card (DAQmx). I measure the voltage drop and the current (via voltage drop measurement on a calibrated resistor connected in serial with the heater wire) with a Keithley DVM via GPIB card. The SetPoint is the required electrical power, the ProcessVariable is the calculated power from the measured U and I. The output is the driving voltage between 0-3 DC Volts, what I amplify with a factor 5.8 with an amplifier connected to the heater wire.

 

I try to use the PID.vi from the PID toolkit (I already use PI(D) controls from LabView for other heater wires, where I have to control temperature, and they work very efficiently and perfectly) for this purpose.

So far I try to find the proper gain values. My sampling rate is low, approx. 8 seconds. First I tried only the P control (zeroing the I and D gains of the PID.vi), to find a stable oscillation range, so I could go on with the PID Autotune vi. But no luck so far. I think it is also a problem, that this system is not linear: the P is not a linear function of U. Can you suggest how to go on from here?

Thanks very much!

0 Kudos
Message 3 of 6
(3,329 Views)

Did you try something like Ziegler-Nichols or Chien, Hrones & Reswick to calculate P, I and D?

 

Kind regards

Carsten

0 Kudos
Message 4 of 6
(3,317 Views)

As much as I know, the PID Autotune vi wizard apply the Ziegler-Nichols methode. But for that first I need to find a working P gain value resulting in a stable oscillation...So the Autotune needs some initial gain values.

 

I think I did not explain my question properly: maybe for this purpose PID is not a good solution? I am not an expert at all in control theory, but I think my approach is in principle not good...If I want to control the temperature of the heater wire, it is really straightforward, and it works out of the box using PID vi. But in the case of controlling electrical power, I feel the situation is really different, am I right or not?

0 Kudos
Message 5 of 6
(3,314 Views)

Try an open-loop tuning method, such as Cohen-Coon, that does not rely on generating an oscillating output, and see if that gives you reasonable parameters.  I don't see any reason why PID would not work here.

0 Kudos
Message 6 of 6
(3,304 Views)