How to Control the Temperature of Heating element using its resistance

pcb-designresistorstemperature

In my test of a thin Film heater. I derived its Temperature coefficient of Resistance. This alpha number symbolizes the resistance change factor per degree of temperature change.
My question is, Is there any setup out there that can use the change in resistance at varying temperature to control the heater.

I am looking for a circuit that could do this. Measure the resistance of the operating heater and stop it at a set resistance.


@ MKeith,
I meant, just knowing the R does me no good if I cannot use it to keep the temperature at the point I want it to be.

I want to keep track of the increase in resistance (The resistance of our heaters increases at a certain rate with increase in temperature of the heater). So keeping this in mind, I want to then control the heater with the resistance.

Say I want the heater to stop at 100degC and the resistance will go from A to B at that temperature, I need ways to use this resistance B to control this heater. If I need the heater to go to another temperature, all I will do is adjust my setting to get this. Basically R is serving as temperature control instead of thermistors or RTDs.

Best Answer

The circuit is relatively simple. It creates signals for the voltage across and the current thru the resistance. These are then sampled by a microcontroller, that performs all the control loop functions.

It takes a divide of the voltage by the current, then a table lookup, to get the parameter you are trying to control. That is very difficult and error prone to do in analog hardware, but not much of a problem with the right microcontroller. You want to run the control loop 20-50 times faster than the first time constant of the heater. You haven't said how big the heater is, but it's unlikely you need to go faster than 10 ms per iteration, even for a relatively small heater. Even 1 ms per iteration is a very long time for a microcontroller. For example, a dsPIC 33E can do 70,000 instructions in that time. To put this in perspective, it only take 18 instructions to divide a 32 bit number by a 16 bit number.

The tricky part will be the analog circuit to deliver a good measure of effective voltage and current. PWM is the obvious way to control the heater since it's efficient, but having full on/off pulses going into the heating element will make it difficult to take meaningful measurements.

If you're clever, you take the A/D readings synchronous to the PWM right before the pulse shuts off. You grab the instantaneous voltage and current when the heating element is full on, then do the divide to get resistance and a lookup to get temperature.

If that sounds like it's beyond you, then it's probably better to filter the pulses before they get to the heater. A inductor in series, then a large cap across the heater will smooth out the ripples, hopefully to the point where the averages are valid measurements. In that case you want to run the PWM as fast as you can to get the desired resolution, like a few 100 kHz. If you're doing the synchronous measurements, you want to run the PWM slower, like maybe just above the audible range.

Related Topic