Page 1 of 1

Thermistor identification question

Posted: Thu Apr 24, 2014 6:59 am
by smiley
Hey gang, my hotend thermistor died in the middle of a job about 2 weeks ago and I finally got around to taking the thing apart and replacing it. I bought a 10-pack of new thermistors from Amazon (see below). Can someone please direct me to a discussion of how I identify whether I need to change the thermistor type code in the firmware? I've seen discussions of leaving it set to 1, setting it to 97, or installing some other custom thermistor table.

I don't think it's a perfect match for the SeeMeCNC stock thermistor, because when I turn the thing on, the LCD tells me that the hotend is significantly warmer than the bed (like +20c degrees warmer) which I don't think can be true. It used to be almost the same from a cold start.

This is what I bought:

http://www.amazon.com/RioRand-10-100Koh ... thermistor

RioRand(TM) Upgraded 10 pcs 100Kohm NTC Thermistors

Item:NTC Thermistor Model:B2-100-3950-1 R @ 25: K 100K-1% B25/50:K 3950-1% Element:Thermistor,type MJB2 Characteristics (1) Electrical characteristics A: Resistance value: R(25°C)=100K±1% B: B Value: B=3950±1% (calculated from resistance value at 25°C and 50C) C: Insulation resistance 50MΩ or over by DC500V megger (between glass and lead wire) (2) Thermal time constant (τ): τ≤10~17s (in still air) (3) Thermal dissipation constant (δ): δ=1.1~1.6mW/°C (in still air) (4) Operating temperature range:-50~+260°C

Re: Thermistor identification question

Posted: Thu Apr 24, 2014 5:26 pm
by smiley
Ok, replying to my own post, and then a couple of questions.

The table here: http://www.geeetech.com/Documents/therm ... 0table.txt

is listed by geeetech.com as being the correct values for my new thermistors. The values on that table are very close to main branch Marlin table no. 71:

https://github.com/ErikZalm/Marlin/blob ... ortables.h (scroll down a bit)

Close enough that I'd probably be comfortable using 71 and calling it good. That is, if I could be sure that table 71 was compiled in to the .91 firmware. So questions:

1. Is thermistortables.h left out of the RostockMax firmware listing on github, or is it there and I'm just missing it?
2. If it's left out, where are we getting our thermistor values from in .91?
3. And, is table 71 from the Marlin main branch included in whatever .91 was built against? Is there any way for me to check?

Finally,

4. If 71 is left out of our official .91, can I just import the datasheet values from the geeetech.com page and use those?

Thanks,

Re: Thermistor identification question

Posted: Sun Apr 27, 2014 12:33 pm
by smiley
Answering my own thread again.
smiley wrote:
1. Is thermistortables.h left out of the RostockMax firmware listing on github, or is it there and I'm just missing it?
2. If it's left out, where are we getting our thermistor values from in .91?
3. And, is table 71 from the Marlin main branch included in whatever .91 was built against? Is there any way for me to check?
4. If 71 is left out of our official .91, can I just import the datasheet values from the geeetech.com page and use those?
After a bit more research I think the answers are:

1. It's left out.
2. Values are coming from #define USE_GENERIC_THERMISTORTABLE_1 and associated cofig options in Configuration.h
3. Because of #2, table 71 is not included.
4. Yes, by editing #define USE_GENERIC_THERMISTORTABLE_1 or adding them into Configuration.h at #define USER_THERMISTORTABLE0 and then switching my sensor type in the extruder configuration section.

In any case, I am going to need to tweak my Configuration.h and upload new firmware again, because my new thermistor's Beta is only 3950 and the default supplied in the .91 Configuration.h is 4450.

Re: Thermistor identification question

Posted: Sun Apr 27, 2014 12:53 pm
by Polygonhell
I don't use the officially firmware, but all you probably have to does adjust the beta value for the generic thermistor.
The table is generated from 2 values, the beta value and the temperature at 100K assuming the new ones ar 100K thermistors, the other values describe the circuit in which the thermistor is used and you haven't changed that.

Assuming at room temperature the reading is approximately correct, you only have to adjust the Beta value set the temperature to say 100C measure with a thermocouple couple, if the temperature is higher than the reading, decrease the beta value and vice versa. Once your close at 100C move up to somewhere near the temperatures you print and repeat.

Most manufacturers include the Beta value in the data sheet, but I would treat that as a starting point.

Edit - the beta value is 3950 for that thermistor, but it's calculated at way to low a temperature to give you accuracy at 200C, buy you can probably use that, and jump straight up to printing temperatures and adjust.

Re: Thermistor identification question

Posted: Sun Apr 27, 2014 1:02 pm
by smiley
Hey thanks for the response.

So I set beta in Configuration.h to 3950, set temp to 200c, test with thermocouple when RepHost thinks I've hit the setpoint. If my thermocouple temp is lower than 200, do I need to increase or decrease beta?

Re: Thermistor identification question

Posted: Sun Apr 27, 2014 1:03 pm
by Polygonhell
smiley wrote:Hey thanks for the response.

So I set beta in Configuration.h to 3950, set temp to 200c, test with thermocouple when RepHost thinks I've hit the setpoint. If my thermocouple temp is lower than 200, do I need to increase or decrease beta?
Increase.

Re: Thermistor identification question

Posted: Sun May 04, 2014 2:38 pm
by smiley
For closure:

I did what we said here, changed the Beta to 3950 and re-uploaded .91.

I forgot to clear my EEPROM first. Even though I eventually got the thermistor close enough (within +/- 1 degree c of what my Rostock shows on the LCD) to work with, my extruder stopped working. I spent ten days or so trying to figure out what the hell happened, pulling my hair out, etc. until I re-read the directions, where everyone says to clear your EEPROM before you upload .91.

So I did that, and re-uploaded the new firmware, and now everything seems to be working again.

I guess that's what I get for (unintentionally) trying to take the shortcut.

/rolls eyes

Re: Thermistor identification question

Posted: Mon Jul 27, 2015 12:40 am
by tylurker
Hi, I also bought these thermistors for cheap off eBay, the (AFAIK generic) 100k 3950 1% ones. This was my first time tinkering with the firmware/config.h aside from changing the stepper current at the end of the build per the instructions. I had to find the right table but couldnt find any already formatted for Repetier, so I did it myself, and to my surprise everything worked perfect. Ive used a few since and they seem to be consistent and accurate. Anyways here is the table as I entered it into Config.h:

#define NUM_TEMPS_USERTHERMISTOR0 103
#define USER_THERMISTORTABLE0 {\
{1*4,938*8},{11*4,423*8},{21*4,351*8},{31*4,314*8},{41*4,290*8},{51*4,272*8},{61*4,258*8},{71*4,247*8},\
{81*4,237*8},{91*4,229*8},{101*4,221*8},{111*4,215*8},{121*4,209*8},{131*4,204*8},{141*4,199*8},{151*4,195*8},\
{161*4,190*8},{171*4,187*8},{181*4,183*8},{191*4,179*8},{201*4,176*8},{211*4,173*8},{221*4,170*8},{231*4,167*8},\
{241*4,165*8},{251*4,162*8},{261*4,160*8},{271*4,157*8},{281*4,155*8},{291*4,153*8},{301*4,150*8},{311*4,148*8},\
{321*4,146*8},{331*4,144*8},{341*4,142*8},{351*4,140*8},{361*4,139*8},{371*4,137*8},{381*4,135*8},{391*4,133*8},\
{401*4,131*8},{411*4,130*8},{421*4,128*8},{431*4,126*8},{441*4,125*8},{451*4,123*8},{461*4,122*8},{471*4,120*8},\
{481*4,119*8},{491*4,117*8},{501*4,116*8},{511*4,114*8},{521*4,113*8},{531*4,111*8},{541*4,110*8},{551*4,108*8},\
{561*4,107*8},{571*4,105*8},{581*4,104*8},{591*4,102*8},{601*4,101*8},{611*4,100*8},{621*4,98*8},{631*4,97*8},\
{641*4,95*8},{651*4,94*8},{661*4,92*8},{671*4,91*8},{681*4,90*8},{691*4,88*8},{701*4,87*8},{711*4,85*8},{721*4,84*8},\
{731*4,82*8},{741*4,81*8},{751*4,79*8},{761*4,77*8},{771*4,76*8},{781*4,74*8},{791*4,72*8},{801*4,71*8},{811*4,69*8},\
{821*4,67*8},{831*4,65*8},{841*4,63*8},{851*4,62*8},{861*4,60*8},{871*4,57*8},{881*4,55*8},{891*4,53*8},{901*4,51*8},\
{911*4,48*8},{921*4,45*8},{931*4,42*8},{941*4,39*8},{951*4,36*8},{961*4,32*8},{971*4,28*8},{981*4,23*8},{991*4,17*8},\
{1001*4,9*8},{1011*4,-1*8},{1021*4,-26*8} }