Welcome! Log In Create A New Profile

Advanced

Identifying my thermistors?

Posted by cobrageek 
Identifying my thermistors?
April 10, 2013 08:14PM
I'm in the process of setting up the configuration.h file and have run into a problem. I bought my kit used and the original manufacturer doesn't seem to exist. The original kit included a thermistor which looks like the first one pictured on the thermistor page and another that looks like the second one pictured on the page (axial). [reprap.org]

I have also received one with my new hotend from hotends.com and could probably get an ID for that one, but it again looks like the first one on the page.

So how can I ID which thermistors these are? Many of the thermistors listed on the page don't have pictures. Would it work to measure the resistance at room temp and then look up in the different tables? Seems like those numbers may be influenced by the related resistors which are included in the text for each of the resistors. What's the normal plan here? Guess and see how it comes out?

Thanks,
Bret
Re: Identifying my thermistors?
April 11, 2013 09:12AM
If you have the instrumentation to do it properly, measure the resistance at three temperatures across the operating range and use nopheads latest thermistor table program to generate a table correct for your thermistor.

If you don't, its cheaper to buy a known thermistor and generate the table from its datasheet. Less accurate but accurate enough.

As a last resort, test all the tables till you find one that reports room temperature correctly, and then experiment till you find what reported temperature corresponds to a good printing temperature.

And, yes, the value of the Rsense resistor on your electronics makes a huge difference to the table. The standard value is 4.7K, 1K is better, some electronics use 10K for some unfathomable reason. You should be able to figure that out from your electronics wiki page.
Re: Identifying my thermistors?
April 11, 2013 11:57AM
Thanks Andrew. I wish I had the tools to use nophead's technique, but I don't think a harbor freight infrared temp sensor is accurate enough :-).

I'm going to confirm with Brian at hotends.com (great guy and product BTW) so I know exactly which one came with the hot end. The Marlin setup looks like it has a basic table that covers all the EPCOS 100k thermistors (one of which is what was listed on the hotends.com web page) so I'll proably just use that table. It seems to be the most popular and I'm guessing the the one that looks the same that came with the kit is the same so I think I'll just start with that same table for the print bed.

The sad thing is that if you check the thermistor page on the wiki there are several entries for EPCOS thermistors with slightly different beta values. hotends.com shows the beta as 4066 which is one of those tables on the wiki page. But the marling firmware only has a single option for all epcos 100K thermistors with 4.7K resistors.

How does one go about providing the more specific table in the wiki to the marlin firmware?
Re: Identifying my thermistors?
April 11, 2013 12:13PM
Overwrite one of the tables in thermistortables.h.
Re: Identifying my thermistors?
April 11, 2013 12:33PM
Thanks Andrew. I was just looking at thermistortables.h. Unfortunately the tables on the wiki and the tables in this file (for marlin) don't seem to match. Here's an example of each and maybe you can help with the translation.

It looks like the numbers are similar if I just put add the rest of the stuff from the marlin table. But there are many more entries in the marlin tables. Will that matter?

The table in the marlin file has many more data points in the temp regions where it matters. It seems like that might be a good idea as it really doesn't matter how accurate it is at 1008 degrees :-).

How much will this affect the readings in the end do you think? Do most people just go with the standard tables and then adapt based on the behavior of their print? Seems like so much is dependent on the plastic and other environmental things that the temp settings are more for measuring consistency than for accuracy to a real scale.

Thanks,
Bret


The table for the EPCOS 100K with beta 4066 from the wiki:

// EPCOS 100K Thermistor (B57540G0104F000)
// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4066 --max-adc=1023
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700
// beta: 4066
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1, 841},
{54, 255},
{107, 209},
{160, 184},
{213, 166},
{266, 153},
{319, 142},
{372, 132},
{425, 124},
{478, 116},
{531, 108},
{584, 101},
{637, 93},
{690, 86},
{743, 78},
{796, 70},
{849, 61},
{902, 50},
{955, 34},
{1008, 3}
};


The table for option 1 (epcos 100K with 4.7K in marlin thermistortables.h):

#if (THERMISTORHEATER_0 == 1) || (THERMISTORHEATER_1 == 1) || (THERMISTORHEATER_2 == 1) || (THERMISTORBED == 1) //100k bed thermistor

const short temptable_1[][2] PROGMEM = {
{ 23*OVERSAMPLENR , 300 },
{ 25*OVERSAMPLENR , 295 },
{ 27*OVERSAMPLENR , 290 },
{ 28*OVERSAMPLENR , 285 },
{ 31*OVERSAMPLENR , 280 },
{ 33*OVERSAMPLENR , 275 },
{ 35*OVERSAMPLENR , 270 },
{ 38*OVERSAMPLENR , 265 },
{ 41*OVERSAMPLENR , 260 },
{ 44*OVERSAMPLENR , 255 },
{ 48*OVERSAMPLENR , 250 },
{ 52*OVERSAMPLENR , 245 },
{ 56*OVERSAMPLENR , 240 },
{ 61*OVERSAMPLENR , 235 },
{ 66*OVERSAMPLENR , 230 },
{ 71*OVERSAMPLENR , 225 },
{ 78*OVERSAMPLENR , 220 },
{ 84*OVERSAMPLENR , 215 },
{ 92*OVERSAMPLENR , 210 },
{ 100*OVERSAMPLENR , 205 },
{ 109*OVERSAMPLENR , 200 },
{ 120*OVERSAMPLENR , 195 },
{ 131*OVERSAMPLENR , 190 },
{ 143*OVERSAMPLENR , 185 },
{ 156*OVERSAMPLENR , 180 },
{ 171*OVERSAMPLENR , 175 },
{ 187*OVERSAMPLENR , 170 },
{ 205*OVERSAMPLENR , 165 },
{ 224*OVERSAMPLENR , 160 },
{ 245*OVERSAMPLENR , 155 },
{ 268*OVERSAMPLENR , 150 },
{ 293*OVERSAMPLENR , 145 },
{ 320*OVERSAMPLENR , 140 },
{ 348*OVERSAMPLENR , 135 },
{ 379*OVERSAMPLENR , 130 },
{ 411*OVERSAMPLENR , 125 },
{ 445*OVERSAMPLENR , 120 },
{ 480*OVERSAMPLENR , 115 },
{ 516*OVERSAMPLENR , 110 },
{ 553*OVERSAMPLENR , 105 },
{ 591*OVERSAMPLENR , 100 },
{ 628*OVERSAMPLENR , 95 },
{ 665*OVERSAMPLENR , 90 },
{ 702*OVERSAMPLENR , 85 },
{ 737*OVERSAMPLENR , 80 },
{ 770*OVERSAMPLENR , 75 },
{ 801*OVERSAMPLENR , 70 },
{ 830*OVERSAMPLENR , 65 },
{ 857*OVERSAMPLENR , 60 },
{ 881*OVERSAMPLENR , 55 },
{ 903*OVERSAMPLENR , 50 },
{ 922*OVERSAMPLENR , 45 },
{ 939*OVERSAMPLENR , 40 },
{ 954*OVERSAMPLENR , 35 },
{ 966*OVERSAMPLENR , 30 },
{ 977*OVERSAMPLENR , 25 },
{ 985*OVERSAMPLENR , 20 },
{ 993*OVERSAMPLENR , 15 },
{ 999*OVERSAMPLENR , 10 },
{ 1004*OVERSAMPLENR , 5 },
{ 1008*OVERSAMPLENR , 0 } //safety
};
#endif
Sorry, only registered users may post in this forum.

Click here to login