Hello, I am trying to make a thermometer that works by measuring the changes in resistance in an graphite rod.
The problem is that I need to amplify the readings from analog.
Here is my experiment so far:
The thermometer is to measure the temperature of a butane flame, by heating the graphite rod.
the small wire connected to the graphite rod is nickel wire (0.25mm - resistance will not be affected by heat because it is such a thin wire).
robtillaart:
my gut feeling says the the graphite - which is a form of carbon - will burn with the butane. Or?
Doesn't this thinning affect the resistance?
I am pretty sure it won't:
Melting point of graphite is 3500 Kelvin
Melting point of nickel 1728 Kelvin
butane flame is about 1300 Kelvin give or take 100.
The thin nickel wire will lead the heat away to the ambient air so it will not heat up the wires.
I simply want to calibrate the readings at 0 degrees, 10 degrees and so on and make a linear function for it.
I want it to detect 0-1000 degrees celsius with around 1 degree precision if possible.
I would use two graphite rods. One is a cold rod, one is a hot rod. Then calibration can be done when both are cold. When hot, the difference in resistance will be measured instead of one resistance. If burning occurs, the cold calibration will show a change in the resistance of one, but not the other. Any common mode changes will be subtracted out. A common mode change might be contact resistance from metal to graphite rod ends.
AmbiLobe:
I would use two graphite rods. One is a cold rod, one is a hot rod. Then calibration can be done when both are cold. When hot, the difference in resistance will be measured instead of one resistance. If burning occurs, the cold calibration will show a change in the resistance of one, but not the other. Any common mode changes will be subtracted out. A common mode change might be contact resistance from metal to graphite rod ends.
what I have most trouble with is the readings from analog, it is very unstable and will change 1 or 2 in the raw readings if I move it a little, when I heat up the graphite with a flame the reading will only increase 10 or 20 of the raw data, how can I make the readings more stable and amplify the readings from the graphite rod.
I want it to detect 0-1000 degrees celsius with around 1 degree precision if possible, any ideas how I can achieve that?
Use 2 Graphite Rods. Place each in opposite arms of a Wheastone Bridge and then feed the output of the Bridge to an Instrumentation Amplifier (Differential Amp). Using 2 rods in opposite arms will double the sensitivity of the system. Make sure your diff amp output presents only positive voltages from 0V-5V to the Arduino analog input. For that you need to place the rods in the bridge arms where they produce a positive voltage output when the temp goes above 0 Celsius which is your min. That depends on the way the temp affects the resistance of the rods, that is, decreasing or increasing it (you probably found that already, I don't know; but probably increases with temp) Set the amplification (gain) of the diff amp so you will get close to 4V or 5V when the temp reaches your max (1500 Celsius giving some margin to avoid saturation of the Amp in worse case scenarios). When the system is set up then make a test run using a reference thermometer for calibration (an IR thermometer will be a good choice). Then feed the samples you obtain and the reference temp values into excel and make a graph. In the options select trend line and show equation. That will give you the resistance variation equation vs temp. With the equation you can linearize the curve in the arduino code or the computer code if you are sending the samples to the computer for Processing and analysis. You will also need to implement a digital low pass filter. Go for the moving average filter type so you don't need to average 1000 samples.