Tom Hartman says:
...I developed a way to measure thermistor resistance without an ADC. This requires two bi-directional port pins a reference resistor and a capacitor. I think others have done this as well.PIN1|---\/\/\/-----+ | R1 | C1 PIN2|---\/\/\/-----+--)(--> (GND) T1Create a reference measurement from precision resistor R1:
- Output 0 on pins 1,2 to discharge C.
- Make both pins inputs.
- Pulse PIN1 from input to high output back to input.
- Increment reference counter.
- While PIN1 input is low, go to 3.
Measure the thermistor:
- Output 0 on pins 1,2 to discharge C.
- Make both pins inputs.
- Pulse PIN2 from input to high output back to input.
- Increment themistor counter.
- While PIN1 input is low, go to 3.
Now (thermistor counter)/(reference counter) = T1/R1. C1 is cancelled. The same pin is used to detect the threshold for both resistors, so the pin threshold is also cancelled.
So T1 = R1 * (thermistor counter)/(reference counter).
There are lots of tricks you can do to simplify the math. Then use a lookup table to linearize the result.
Size C1 so the RC time constants are slow enough to be able to count with some precision.
Questions:
Interested: