Tuning thermistor
-
Hi here,
have a similar problem and didn´t want to open a new post. For the chamber and or heat-plate (Isn´t finished yet) I have bought a ntc10k from a good-know company in south-germany that makes them for ca. 30years (they do not make the ntc themself but they embed whatever ntc you like in whatever sleeve and cable you can pay for ) and I have a datasheet here. It says:center-temp/R-val 25°C/10K
(r-tolerance 1%)
ß-range 25/85
ß-val 3970K
(ß-tolerance 1%)
And it comes with a table in 1°C steps with resistance for each point...What confuses me, if I enter the values for 25,85,125°C and the corresponding resistanc-values of 10000/1074,6/342,83 into here under custom https://configtool.reprapfirmware.org/Heaters it tells me
With the ß-value beeing clearly totally diffrent from the 3970 from the datasheet, while the suggested calculator here https://www.thinksrs.com/downloads/programs/therm calc/ntccalibrator/ntccalculator.html puts out the (almost) same ß-value like in the datasheet of 3970K:
Am i missing something and this is all like it should or should the numbers in both calculators be equal?
Edit: I am new to all this Steinhart-Hart stuff and ß-val stuff so please have some patience with me
-
@LB What you are missing is that there are two distinct operating modes that both use a 'B' parameter.
If you are using simple Beta value calculation, the B parameter will represent the β value, in your case, 3970.
If you are using the steinhart-hart model (recommended because it is a better fit), the B parameter represents the reciprocal of the Steinhart-Hart B coefficient. In your example, 1/2.33994e-4 which is ~4273. The way you can tell this model is being used, is if you have a non-zero C parameter.
Unfortunately the way the information is displayed on the config tool does not make this distinction clear.
-
@Zhang-Jianyu said in Tuning thermistor:
@LB What you are missing is that there are two distinct operating modes that both use a 'B' parameter.
If you are using simple Beta value calculation, the B parameter will represent the β value, in your case, 3970.
If you are using the steinhart-hart model (recommended because it is a better fit), the B parameter represents the reciprocal of the Steinhart-Hart B coefficient. In your example, 1/2.33994e-4 which is ~4273. The way you can tell this model is being used, is if you have a non-zero C parameter.
Unfortunately the way the information is displayed on the config tool does not make this distinction clear.
Thanks so much -> That should be differentiated in the reference here https://duet3d.dozuki.com/Wiki/Gcode#Section_M308_Set_or_report_sensor_parameters
Maybe based on your wonderful description wording could be changed to something like:
- Bnnn ß-value (if used without Cnnn). If used with Cnnn the reciprocal (1/B) of the calculated Steinhart-Hart thermistor model B coefficient
And in the config-generator-webpage it should switch from "ß" to "1/B" maybe or something like it?
-
It takes some time to get a handle how everything fits together.
IIRC, a Steinhart-Hart C coefficient of 0 will result in a B coefficient that is the exact reciprocal of the β value. So the choice of using the same parameter names is probably just to simplify the implementation internally.
-
@Zhang-Jianyu said in Tuning thermistor:
It takes some time to get a handle how everything fits together.
IIRC, a Steinhart-Hart C coefficient of 0 will result in a B coefficient that is the exact reciprocal of the β value. So the choice of using the same parameter names is probably just to simplify the implementation internally.
Thanks so much - I cannot follow your explanation here "a Steinhart-Hart C coefficient of 0 will result in a B coefficient that is the exact reciprocal of the β value" but maybe you can elaborate?
Much more important for me right now:
The C-values on both calculators differ also! What do you think regarding this, is it maybe that the webcalculator just uses less digits or something similar or can you "spot" any mistake in my input that could be the reason for it?
(also I still do not get the reciprocal-formula, because 1/(2.339941775e-4) on my computer-calculator spill out 0,000004273610612?)
-
For the reciprocal I am using dot '.' as a decimal separator. Since you use comma decimal separator ',' you'll need to put that in instead.
So the corrected one for you will be
1/2,3399e-4
Regarding the slight difference in output, it's likely just due to the precision of the calculations on the computer.
The bit about the 1/B and β being equal is not of real practical use but I find it interesting
-
@LB said in Tuning thermistor:
The C-values on both calculators differ also! What do you think regarding this, is it maybe that the webcalculator just uses less digits or something similar or can you "spot" any mistake in my input that could be the reason for it?
Can you elaborate? How much do they differ by?
-
@Zhang-Jianyu said in Tuning thermistor:
For the reciprocal I am using dot '.' as a decimal separator. Since you use comma decimal separator ',' you'll need to put that in instead.
Ah thanks, I fall into the old "." & "," trap *- slap on the head- * O.K. now
@dc42 said in Tuning thermistor:
@LB said in Tuning thermistor:
The C-values on both calculators differ also! What do you think regarding this, is it maybe that the webcalculator just uses less digits or something similar or can you "spot" any mistake in my input that could be the reason for it?
Can you elaborate? How much do they differ by?
now the reciprocal B-Value from "SRS"-calculator (see pictures posted before in this thread) 1/(2,339941775e-4) evaluates on my comp-calc to 4273,6 which is reasonably close to the 4256 from the reprap-configtool, but is not the same. Or did I do again something wrong?
Also the C is for
SRS-Calculator (see pictures posted before in this thread)
0.9018123000e-7, with swapped ,/. is 0,000 000 090 181 23
but in the reprap-configtool (see pictures posted before in this thread)
8.569547e-8, with swapped ,/. is 0,000 000 085 695 47
though they are close they differ a bit.@Zhang-Jianyu said in Tuning thermistor:
Regarding the slight difference in output, it's likely just due to the precision of the calculations on the computer.
Did I do something wrong or is it maybe realted to the size like double-float or something in the web-calculation? Since values are close but do not match something like resolution/precision might be the case? I guess now thanks to you I know how to use the calculator I would go with the SRS?
Thanks anyway, for getting me started! Since I know now how to use the SRS-Calculator I can put its values in the config.g
-
SRS calc is this:
C =((1/T1-1/T2)-(Math.log(R1)- Math.log(R2))*(1/T1-1/T3)/(Math.log(R1)-Math.log(R3)))/((Math.pow(Math.log(R1),3)-Math.pow(Math.log(R2),3)) - (Math.log(R1)-Math.log(R2))*(Math.pow(Math.log(R1),3)-Math.pow(Math.log(R3),3))/(Math.log(R1)-Math.log(R3))); B =((1/T1-1/T2)-C*(Math.pow(Math.log(R1),3)-Math.pow(Math.log(R2),3)))/(Math.log(R1)-Math.log(R2)); A = 1/T1-C*(Math.log(R1))*(Math.log(R1))*(Math.log(R1))-B*Math.log(R1);
-
@Zhang-Jianyu said in Tuning thermistor:
SRS calc is this:
C =((1/T1-1/T2)-(Math.log(R1)- Math.log(R2))*(1/T1-1/T3)/(Math.log(R1)-Math.log(R3)))/((Math.pow(Math.log(R1),3)-Math.pow(Math.log(R2),3)) - (Math.log(R1)-Math.log(R2))*(Math.pow(Math.log(R1),3)-Math.pow(Math.log(R3),3))/(Math.log(R1)-Math.log(R3))); B =((1/T1-1/T2)-C*(Math.pow(Math.log(R1),3)-Math.pow(Math.log(R2),3)))/(Math.log(R1)-Math.log(R2)); A = 1/T1-C*(Math.log(R1))*(Math.log(R1))*(Math.log(R1))-B*Math.log(R1);
Wow - thanks
Looks a bit different then the easy "mouse-over"-formula SRS blends in... Maybe I just copy and past it into "processing" (the only thing I know) and see how much influence the variable-room has, or maybe even de-/shift with multiplier/divider?