Welcome! Log In Create A New Profile

Advanced

Duet - getting the thermistors to return the correct value

Posted by David J 
Duet - getting the thermistors to return the correct value
May 10, 2015 06:21PM
My Cherry Pi delta has an E3Dv6 hot end and a heated bed. Each has the same thermistor - Semitec 100kOhm NTC Thermistor. (104GT-2). When I had a Marlin board these were set up as thermistor type 5, and this setting returned a reasonably accurate temperature.

Now I have a Duet board, and I'm having some difficulty with adjusting the settings so that I get accurate temperatures (I'm checking with a K-type thermistor attached to my multimeter, which is supposed to be accurate to +/- 2 degrees). I've loaded dc42's branch of the firmware, and I've tried to follow his instructions to set the values using the M305 commands (as described here). With the heaters off I can set the values so that both the hot-end and the bed thermistors return a reasonably accurate room temperature. However, when I start to heat either one, the actual temperature ends up quite a bit below what's reported, e.g. the S/W reports 55C on the bed, but the actual temperature is around 45C. I get similar results on the hot-end.

My config.g file contains the following lines:
; Thermistors
;*** If you have a Duet board stickered "4.7K", change R1000 to R4700 to the following M305 commands
M305 P0 T100000 B4267 R4700 H30 L0	; Put your own H and/or L values here to set the bed thermistor ADC correction
M305 P1 T100000 B4267 R4700 H30 L0	; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
M305 P2 T100000 B4267 R4700 H30 L0	; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
The B value I got from a Siemens datasheet (here). I set the R value to 4700 as 1000 returned a very wrong value - 4700 gives a reasonable temperature, even before adjustments. I assumed/read/guessed that my v0.6 board requires R4700.

I'm now a bit lost - I could do with a little help to get the correct values in the config file.

Thanks,
David
Re: Duet - getting the thermistors to return the correct value
May 10, 2015 06:55PM
David, how exactly have you measured the temperature with the thermocouple? The thermocouple wires conduct heat away from the thermocouple bead, making it hard to get a good reading.

To measure the hot end temperature with a thermocouple, the recommended approach is to feed the thermocouple bead right into the hot end, where the filament usually goes, so that it is sitting in a pool of molten filament inside the nozzle.

For the bed, if the surface is glass then it's very difficult to get a good reading from a thermocouple because glass is a poor conductor of heat. You can also expect the temperature at the top of the glass to be lower than the temperature that the thermistor is reading, especially when the bed is heating up.

If you want to check the accuracy of the reading, then I suggest you try connecting a 1K 1% resistor in place of the thermistor. According to the Siemens datasheet, this is the resistance at just above 160C - so that is the reading you should get.

It's only the older Duet boards that have the 1K series resistor - all the recent production uses 4.7K.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Duet - getting the thermistors to return the correct value
May 11, 2015 04:02AM
David,

I was just pressing the thermocouple firmly against the block/bed. I wasn't expecting a perfect result, just a reasonable indication. This method does work quite well on my RAMPS-equipped Prusa though.

Am I right in thinking that the H and L values are correction factors for adjusting the readings at the High and Low ends of the scale? If so, I might have been making my adjustments incorrectly. At the low end (room temperature) the readings are reasonably accurate, it's when they get hot that things go wrong.
Re: Duet - getting the thermistors to return the correct value
May 11, 2015 04:26AM
H and L correct for the high and low end of the ADC range, which correspond to low and high temperatures (i.e. the opposite way round). So adjust H to get the room temperature reading right, and L to get high temperature reading right. Theoretically, all thermistor channels should need the same correction. On the later Duet boards with 4.7K series resistors, little or no correction is needed. On the earlier Duet boards with a 1K series resistor, the H correction (for room temperature reading) is often required when using a 100K hot end thermistor.

The B value for that thermistor is quoted for a temperature range of 25 to 85C, which is rather low compared to the range you are likely to be using. You can adjust it to get more accurate readings at higher temperatures. For example, setting B to 4286 will give you the most accurate reading at 100C, and setting B to 4375 will give the most accurate reading at 200C. You may want to consider using these B values for the bed and hot end respectively.

If you do want to adjust the corrections, I recommend you substitute a 100K 1% resistor for the thermistor, then adjust the H parameter to get a reading close to 25C. Then substitute a resistor with a lower value and adjust the L parameter to get the correct high temperature reading. But I you should adjust the B values as I already described before you adjust the L parameter.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Duet - getting the thermistors to return the correct value
September 04, 2015 09:14AM
Sigh... I still haven't got to the root of this problem. sad smiley

As I've described in another thread, my E3Dv6 hot-end keeps blocking up - it behaves exactly as if the head is just a little too cool as I'm pushing in the filament.

As an experiment I lashed up my old RAMPS board to the hot-end and extruder, just to see what happens... and when the hot-end is up to temperature the plastic just oozes out slightly when the extruder is static, and flows freely when the extruder is feeding - in other words, entirely normal behaviour. This tells me that there's very little wrong with the basic extruder->hot-end setup. Reconnected to the Duet board, and the hot-end clogged within a minute of trying to feed some filament. This was at 190C for both boards. I have tried higher temperatures for the Duet setup, but with no difference.

I have tried temperature tests using a probe with my multimeter - as said previously, I can't expect this to give me an accurate nozzle temperature, but it is good for comparison. Taking the temp in exactly the same way (probe held tightly against the side of the nozzle with a piece of wood) I got the following results with a target temp of 210C:

Prusa i3 hot-end (genuine E3Dv6 3mm direct drive), via RAMPS = ~185C
CherryPi hot-end, via RAMPS = ~187C
CherryPi hot-end, via Duet = ~175C

I did try increasing the target temperature after the blockage, but it didn't help. Once it's blocked, it stays blocked until I strip it down and clean it out.

I have tried playing with the thermistor B values as recommended previously, but that didn't seem to help.

So now I'm stuck - I'd go back to RAMPS if it wasn't for the fact that the Duet motor drivers are so much better and easier to manage. And, of course, the Duet can easily control a delta whereas the RAMPS was clearly struggling.

I'd appreciate some suggestions for further investigations...
Re: Duet - getting the thermistors to return the correct value
September 04, 2015 10:48AM
Are you using the same retraction settings (amount and speed) in your slicing program, and the same extruder acceleration and maximum speed in your RAMPS and Duet firmware, in both cases? The all-metal E3D will jam if you use too much retraction, they recommend 2mm maximum, and it may be sensitive to the retraction acceleration and speed.

Also make sure you haven't enabled Bowden extruder elasticity compensation (M572 command). If you use high values of that, it causes retractions at the end of some moves.

What filament are you using? My Kossel uses a genuine E3Dv6, and I usually print eSun PLA at 205C first layer and 195 other layers, although lower works too. I only get jamming problems if I retract too much filament.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Duet - getting the thermistors to return the correct value
September 04, 2015 11:42AM
That's something I haven't explored...

Mine's a genuine E3Dv6, and I'm also using eSun PLA. Most times I use 190 - 200C. I can't remember what retraction is set to, so I'll take a look later on.
I didn't even know about the M572 command, so I doubt it's been set!

Thanks for the hint. One thing I forgot to mention was that I was getting blockages as soon as I fed in the filament, before I even tried to print, so retraction shouldn't be an issue.

Note: Your post prompted me to look on the E3D website - and I found this: E3D-v6 troubleshooting. I'll try out some of their ideas (including retraction).

Edited 2 time(s). Last edit at 09/04/2015 11:59AM by David J.
Re: Duet - getting the thermistors to return the correct value
September 05, 2015 11:06AM
Grrr - everything is out to confound me!

I decided to make life easier, and used a few bits & pieces from my scrap box to allow me to mount my hot-end independently from the delta's effector to make it easier to strip down and clear any blockages.



Of course, the hot-end now feeds filament perfectly! No reason why it should behave differently as the effector is held at its top in just the same way as my temporary mount, same height and angles for the bowden, everything.

During these tests the effector decided to play silly buggers and refused to play properly, but that's nothing to do with the control board so I'll let this topic die gracefully! smiling smiley
Sorry, only registered users may post in this forum.

Click here to login