Thermistors: Better Beta values from RRF configuration tool?
-
Hi,
I'm wondering if the thermistor calculation in the RRF tool could be enhanced. According to
T = B / ln(R/ri)
I approximated T as f(R) of Marlin thermistor #1 for all values in the thermistor table as well as for three selected points as in the RRF configuration tool. With the RRF configuration tool one of the three points has to be the resistance at 25°C. In the attached figure you may find the temperature dependent residuals (measured - calculated temp). For the series labelled Thermistor #1 all points of the thermistor table were used in order to calculate B and ri, for the other series only the resistance at temperatures in the legend were used. As expected, using an other than the 25°C resistance as starting value leads to a significantly higher precision in the temperature range. So can the behaviour of the RRF configuration tool can be changed in order to accept temperatures other than 25°C for the first point?BTW, what is the meaning of (beta) in the RRF configuration tool? B in the equation above? Or b in
1/T = a + bln(R) + c(ln(R))^3 ?Regards
Uli
-
@uli said in Thermistors: Better Beta values from RRF configuration tool?:
T = B / ln(R/ri)
That is the beta equation for thermistors. It is only accurate over small temperature ranges. If you have a R/T temperature table for the thermistor you want to use, you should always use the Steinhart-Hart model instead. In RRF this means using the R25, B and C values that the calculator in the configuration tool gives you.
If you provide the configurator with just two R-T values, it will use the beta model. The only values needed for this model are R25 and B.
If you provide the configurator with three R-T values, it will use the Steinhart-Hart model.
The beta model is equivalent to the Steinhart-Hart model if you set c in the S-H model to zero and b in the S-H model to 1/B where B is the parameter for the beta model. So when using the S-H model, B in the M305 command is 1/b from the S-H model. C in the M305 command is c from the S-H model. RRF calculates the a parameter in the S-H model from R25, B and C.
Note, if you enter 3 points into the configurator, it will produce R25, B and C coefficients and you must use all of them. From your description, I think you have fed 3 temperature points to the configurator, but then calculated the temperature for the resulting parameters using the Beta model, ignoring the calculated C parameter. No wonder the results are so bad. If you want to use the beta model, you will get better agreement if you feed in just 2 R-T points, for example 25C and 225C. You will get even better agreement if you feed in 3 points (e.g. 25C, 205C, 245C) and use the S-H model. The computed B values from those two approaches will be significantly different from each other.
-
For my calculation of the residuals I used a separate application with a simplex algorithm, not the RRF configuration tool. And I assume the residuals might be comparable when I use the Steinhart-Hart equation
1/T = a + bln(R) + c(ln(R))^3OK, I now understand how to put the values in the RRF configuration tool, thanks.
Regards
Uli
-
So how exactly did you calculate the residuals you plotted in the chart?
-
In Convert Marlin Thermistor Table To M305 you provided the formula
R = 4700 * A / (1024 - A)
for the calculation of the R values. That I did and obtained the T vs. R dependenc. Then I minimized (Simplex algorithm)
(Tmerlin - Tcalc)^2
with
Tmerlin - temperature calculated from Merlin temperature table
Tcalc = B / ln(R/ri)
I did it for all values of the merlin table (60+ points) and for selected triples (three R/T values)
B and ri are the varibles to optimize.
With the optimized values I recalculated the temperatures (Tcalc) for all R values in the Marlin temperature table. Then I subtracte Tcalc from Tmerlin (for each R). -
OK, the last sentence should better be this one:
Then I subtracted Tcalc from Tmerlin (for each Tmarlin)
-
@uli said in Thermistors: Better Beta values from RRF configuration tool?:
In Convert Marlin Thermistor Table To M305 you provided the formula
R = 4700 * A / (1024 - A)
for the calculation of the R values. That I did and obtained the T vs. R dependenc. Then I minimized (Simplex algorithm)
(Tmerlin - Tcalc)^2
with
Tmerlin - temperature calculated from Merlin temperature table
Tcalc = B / ln(R/ri)
I did it for all values of the merlin table (60+ points) and for selected triples (three R/T values)
B and ri are the varibles to optimize.
With the optimized values I recalculated the temperatures (Tcalc) for all R values in the Marlin temperature table. Then I subtracte Tcalc from Tmerlin (for each R).That goes to show that the beta model is not a good approximation for the R-T graph over a wide temperature range. But if you have a R-T table for your thermistor, you should not use the beta model, you should use the S-H model instead.
-
I will compare it on Monday...
-
Now I did the calculations for the Steinhart-Hart equation:
1/T = a + bln(R) + c(ln(R))^3
Unfortunately, I could not find a fast way to plot the difference between calculated temperature and these from the table as function of temperatur. Here I only compare the temperature from table (thermistor #1 - table) with these calculated with the optimized Steinhart-Hart coefficients using all points (thermistor #1 - calc) or selected triples (25°-180°-250° - calc, 30°-65°-100° - calc):I learned: As dc42 mentioned above, one should always use the Steinhart-Hart equation. The availabilty of a R-T table is very helpful. But even the coefficients obtained using the resistance at 30°C, 65°C and 100°C lead to a good description of R vs T at higher temperatures. And these can be easily obtained using a water bath and a thermometer.
-
And here are the differences between table and calculated temperatures for the calculations according to Steinhart-Hart: