hey everyone.
I know my printer is fairly old at this point, But its been a great printer and earnt me alot of money.
One thing that has always bugged me though.. From day 1, the nozzle temperature has always been incorrect!
I went from a Anet A8 as my 1st printer, to the Elegoo neptune 2S, I always ran the same brand filament, always at around 215c range.. When i stepped to the Elegoo, I noticed it was clogging alot at 215c, so i bumped the temp up a little, bit by bit.. and found that 240c was perfect....
Knowing that 240c is a bit high for PLA+, I borrowed my friends callibrated K-Type temperature probe, and probed the nozzle/hot end when upto full temperature..
and found that the nozzle is actually 220c, when i had selected 240c when slicing...
No matter what temperature i sliced at... the nozzle would always be 20c incorrect to what the printer is seeing... Even though the probe would detect that its at 240c like i set it to.... the nozzle would still only be 220c...
So the thermistor seams to be reading incorrectly....
I ended up replacing the thermistor, with one that elegoo recommended... still exactly the same... the printer would detect 240c... but nozzle only at 220c...
Ive tried different thermistors.. Although Elegoo theirself recommended NTC 100k 3950's... but no matter what thermistor i install.. its still extremely incorrect... No thermistor enables my printer to actually detect correctly....
I did the PID tune... But ofc, this hasnt helped.. Because the printer believes that the nozzle is 240c.. Although it isnt....
Is there any way of manually calibrating this?
Im in the process of looking at buying an Elegoo Neptune 4 Plus anyway.. But would be nice to finally figure out this 2S's issue...
cheers
Elegoo incorrect temperature...
Moderator: CrazyIvan
Re: Elegoo incorrect temperature...
This is interesting from an electronics engineering point of view... and I am an electronics engineer!
I had assumed the temperature sensing on 3D printers was thermocouple because of the temperature range required, but investigation indicates thermistors are available for applications up to 300ºC.
"NTC 100k 3950" is a general description for a thermistor, not a specification for a particular thermistor. It's like saying "10k" for a resistor without specifying what its power handling should be, or any other physical characteristic:
"NTC" = Negative Temperature Coefficient, meaning the thermistor's resistance goes down as temperature goes up.
"100k" = the thermistor's resistance (in ohms) at some nominated temperature (typically 25ºC).
"3950" = the B-value, which is a coefficient of the thermistor's resistance vs. temperature curve for two nominated temperatures (typically 25ºC and 50ºC).
An epoxy-coated thermistor I looked at ("NTC 100k 3950") had a specified maximum operating temperature of 125ºC. This would clearly be unsuitable for use in an FDM printer hot-end, not only because the thermistor is outside its calibration at 200ºC+, but because there is no certainty what would happen to the physical construction of the thermistor at those temperatures.
On the other hand, glass-encapsulated thermistors have a maximum operating temperature of 300ºC, so it is this type which should be used.
What I note however, is that even for 300ºC types, the calibration curve is only defined at 25 and 50ºC. This leaves a great deal of latitude for the resistance vs. temperature curve at 200ºC, and high precision thermistors are very expensive.
Then there is the means by which the controller actually measures the resistance and converts that to a temperature. No doubt the controller assumes the thermistor is a perfect "NTC 100k 3950" and computes the temperature from the ideal law, but how accurate is the resistance measurement? We don't know, and we don't know how perfect the thermistor is in the first place.
Thermistors are manufactured from a mixture of metal oxides, and each manufacturer is making greater or lesser efforts to match the ideal curve according to the price sensitivity of the market they are serving. It is indicative that the B-value is only calibrated at 25 and 50ºC.
As an engineer, I would much prefer to use a thermocouple for this. Thermocouples are two wires of different metals, and the point at which they meet generates a voltage which varies by temperature, and is well understood. The curve is always the same (for any two specific metals).
The bottom line of all this is that, for printers using a thermistor to sense temperature, in my opinion you should consider the reading an indication only.
What to do about it?
If you know the difference between indicated temperature and actual temperature at (say) 200ºC, apply that as a calibration offset in the slicer for that particular printer. Suppose you know the printer is reading hotter than it actually is, by 20º. Instead of the target temperature in the slicer being 215ºC, make it 235ºC. Unless there is a global offset setting, you'll have to make that adjustment in several places (eg first layer extrusion temperature and main extrusion temperature). IIRC, Cura links parameters together, so setting the main extrusion temperature in the material settings makes automatic adjustments to the other temperatures (which can then be manually tweaked if desired), or you could preset a filament type to your own needs.
It would be very helpful if the printer makers provided a temperature calibration adjustment in the printer settings, like Z offset.
I had assumed the temperature sensing on 3D printers was thermocouple because of the temperature range required, but investigation indicates thermistors are available for applications up to 300ºC.
"NTC 100k 3950" is a general description for a thermistor, not a specification for a particular thermistor. It's like saying "10k" for a resistor without specifying what its power handling should be, or any other physical characteristic:
"NTC" = Negative Temperature Coefficient, meaning the thermistor's resistance goes down as temperature goes up.
"100k" = the thermistor's resistance (in ohms) at some nominated temperature (typically 25ºC).
"3950" = the B-value, which is a coefficient of the thermistor's resistance vs. temperature curve for two nominated temperatures (typically 25ºC and 50ºC).
An epoxy-coated thermistor I looked at ("NTC 100k 3950") had a specified maximum operating temperature of 125ºC. This would clearly be unsuitable for use in an FDM printer hot-end, not only because the thermistor is outside its calibration at 200ºC+, but because there is no certainty what would happen to the physical construction of the thermistor at those temperatures.
On the other hand, glass-encapsulated thermistors have a maximum operating temperature of 300ºC, so it is this type which should be used.
What I note however, is that even for 300ºC types, the calibration curve is only defined at 25 and 50ºC. This leaves a great deal of latitude for the resistance vs. temperature curve at 200ºC, and high precision thermistors are very expensive.
Then there is the means by which the controller actually measures the resistance and converts that to a temperature. No doubt the controller assumes the thermistor is a perfect "NTC 100k 3950" and computes the temperature from the ideal law, but how accurate is the resistance measurement? We don't know, and we don't know how perfect the thermistor is in the first place.
Thermistors are manufactured from a mixture of metal oxides, and each manufacturer is making greater or lesser efforts to match the ideal curve according to the price sensitivity of the market they are serving. It is indicative that the B-value is only calibrated at 25 and 50ºC.
As an engineer, I would much prefer to use a thermocouple for this. Thermocouples are two wires of different metals, and the point at which they meet generates a voltage which varies by temperature, and is well understood. The curve is always the same (for any two specific metals).
The bottom line of all this is that, for printers using a thermistor to sense temperature, in my opinion you should consider the reading an indication only.
What to do about it?
If you know the difference between indicated temperature and actual temperature at (say) 200ºC, apply that as a calibration offset in the slicer for that particular printer. Suppose you know the printer is reading hotter than it actually is, by 20º. Instead of the target temperature in the slicer being 215ºC, make it 235ºC. Unless there is a global offset setting, you'll have to make that adjustment in several places (eg first layer extrusion temperature and main extrusion temperature). IIRC, Cura links parameters together, so setting the main extrusion temperature in the material settings makes automatic adjustments to the other temperatures (which can then be manually tweaked if desired), or you could preset a filament type to your own needs.
It would be very helpful if the printer makers provided a temperature calibration adjustment in the printer settings, like Z offset.
-
- Posts: 23
- Joined: Thu Jul 27, 2023 11:43 am
- Location: Oxfordshire, UK
- Has thanked: 2 times
- Been thanked: 2 times
Re: Elegoo incorrect temperature...
The limitation here is probably the epoxy. Heating epoxy softens it, and is often the method used when needing to remove it.