resistance temperature of heating wire


Can anybody advise or point me in the direction of some info regarding the measurement of resistance to calculate the temperature of a heating wire? I'm not an electrical engineer or anything btw! I would like to heat a 5m length of capillary stainless steel with a resistance of say, 30ohms. I was thinking maybe 48V so about 82W. I then want to measure and PID control the temperature of the steel by its resistance which will change with temp by PWMing a SSR. Is there a best way to measure resistance with a changing voltage? I can do the PID control with the arduino, just want to know how to approach the resistance measuring part.

Any help much appreciated

Cheers Steve

You need to know the current and voltage to calculate the resistance and hence temperature. If the supply voltage is a known constant value, you don't need to measure it. You can measure the current by connecting a resistor in series with the heater and measuring the voltage drop across the resistor. You would need to choose the resistance so that the voltage you're measuring is within the range that your Arduino can measure (usually 0-5V) under all conditions. You only have ten bits of precision on the Arduino's ADC you'd be using to measure the voltage - you would need to work out how precise a current measurement and hence calculated resistance that gave you, and what resolution you'd get calculating the temperature from that. I suspect the answer is that it would not be very precise at all, but perhaps you don't need to know the temperature very precisely.

Yeah I want a pretty accurate temperature and I will be varying the voltage. I did a bit of research and agree with your suggested approach. Im going to try putting in a shunt and measuring the voltage via some kind of op-amp to get the current then use that to get resistance with a known voltage measurement and work out the temperature.

This should work but it then brings me on to another problem... knowing the voltage i am giving it! I was going to PWM a SSR from a constant voltage supply. If i have a PWM of 50% on, will it literally give me 50% hence 6V from a 12V supply?

Put a small resistor in serial with your heating element. When the power is turned on for the heating element, measure the voltage drop on the sampling resistor to get a sense of the current (thus the resistance of the heating element / its temperature).

steveandrews: I will be varying the voltage.

I was going to PWM a SSR from a constant voltage supply.

These statements seem to contradict each other.

What I suggest you do is connect a constant voltage supply and turn it on and off using PWM to vary the heating power. But, while it's on the voltage is constant and known and does not need to be measured or calculated by your sketch.

So, you know the supply voltage, you can measure the voltage drop across your series resistor and calculate the current, knowing the voltage and current you can calculate the resistance. From the resistance and a known calibration curve you can calculate the average temperature.

My concern is whether the ADC gives you sufficient resolution in the calculated result. But I don't know what resolution you need, and I haven't worked out what resolution you're going to get so I don't know whether that's actually a problem. I suggest you get it working first and worry about the resolution later.

According to the temperature coefficient of steel ranges from around 0.001/K for some stainless steels to about 0.005/K for carbon steel. So to measure a 1degC change in temperature, you need to detect a change in current of between 1 part in 1000 and 5 parts in 1000. That's about at the limit of what you can measure with the Arduino ADC, unless you use an op-amp to add a negative offset.

The power supply is unlikely to be stable to 1 part in 1000, so I suggest you measure the voltage as well, then calculate the ratio voltage/current.