I want to see if I understand the basics of reading a thermistor. Provided the voltage I send is a constant 3.3V and the thermistor is at it’s constant per the spec sheet, I should see a reading of 65535. Once the resistance increases as the temperature increases I should see the number get lower.
Yeah I have been through that a couple of times but just realized my potential problem. That instructable is a negative-temperature-coefficient thermistor which is the opposite of the RTD I am working with.
That’s pretty helpful @solarishot! One thing that I don’t get is why they use a 1K Ohm resistor on a 100Ohm RTD. Perhaps that’s why I get erratic readings occasionally.
Not sure I can help much on this for another few days or so. I just started to read in depth about RTD’s this weekend but have not assembled any circuits. I will be getting to this soon though…for my current temperature monitor project I need to read pt1000 rtd’s which seem to be a standard for solar hot water monitoring.
Ahh cool! I will follow you and post anything I have learned thus far. I think my code might be a bit off but I can make it work around 20% of the time.
`// assign hardware.pinA and hardware.pinB to a global variable
therm <- hardware.pinA;
// therm2 <- hardware.pinB;
// configure pin5 to be an ANALOG_IN
therm.configure(ANALOG_IN);
// therm2.configure(ANALOG_IN);
// these constants are particular to the thermistor we’re using
// check your datasheet for what values you should be using
// b_therm value should be adjusted to normalize your RTD to 0C
const a_therm = 0.00385;
const b_therm = -5;
// the resistor in the circuit (100Ω)
const R2 = 100.0;
//set relay variables to off
// relaystrikeState <- false;
relaymashstate <- false;
function MashTemp_C() {
local Vin = hardware.voltage();
local Vout = Vin * therm.read() / 65535.0;
local R_Therm = (R2*Vin / Vout) - (R2-b_therm);
// local mashtemp_C = (R_Therm/R2 - 1) / a_therm
local mashtemp_C = (R_Therm/R2 - 1) / a_therm
return mashtemp_C;
}`
Sorry I’m not more help today. The priority right now is making sure I have a handle on 50’+ runs of cat 5 cable for reading strings of ds18b20 sensors with the 1-wire code posted as an electric imp tutorial recently. It’s going great. I’m up to my eyeballs with cat 5 trimmings.
The rush is that I installed a huge solar hot water array this week which is optimized for winter heating (hydronic distribution). Since it’s summer, she’s gonna run hot. Now that I have ds18b20 running, I can run lines and read temps at multiple points along the collector array, down to the pump station and then on to the two storage tanks (200+ gallons of water). I have done many things like this before, but I’m very excited since its the first time I’m using the imp and ds18b20 with a long bus line to access areas where I can’t (or don’t want) to place a separate imp device.