What does 220C or 240C really mean?

306 views
Skip to first unread message

Rick

unread,
Nov 10, 2009, 1:07:46 AM11/10/09
to MakerBot Operators
Since there has been so much discussion over extruder temps and what
temps people are using - I've been wondering if we've all been
speaking the same language. Is your 220C the same as my 220C?

I was not sure how to address this issue...until today. I received a
fresh batch of thermistors from MakerBot and noticed that all ten of
them have really small glass beads (~1mm vs. the ~3mm beads I've been
using). I've noticed a couple of these smaller ones before but just
assumed they worked the same. So, I was putting together a 0.5mm
nozzle assembly today - I've built (or rebuilt) quite a few over the
last several months. And, I simply could not get this one to work at
less that 225C (spotty) and decent at 230C. What was coming out at
225C looked like about 200C on my other 0.5mm extruder. Hmmm. So, I
tried a couple of tests. The first test involved a hot plate, three
thermistors and a recently borrowed Fluke meter with a thermocouple
module - more on this in a later post is anyone is interested - but I
certainly got the impression that thermistors with different size
beads have different heating characteristics (not surprising) but it
gave me the following idea...

I hooked up two thermistors - one large bead, one small bead - on one
nozzle and wired them up using two extruder boards (my second makerbot
was just used to read the temp on the alt thermistor). Test 1 involved
using the small bead as the primary thermistor. I heated the
plastruder to 225C - the small bead showed 225C (v1.6 w/ PID on both
bots) and the large bead showed 197C. I left it like this for several
minutes and the results were constant. Then I reversed the process
using the large bead as the primary and heated it to 215C. The large
bead showed 215C and the small bead showed 245C. I left it like this
for several minutes and the results were constant.

So, what happens when you have two distinct bots - one with a large
bead thermistor and one with a small bead thermistor - is 220C the
same on both? I will try using the Fluke/thermocouple as the next
experiment but it varies by ~30C from either thermistor...which makes
establishing actual temps kind of tricky. However, based on the hot
plate test and the nozzle test I'm getting the impression that big
bead botters and little bead botters are not speaking the same
language. I think that language may be off by 20C or 30C.

The next time you discuss extruder problems also indicate your bead
size...

Rick

(I use extruder and plastruder interchangeably)

Nils

unread,
Nov 10, 2009, 1:24:14 AM11/10/09
to make...@googlegroups.com
That could explain some of my problems with my extruder (small bead) It
really wasn't coming out too quick at 220C and I was rather hesitant to
make it hotter.

There's this article on reprap regarding thermistors
http://www.reprap.org/bin/view/Main/MeasuringThermistorBeta

Ryan

unread,
Nov 10, 2009, 2:02:09 AM11/10/09
to make...@googlegroups.com
theres a wonderful little article on makerbot blog on how to calibrate
your machine. If I had the time I would.

Nils

unread,
Nov 10, 2009, 2:25:46 AM11/10/09
to make...@googlegroups.com
You mean this one http://wiki.makerbot.com/cupcake-calibration

Starts off good, but seems to be missing some detail later on.

Jordan Miller

unread,
Nov 10, 2009, 7:00:09 AM11/10/09
to make...@googlegroups.com
wow that's excellent work, thanks Rick!

Jordan

Cathal Garvey

unread,
Nov 10, 2009, 9:58:58 AM11/10/09
to make...@googlegroups.com
So, to summarise:

If you're using a 3mm Thermistor, your ABS melts at a sensed temperature of ~220˚C, which is the "correct" temperature.
If you're using a 1mm Thermistor, your ABS melts at higher sensed temperatures, perhaps as much as 30 degrees higher.

It would seem to me that the 1mm Thermistors are pretty bad!

Thanks for the research, Rick - I don't like Thermistors at the best of times because of the in-batch variability, but this is a serious issue you've uncovered! I'm thinking this will either require:
A) A software/firmware release that can account for different Thermistor sizes and tweak accordingly
B) Mass replacement of thermistors. Thanks, Thermistor suppliers!

Can't wait to measure mine when I get home, now.
Team Makerbot: If I have to get a new Thermistor, what part number is the 3mm Thermistor so I can do so right away?

Rick Pollack

unread,
Nov 10, 2009, 10:17:48 AM11/10/09
to make...@googlegroups.com
Thanks for the feedback!

Here is some add'l calibration data from mounting the Fluke/thermocouple along side the thermistor on the nozzle. These results show the temp setting and once the temp stabilized the corresponding thermocouple  reading.

Small bead thermistor:
initial reading:
small: 16C
thermo: 19C

100C setting:
thermo: 94/95

200C setting:
thermo: 183

210C setting
thermo: 189

220C setting
thermo: 195

230C setting
thermo: 203

240C setting
thermo: 210

250C setting:
thermo: 220

---

Large bead thermistor:

100C
thermo: 110

190C
th: 200

200C
th: 207

210C
th: 215

220C
th: 224

230C
th: 230

235C
th: 236

Rick

Zach 'Hoeken' Smith

unread,
Nov 10, 2009, 10:18:08 AM11/10/09
to make...@googlegroups.com
Hmm.  This is NOT GOOD.  I had thought the manufacturer just changed the thermistor a bit, but I guess its a slightly different one.  The good news:  we can easily generate a new lookup table and the existing small thermistors will be just fine.

This is documented here: http://www.reprap.org/bin/view/Main/Temperature_Sensor_2_0
The thermistor in question is this one: http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=495-2125-ND

First one to post the updated lookup table that properly reports values wins.  Hint: you can get most of the values from the datasheet or measure them directly.

In the meantime, I'll try and find a better thermistor replacement (the original flavor was discontinued)

Cheers,
Zach

Cathal Garvey

unread,
Nov 10, 2009, 10:26:31 AM11/10/09
to make...@googlegroups.com
I have a really handy spreadsheet somewhere that does the hard work of making the lookup table based on a few input temperatures.. I'll post it when I find it!

Zach 'Hoeken' Smith

unread,
Nov 10, 2009, 10:35:45 AM11/10/09
to make...@googlegroups.com
this page is very handy, with a javascript calculator: http://reprap.org/bin/view/Main/MeasuringThermistorBeta

basically, the thermistor lookup script needs one value, the thermistor Beta which the above page will generate.  give it two temps and two readings on your thermistor and it will calculate the beta for you exactly.  you then plug that into the python script located here: http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py

the output from that script gets directly placed into the file  ArduinoSlaveExtruder/ThermistorTable.cpp, recompiled and uploaded to your extruder.

I've generated 2 tables for y'all.  One more conservative, and one less conservative.  Please try them and let us know how they work:

//generated with T0:25 and T:220
// 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=4198 --max-adc=1023
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700
// beta: 4198
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
   {1, 752},
   {54, 242},
   {107, 199},
   {160, 176},
   {213, 160},
   {266, 147},
   {319, 137},
   {372, 128},
   {425, 119},
   {478, 112},
   {531, 105},
   {584, 98},
   {637, 91},
   {690, 84},
   {743, 76},
   {796, 68},
   {849, 59},
   {902, 49},
   {955, 34},
   {1008, 3}
};

//generated with T0:100 and T:220
// 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=4315 --max-adc=1023
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700
// beta: 4315
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
   {1, 689},
   {54, 232},
   {107, 192},
   {160, 170},
   {213, 155},
   {266, 143},
   {319, 133},
   {372, 124},
   {425, 116},
   {478, 109},
   {531, 102},
   {584, 95},
   {637, 89},
   {690, 82},
   {743, 75},
   {796, 67},
   {849, 58},
   {902, 48},
   {955, 34},
   {1008, 4}
};

Andrew Plumb

unread,
Nov 10, 2009, 10:39:39 AM11/10/09
to make...@googlegroups.com
Extruder Firmware+ReplicatorG enhancement request for Adam: Make the
lookup table configurable from ReplicatorG from the control panel.

Andrew.

On 10-Nov-09, at 10:18 AM, Zach 'Hoeken' Smith wrote:

> Hmm. This is NOT GOOD. I had thought the manufacturer just changed
> the thermistor a bit, but I guess its a slightly different one. The
> good news: we can easily generate a new lookup table and the
> existing small thermistors will be just fine.
>
> This is documented here: http://www.reprap.org/bin/view/Main/Temperature_Sensor_2_0
> The thermistor in question is this one: http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=495-2125-ND
>
> First one to post the updated lookup table that properly reports
> values wins. Hint: you can get most of the values from the
> datasheet or measure them directly.
>
> In the meantime, I'll try and find a better thermistor replacement
> (the original flavor was discontinued)
>
> Cheers,
> Zach

--

"The future is already here. It's just not very evenly distributed"
-- William Gibson

Todd Fleming

unread,
Nov 10, 2009, 11:31:14 PM11/10/09
to make...@googlegroups.com
Thank you thank you thank you for discovering and reporting this!  My struggles with HDPE now seem to be over.

This does make me curious about something.  Why am I able to print ABS at 200C? (I thought it was at 230 because of my 1mm thermistor...)

Todd

Cathal Garvey

unread,
Nov 11, 2009, 9:03:08 AM11/11/09
to make...@googlegroups.com
This would aid in decentralising production if Team Makerbot upscales, too. It's probably not easy to get identical thermistors in different areas if one supplier alone provides such gross differences. It would also help streamline one of the (probably) most annoying parts of making a scratch-built Bot.

Why don't thermistor manufacturers test thermistors and provide tables on purchase? Having to make a table for each thermistor is hella annoying.

Anyone looked into using IR sensors to detect nozzle temperatures? :) Probably easier to standardise, would make an interesting "premium" upgrade!

2009/11/10 Andrew Plumb <and...@plumb.org>

Rick Pollack

unread,
Nov 11, 2009, 10:57:13 AM11/11/09
to make...@googlegroups.com
Todd -

You are welcome.

It may actually be 205C or something like that. But (using a large bead) I've run my ABS at 205C (what was reported as 205C). ABS really does print at lower temps...

Sounds like you have a well-tuned plastruder...glad to hear your HPDE is working...

Rick

Rick Pollack

unread,
Nov 11, 2009, 12:06:29 PM11/11/09
to make...@googlegroups.com
One more thing - I was going through my thermistors and noticed there is also an intermediate sized thermistor - larger than 1mm but smaller than 3mm. Not sure how common or how it performs though...

Rick

TeamTeamUSA

unread,
Nov 16, 2009, 12:02:03 AM11/16/09
to MakerBot Operators
I've got one of those > 1mm < 3mm thermistors. Here's my table:

// CUrio: original thermistor lookup table
// 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=92000 --t0=25 --r1=0 --r2=4700 --
beta=4807 --max-adc=1023
// r0: 92000
// t0: 25
// r1: 0
// r2: 4700
// beta: 4807
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1, 499},
{54, 195},
{107, 163},
{160, 146},
{213, 133},
{266, 124},
{319, 115},
{372, 108},
{425, 102},
{478, 96},
{531, 90},
{584, 84},
{637, 79},
{690, 73},
{743, 67},
{796, 60},
{849, 53},
{902, 44},
{955, 31},
{1008, 4}
};

For those creating their own lookup table for the Extruder Controller
v2.2 [Batch >= 5], r1, r2, and max-adc will always be 0, 4700, and
1023 respectively.

Go!

=ml=

On Nov 11, 9:06 am, Rick Pollack <rick.poll...@gmail.com> wrote:
> One more thing - I was going through my thermistors and noticed there is
> also an intermediate sized thermistor - larger than 1mm but smaller than
> 3mm. Not sure how common or how it performs though...
>
> Rick
>
> On Wed, Nov 11, 2009 at 10:57 AM, Rick Pollack <rick.poll...@gmail.com>wrote:
>
> > Todd -
>
> > You are welcome.
>
> > It may actually be 205C or something like that. But (using a large bead)
> > I've run my ABS at 205C (what was reported as 205C). ABS really does print
> > at lower temps...
>
> > Sounds like you have a well-tuned plastruder...glad to hear your HPDE is
> > working...
>
> > Rick
>

TeamTeamUSA

unread,
Nov 17, 2009, 12:09:10 PM11/17/09
to MakerBot Operators
Where can I get the ArduinoSlave 1.6 firmware source code? Thanks.

Go!

=ml=

Zach 'Hoeken' Smith

unread,
Nov 17, 2009, 1:17:30 PM11/17/09
to make...@googlegroups.com
http://github.com/makerbot/G3Firmware
> --
>
> You received this message because you are subscribed to the Google Groups "MakerBot Operators" group.
> To post to this group, send email to make...@googlegroups.com.
> To unsubscribe from this group, send email to makerbot+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/makerbot?hl=.
>
>
>

Todd Fleming

unread,
Nov 17, 2009, 10:35:38 PM11/17/09
to make...@googlegroups.com
Has anyone determined which of the proposed 3mm thermistor profiles is the correct one?

Todd

Todd Fleming

unread,
Nov 17, 2009, 10:37:13 PM11/17/09
to make...@googlegroups.com
Oops; I meant 1mm

TeamTeamUSA

unread,
Nov 24, 2009, 2:11:41 AM11/24/09
to MakerBot Operators
Disregard this table as applicable to the in-between sized thermistors
(> 1mm < 3mm); the default table in firmware 1.6 works fine.

Go!

=ml=

On Nov 15, 9:02 pm, TeamTeamUSA <miles...@gmail.com> wrote:

jet

unread,
Nov 28, 2009, 11:08:12 AM11/28/09
to make...@googlegroups.com
It looks like I have the 1mm bead, so I tested Zach's more and less
conservative examples with a Fluke 88 using a temp probe under the
insulation at the head of the nozzle:

"./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700
--beta=4198 --max-adc=1023" with a target temp of 220 and a Current Temp
of 221, held steady on the Fluke at 169

"./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700
--beta=4315 --max-adc=1023" @ 220 held steady at 197, 240 held steady
around 212C

So I scrounged another multimeter and tested the resistance at 24C (room
temp) and 150C (was easy to get it stable there), for values of 93.7K
and .704K, then used reprap's calculator got a beta of 4881. Plugged
all that in to the script for a new .ccp and hit/held 212C on the next try.

Here's my table, if anyone else wants to try it. I suggest ramping up
the temp slowly in case the values are too hot for your unit.


// 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=93700 --t0=24 --r1=0 --r2=4700
--beta=4881 --max-adc=1023
// r0: 93700
// t0: 24
// r1: 0
// r2: 4700
// beta: 4881
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1, 477},
{54, 189},
{107, 159},
{160, 142},
{213, 130},
{266, 120},
{319, 112},
{372, 106},
{425, 99},
{478, 93},
{531, 88},
{584, 82},
{637, 77},
{690, 71},
{743, 65},
{796, 59},
{849, 51},
{902, 43},
{955, 30},
{1008, 4}
};



--
J. E. 'jet' Townsend, IDSA
Design, Fabrication, Hacking
design: www.allartburns.org; hacking: www.flatline.net; HF: KG6ZVQ
PGP: 0xD0D8C2E8 AC9B 0A23 C61A 1B4A 27C5 F799 A681 3C11 D0D8 C2E8

sokkerbot

unread,
Dec 4, 2009, 8:41:37 AM12/4/09
to MakerBot Operators
Hi all

I'm a newbie at this so please bear with me. This looks to me to be a
firmware update and therefore requires the arduino IDE, ideally with
the sanguino patch (although not strictly necessary for the
plastruder). Also the USB2TTL cable must be plugged into the
plastruder in order to accomplish this. In reading over the firmware
update instructions there are times when the reset button must be
pushed, although exactly when is tricky.

Is the reset button push necessary when using this script ?
And are my above asumptions correct ?

Erring on the cautious side rather than blowing up my makerbot

Thanks and regards
Bill


On Nov 28, 11:08 am, jet <allartbu...@gmail.com> wrote:
> It looks like I have the 1mm bead, so I tested Zach's more and less
> conservative examples with a Fluke 88 using a temp probe under the
> insulation at the head of the nozzle:
>
> "./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700
> --beta=4198 --max-adc=1023" with a target temp of 220 and a Current Temp
> of 221, held steady on the Fluke at 169
>
> "./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700
> --beta=4315 --max-adc=1023"  @ 220 held steady at 197, 240 held steady
> around 212C
>
> So I scrounged another multimeter and tested the resistance at 24C (room
> temp) and 150C (was easy to get it stable there), for values of 93.7K
> and .704K, then used reprap's calculator got a beta of 4881.    Plugged
> all that in to the script for a new .ccp and hit/held 212C on the next try.
>
> Here's my table, if anyone else wants to try it.  I suggest ramping up
> the temp slowly in case the values are too hot for your unit.
>
> // 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/createT...)

MakerBlock

unread,
Dec 28, 2009, 4:01:34 PM12/28/09
to MakerBot Operators
Hi Jet,
Like Sokkerbot, I'm a total newb. I've managed to install Python, the
Arduino IDE, and the Sanguino patch. (FYI, I'm running a Win XP box)
I'm trying to go slowly here:

I opened up my "\reprap-gen3-firmware-1.6\ArduinoSlaveExtruder" and
located a file by the name of "ThermistorTable.cpp".
This file appears to be written in plaintext and the content has a
series of entries that resemble your post.
I copied and pasted the text from your post and created a new
"ThermistorTable.cpp" file.
I open the Arduino IDE.
I select the Arduino Decimlia board.
I load "reprap-gen3-firmware-1.6/ArduinoSlaveExtruder/
ArduinoSlaveExtruder.pde"
But, hitting compile causes an error - saying "26: error:
SimplePacket.h: No such file or directory"

<I have not yet connected my computer to the plastruder board via the
TTL to USB cable>

Suggestions?

Thank you,
MakerBlock

On Nov 28, 8:08 am, jet <allartbu...@gmail.com> wrote:
> It looks like I have the 1mm bead, so I tested Zach's more and less
> conservative examples with a Fluke 88 using a temp probe under the
> insulation at the head of the nozzle:
>
> "./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700
> --beta=4198 --max-adc=1023" with a target temp of 220 and a Current Temp
> of 221, held steady on the Fluke at 169
>
> "./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700
> --beta=4315 --max-adc=1023"  @ 220 held steady at 197, 240 held steady
> around 212C
>
> So I scrounged another multimeter and tested the resistance at 24C (room
> temp) and 150C (was easy to get it stable there), for values of 93.7K
> and .704K, then used reprap's calculator got a beta of 4881.    Plugged
> all that in to the script for a new .ccp and hit/held 212C on the next try.
>
> Here's my table, if anyone else wants to try it.  I suggest ramping up
> the temp slowly in case the values are too hot for your unit.
>
> // 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/createT...)

jet

unread,
Dec 28, 2009, 4:12:14 PM12/28/09
to make...@googlegroups.com
okedoke, just wrote a simple set of instructions on how to swap out
ThermistorTable.cpp:

<http://www.flatline.net/journal/2009/12/28/thermistortable-for-1mm-thermistors/>

And by "simple", I mean it has links to the detailed instructions
written by other people. :-)

The short of it is, follow the wiki tutorial on upgrading firmware.
When you get that working with the stock software, try swapping out the
thermistortable file and build again.

--jet

> --
>
> You received this message because you are subscribed to the Google Groups "MakerBot Operators" group.
> To post to this group, send email to make...@googlegroups.com.
> To unsubscribe from this group, send email to makerbot+u...@googlegroups.com.

> For more options, visit this group at http://groups.google.com/group/makerbot?hl=en.

MakerBlock

unread,
Dec 28, 2009, 4:30:17 PM12/28/09
to MakerBot Operators
Hi Jet,
I'm still getting the error:

"26: error: SimplePacket.h: No such file or directory"
I notice that there's a file by this name in "reprap-gen3-
firmware-1.6\libraries\SimplePacket"
Any ideas?
Thanks,
MakerBlock

On Dec 28, 1:12 pm, jet <allartbu...@gmail.com> wrote:
> okedoke, just wrote a simple set of instructions on how to swap out
> ThermistorTable.cpp:
>

> <http://www.flatline.net/journal/2009/12/28/thermistortable-for-1mm-th...>

> > For more options, visit this group athttp://groups.google.com/group/makerbot?hl=en.

Ethan Dicks

unread,
Dec 28, 2009, 4:32:53 PM12/28/09
to make...@googlegroups.com
On 12/28/09, MakerBlock <j...@makerblock.com> wrote:
> Hi Jet,
> I'm still getting the error:
> "26: error: SimplePacket.h: No such file or directory"
> I notice that there's a file by this name in "reprap-gen3-
> firmware-1.6\libraries\SimplePacket"
> Any ideas?

You have to copy those library files into your Arduino build environment.

http://www.reprap.org/bin/view/Main/Generation3Firmware

-ethan

Rick Pollack

unread,
Dec 28, 2009, 4:34:55 PM12/28/09
to make...@googlegroups.com
Not sure if these instructions are out of date but they provide info on setting up the Sanguino environment.

Rick

ErisianFront

unread,
Dec 29, 2009, 8:49:17 AM12/29/09
to MakerBot Operators
Hi all...

I've been looking on at this thermistor thing for a while...
Recently I rebuilt my extruder heater barrel assembly with one of the
new thermistors and also bought an assembly from Rick with the smaller
thermistor... and chose to make the leap to the modified thermistor
table.
After a few false starts due to not following the instructions on how
to compile the project properly, I got it done.
I can vouch the instructions are all there in the key pages (already
listed in this thread)...
You just have to read them fully... and not skim like I am prone to
do ;)

Anyway...
The point of my post is to provide a plot comparing the different
thermistor parameter sets I've come across (mostly on this thread).
Here's the link: http://docs.google.com/Doc?docid=0AXwI5ZZe0UmWZGM1cGZwZ3hfMGZn
You might recognise it as an excel chart... sorry to die hard
opensorcerers (sic)..., M$ is omnipresent in my work world ;)
I'm happy to share the associated spreadsheet if anyone wants it...
I'm mostly just reproducing the calcs of the python script and
including datasheet data.

I was curious about how the different number sets compared and...
picture, 1000 words etc...

The chart has linear scaled axes and is zoomed to show the temperature
range 150-350 degrees C.
This corresponds to the ADC range 0-250 (out of 1023) for most
parameter sets posted for this thermistor/resistor config.

I've shown the more/less conservatives from Zach, TeamTeamUSA's
numbers and Jet's numbers.
I've compared these to:
The distribution numbers (for 3mm thermistor) for v1.6 firmware.
The distribution numbers using higher resolution table in the lower
ADC end.
The T-R numbers for the extruder circuit based on the data table in
the datasheet for B57540G0104F000 (the small thermistor)

Most striking observation:
All the curves suffer from accuracy problems around the working
temperatures for ABS (200-250C).
This is due to the even spacing of the table, really.
I havent checked, but assume the table doesnt have to be evenly spaced
so I think it would be a good thing to increase resolution down low in
the ADC range... at the expense of temps 0-100C, say... or even use
logarithmic/geometric spacing...
I havent ever used python... cant be too hard... looks kind of
familiar... I might have a crack ;)

To avoid adding more confusion through more different tables I'm
asking what other think before posting a table...
I suggest the table be based on Zach's 255/220 parameters but use a
resolution of 16 "ADC units" above 200C, with wider steps to
compensate around 0-150C... or a bit less, maybe, to fully cover the
PLA range?

Stating the obvious: determining what temperature is best to print at
is going to differ slightly with every extruder and a certain amount
of calibration is necessary... The exact temperature profile will
differ with many things, the thermistor positioning and degree of
insulation from the barrel and ambient air will be different etc etc
etc.

That said, I think it makes sense to have a "recommended" table/
parameter set for each thermistor type... to help other indecisive
people like me to commit to something ;)

Cheers,
Tim.

ErisianFront

unread,
Dec 29, 2009, 8:59:51 AM12/29/09
to MakerBot Operators
Bugger.
Looks like me link doesnt work... try this one:
http://docs.google.com/Doc?docid=0AXwI5ZZe0UmWZGM1cGZwZ3hfMGZnMmJkYmdw

ErisianFront

unread,
Dec 29, 2009, 9:32:40 AM12/29/09
to MakerBot Operators
ADC values of 1, 20 then up by multiples of 1.243(ish) gives good
coverage of ADC in 20 steps and nice fit down to 50C...
Maybe we dont need 1?... I need to check what lookup does... does it
extrapolate from last 2 points at each end or need endpoints to match
range etc...
Am I overworking this?

Rick Pollack

unread,
Dec 29, 2009, 9:34:31 AM12/29/09
to make...@googlegroups.com
Tim - this is great! Thanks for posting. If you put together a higher res table I'd be happy to test it as it is a real need.

Rick

Andrew Plumb

unread,
Dec 29, 2009, 9:47:39 AM12/29/09
to make...@googlegroups.com
It's probably worth increasing resolution in that middle transition region as well. Rick, was that around 70C?

Andrew

Sent from my iPhone

ErisianFront

unread,
Dec 30, 2009, 7:41:21 AM12/30/09
to MakerBot Operators
Hi Fellas.

OK, I chose to manually pick a profile biased towards resolution at
both (less linear) ends of the thermistor curve for twenty point
lookup.
I went with:
5,5,10,10,20,50,100,100,120,150,120,100,100,50,20,10,10,5,5
Starting at 25 and going through to 1010...

This is based on the 25C/220C parameters posted by Zach earlier.
Can easily apply to any other Beta/R0 etc or email the spreadsheet on
request.

It gives a bit of improvement in the range 200-250 as well as at the
low temperature end.
Graphical comparison to other parameter sets at:
http://docs.google.com/Doc?docid=0AXwI5ZZe0UmWZGM1cGZwZ3hfMmQ5M2JuMmc2&hl=en

Cheers,
Tim.

Thermistor table file (ThermistorTable.cpp) snippet:
//=================================================


// r0: 100000
// t0: 25

// r1: 0
// r2: 4700

// beta: 4198


// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {

{20, 317.6},
{25, 299.2},
{30, 284.9},
{40, 263.7},
{50, 248.1},
{70, 226},
{120, 193.1},
{220, 158.5},
{320, 137},
{440, 117.7},
{590, 97.4},
{710, 81.5},
{810, 66.7},
{910, 47.3},
{960, 32.6},
{980, 24},
{990, 18.5},
{1000, 11.4},
{1005, 6.9},
{1010, 1.2},

};
//=================================================


da3v

unread,
Jan 2, 2010, 9:46:30 AM1/2/10
to MakerBot Operators
Given the interest in heated build platforms, would tightening things
up a little more near 60-70 make sense?

On Dec 30 2009, 7:41 am, ErisianFront <erisianfr...@gmail.com> wrote:
> Hi Fellas.
>
> OK, I chose to manually pick a profile biased towards resolution at
> both (less linear) ends of the thermistor curve for twenty point
> lookup.
> I went with:
> 5,5,10,10,20,50,100,100,120,150,120,100,100,50,20,10,10,5,5
> Starting at 25 and going through to 1010...
>
> This is based on the 25C/220C parameters posted by Zach earlier.
> Can easily apply to any other Beta/R0 etc or email the spreadsheet on
> request.
>
> It gives a bit of improvement in the range 200-250 as well as at the
> low temperature end.

> Graphical comparison to other parameter sets at:http://docs.google.com/Doc?docid=0AXwI5ZZe0UmWZGM1cGZwZ3hfMmQ5M2JuMmc...

ErisianFront

unread,
Jan 3, 2010, 9:21:53 AM1/3/10
to MakerBot Operators
Sure, no worries...
I've chosen intervals below to give around 10C steps between 190 and
250C and 10C steps between 55 and 85C.
Other than the 300-250C interval, I made the other intervals around
15-20C, to fill the 20 point table.

The following two parameter sets use the same parameters as used by
Zach previously in this thread:
Both use r0=100000, t0=25, r1=0, r2=4700.
Ones uses beta=4198, the other, beta=4315.

Cheers,
Tim.

Thermistor table file (ThermistorTable.cpp) snippet:
//=================================================
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700
// beta: 4198
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {

{25, 299.2},
{49, 249.5},
{56, 240.5},
{65, 230.7},
{76, 220.8},
{89, 211},
{104, 201.6},
{121, 192.6},
{157, 177.6},
{222, 157.9},
{311, 138.7},
{431, 119.1},
{570, 100},
{685, 84.9},
{756, 75},
{819, 65.2},
{873, 55.4},
{936, 40.4},
{987, 20.3},
{1010, 1.2}
};
//=================================================

Thermistor table file (ThermistorTable.cpp) snippet:
//=================================================
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700

// beta: 4315


// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {

{25, 285.3},
{49, 239.1},
{56, 230.6},
{65, 221.5},
{76, 212.2},
{89, 203},
{104, 194.1},
{121, 185.6},
{157, 171.4},
{222, 152.8},
{311, 134.5},
{431, 115.7},
{570, 97.5},
{685, 82.9},
{756, 73.4},
{819, 64},
{873, 54.5},
{936, 40},
{987, 20.4},
{1010, 1.8}
};
//=================================================


da3v

unread,
Jan 3, 2010, 8:53:36 PM1/3/10
to MakerBot Operators
Hi Tim,
Could you do a quick crunch using your spacing based on JET's beta of
4881, or am I totally misunderstanding how this works?

From http://www.flatline.net/journal/2009/12/28/thermistortable-for-1mm-thermistors/


// r0: 93700
// t0: 24

// r1: 0
// r2: 4700

// beta: 4881
// max adc: 1023

Thanks!
-Dave

Tim

unread,
Jan 4, 2010, 2:23:27 AM1/4/10
to make...@googlegroups.com
> Could you do a quick crunch using your spacing based on JET's beta of
> 4881, or am I totally misunderstanding how this works?

Done... see below...

Unfortunately, in doing so, I noticed a bug in my previous listing...
I was providing temp to one decimal place, but the array is a short datatype so must be an integer.
Sorry about that.
I fixed it in the spreadsheet...

Users can either round the numbers themselves or get a new set from the spreadsheet attached (xls).
(I dont want to clutter the list with more tables...)

Cheers,
Tim.

//=================================================

// r0: 93700
// t0: 24
// r1: 0
// r2: 4700
// beta: 4881
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
   {25, 228},
   {49, 194},
   {56, 188},
   {65, 181},
   {76, 174},
   {89, 167},
   {104, 161},
   {121, 154},
   {157, 143},
   {222, 129},
   {311, 114},
   {431, 99},
   {570, 84},
   {685, 72},
   {756, 64},
   {819, 56},
   {873, 48},
   {936, 36},
   {987, 19},
   {1010, 2}
};
//=================================================

thermistors_rev1.xls
Reply all
Reply to author
Forward
0 new messages