MCP9600 + Steinhart
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

MCP9600 + Steinhart

by Minxster on Mon Sep 20, 2021 12:49 pm

I'll stick my hand up straight away and same I'm a novice (beginner) programmer, but have never worked with electronics before. I'm trying to learn, so be gentle :-)

I recently purchased a MCP9600, to work with my M5Stack Core2 (I2C-PortA). I have everything wired up and test code is working fine and I've receiving readings for ADC, Hot and Cold junctions. Thing is, I'm struggling to figure out how the raw/ADC data (with cold junction temp?), can be used to manually calculate values using Steinhart? I'm specifically using a ThermoWorks Pro probe, which is "non-standard", and believe the coefficient/values I need to aid in the calc are 0.0007343140, 0.0002157437, 0.0000000952 (the are taken from the HeaterMeter code from GitHub).

When I look around for more info on how I can/should be calculating temperatures, I'm getting lost with what resistance is used to calculate? My ADC reading is around '-452 uV' according to the adafruit example code (arduino/c++). And I know the input Vin is 5v. But I'm also assuming that the R1 resistance on the MCP9600 is 10kOhms (10000)?

I thought I was on to something with this link/post:
https://forum.arduino.cc/t/temp-sensor-code/388137/8 or this which actually seems like it will https://arduino.stackexchange.com/questions/28222/a-question-about-resistance-measurement-with-arduino

I know I'm taking a leap of faith the ecoefficiency from HeaterMeter, but I'm trusting its correct since it's a well used project. I've attached a copy of my sketch/cpp, just so you can see the mess I'm making!

I know it's a long shot posting here, but my head is just running around in circles and Google isn't playing nice. Would someone be so kind and show me what the fudge I'm supposed to be doing?
Expander and MCP.cpp
Just an sketch/cpp (VSC) I'm working with
(7.86 KiB) Not downloaded yet

Posts: 3
Joined: Mon Sep 20, 2021 8:51 am

Re: MCP9600 + Steinhart

by sj_remington on Mon Sep 20, 2021 12:56 pm

If you mean the Steinhart-Hart equation, that is a specific, simple model for how NTC thermistor resistance is related to temperature. It is not normally used for thermocouples, but I suppose you could.

For thermocouples, most people either use the linear approximation, the thermocouple tables directly, or some polynomial fit to the thermocouple tables over a short range of temperatures to convert thermocouple voltage to temperature. The MCP9600 does that for you, but I haven't used it.

Good overview on using thermocouples here: https://www.analog.com/en/analog-dialog ... uples.html
Last edited by sj_remington on Mon Sep 20, 2021 1:03 pm, edited 2 times in total.

Posts: 149
Joined: Mon Jul 27, 2020 4:51 pm

Re: MCP9600 + Steinhart

by adafruit_support_bill on Mon Sep 20, 2021 12:59 pm

The MCP9600 is a thermocouple amplifier. It works with thermocouple probes. If your probe is a thermocouple, the example code gives you the Hot junction temperature directly. No further calculation is required.

Steinhart-Hart calculations are for thermistors - a totally different type of temperature probe. The first thing you need to do is figure out what type of temperature probe you have.

Posts: 82172
Joined: Sat Feb 07, 2009 10:11 am

Re: MCP9600 + Steinhart

by Minxster on Tue Sep 21, 2021 7:39 am

sj_remington wrote: Good overview on using thermocouples here: https://www.analog.com/en/analog-dialog ... uples.html

Thank-you for taking the time to respond to this. I've bookmarked the link as I can see its very detailed, and is something I need to read to understand more about what I'm attempting to do. I would have thought I could have used the ADC to work through this problem, but the problem is of my own making as it's a Thermistor probe I'm attempting to work with DOH!

adafruit_support_bill wrote: If your probe is a thermocouple

So it turns out I'm using the wrong tool for the job, almost like using a chainsaw to hang a painting LOL.

I've checked back and the probe I'm looking at is indeed a thermistor. I just assumed it would be a thermocouple because of the brand/cost and durability. I did order a K-type thermocouple yesterday, in frustration, so I'll attach them and re-test everything when it arrives today.

... Thank-you both for helping steer me in the correct direction :-) I'll hopefully be "playing" with a real thermocouple later today, in the meantime, I think I'll dig out some resistors and see if I can mock-up something to try and get the thermistor working; while not using the MCP9600 :-D

Posts: 3
Joined: Mon Sep 20, 2021 8:51 am

Please be positive and constructive with your questions and comments.