Guest
I have a need to measure temperature accurately from 78.0 C to 79.0 C (eventually I'll need to turn on a solenoid valve for cooling water at 79 C and turn it off at 78 C).
I saw this on the web:
http://playground.arduino.cc/ComponentLib/Thermistor
and I happen to have an Arduino on me. I read about how a 2N3904 can function as a temperature sensor if you tie the base and collector together, so I did that instead of placing an order and waiting for a thermistor to arrive.
A friend said to put the 10k resistor on the +5V line, then have the transistor below that, then tie the emitter to ground. Did that. A wire goes from the B-C-resistor junction to the ADC input on the Arduino.
It works. The serial port monitor tells me that for ice water, the 10-bit ADC value is 141. Boiling water from the microwave gives me 105. Room temperature at 23 C gave me 132.
I made a best-fit line with my OpenOffice spreadsheet and had the Arduino calculate the temperature. But now the sensitivity seems to only be 3 degrees. Temperature will jump even on gradual heating by 3 degrees.
I would like to expand the range from 105 to 141 somewhat (10 bits should get me 0 to 1023, right?)
I tried substituting 500 ohms for the 10k resistor (5V/500 ohms = 10 mA, should be ok) but still didn't get much improvement in sensitivity.
Any suggestions?
Thanks!
Michael
I saw this on the web:
http://playground.arduino.cc/ComponentLib/Thermistor
and I happen to have an Arduino on me. I read about how a 2N3904 can function as a temperature sensor if you tie the base and collector together, so I did that instead of placing an order and waiting for a thermistor to arrive.
A friend said to put the 10k resistor on the +5V line, then have the transistor below that, then tie the emitter to ground. Did that. A wire goes from the B-C-resistor junction to the ADC input on the Arduino.
It works. The serial port monitor tells me that for ice water, the 10-bit ADC value is 141. Boiling water from the microwave gives me 105. Room temperature at 23 C gave me 132.
I made a best-fit line with my OpenOffice spreadsheet and had the Arduino calculate the temperature. But now the sensitivity seems to only be 3 degrees. Temperature will jump even on gradual heating by 3 degrees.
I would like to expand the range from 105 to 141 somewhat (10 bits should get me 0 to 1023, right?)
I tried substituting 500 ohms for the 10k resistor (5V/500 ohms = 10 mA, should be ok) but still didn't get much improvement in sensitivity.
Any suggestions?
Thanks!
Michael