How can I calibrate the temperature of my bed
-
@axiom Please provide some more details:
- thermistor values from the data sheet (or from the manufacturer of the bed heater)
- the Duet board you use
- the port the thermistor is wired to
- the thermistor and bed heater definitions from your config.g file
If I remember right, you have an arrangement of four heaters. Now, you are talking about a single sensor. How this?
-
@infiniteloop
Hello,
Yes, you remember correctly, I have 4 heating mats, but I only connected one to test at the moment.
At first nothing worked, but by chance I found out that if I lower the beta value to around 3500, then a heating process takes place. Here are the details you requested:- Technical Data of Silicone Heaters:
Supply Voltage: 0~400 V, 1 or 3 phase
Insulation Material: Fiberglass reinforced Silicone Rubber
Max. Operating Temp.: 260 Deg C or 500 Deg F
Min. Element Temp.: -50 Deg C or -58 Deg F
Max.Power Density: 5 w/sq.cm depending on application
Resistance Tolerance: about +/- 5%
Standard Thickness: 1.5 mm
Flammability: Flame Retardant
Moisture Absorption: Moisture proof
Thermal Protection & Control: On board thermal fuse, thermostat, thermistor and PT100 are available as part of your thermal management solution.
Power Leads: 1 meter by default,other length available upon request-
I have a Duet2 Wifi board and optionally 2 PT100 daughterboards (not currently in use)
-
Right now I have connected the thermistor from the bed directly to the bed entrance on the board. Then the bed output runs to the mosfet (it works!).
-
Here are the settings from the config file:
; Heaters
M308 S0 P"bedtemp" Y"thermistor" T90000 B1000 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S300 ; set temperature limit for heater 0 to 300C
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H2 S280 ; set temperature limit for heater 2 to 280C
I also noticed that the nozzle heaters (2x 2 x E3D SuperVolcano Upgrade Kit - 3.00 mm) also give error messages after a certain temperature.
It would be very nice if you could help me.
Best regards,
Don Hobohm -
@axiom The technical data of your heaters don't mention the thermistor values - that's what I was looking at.
Please try to measure the resistance of such a thermistor at room temperature: is it about 100k ohm?
Unless we know better, you should try some common values in your config.g - replace this line
M308 S0 P"bedtemp" Y"thermistor" T90000 B1000 ; configure sensor 0 as thermistor on pin bedtemp
with this here:
M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
Then, look if your readings better match reality than now.
by chance I found out that if I lower the beta value to around 3500, then a heating process takes place.
In
M308
, the parameters must conform to the thermistor's data. It is well possible that, without further adjustments, the bed heater(s) won't work. But that's the next step. First, we need proper temperature readings. -
@infiniteloop said in How can I calibrate the temperature of my bed:
M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
Thank you for your prompt reply! I measured the resistance and it is correct: At 23.6 degrees (room/bed temperature) I have a resistance of 106 ohms. I swapped the line and the correct temperature is displayed...great!!
Now I can't heat the bed anymore, because then the message comes: "Tempperature rising too slowly". How can I proceed now?
Regards,
Don -
@axiom Once you have the correct parameters for a heater, you need to measure the heating effect so that the Duet knows how quickly the heat should respond. M303 is used to perform this measurement:
https://docs.duet3d.com/User_manual/Reference/Gcodes#m303-run-heater-tuning
e.g. M303 H0 S70
This will turn on heater zero (the bed heater) and the system will measure how quickly the bed reaches 70 degrees. It will spit out it's measurements along with information on how to set these configuration parameters so that they apply when the Duet is restarted.
-
@axiom to add to @SpoonUnit 's response, just be aware that the tuning process can take a while for large heated beds (like an hour or more). It does many repetitions of heating the bed and letting it cool to try and model how the bed performs.
-
@axiom Nice to see that @SpoonUnit and @engikeneer have jumped in - thx guys.
Just to add on that: use the Console of Duet Web Control to follow the tuning process in order not to miss any messages. In case of errors or warnings, post them here.
-
@axiom said in How can I calibrate the temperature of my bed:
Thermal Protection & Control: On board thermal fuse, thermostat, thermistor and PT100 are available as part of your thermal management solution.
@axiom said in How can I calibrate the temperature of my bed:
I measured the resistance and it is correct: At 23.6 degrees (room/bed temperature) I have a resistance of 106 ohms.
Are you sure the heating mat temperature sensor isn't a PT100? What M308 command are you using now?
Ian
-
@droftarts said in How can I calibrate the temperature of my bed:
Are you sure the heating mat temperature sensor isn't a PT100? What M308 command are you using now?
According to the manufacturer, it's a PT100 sensor...it's a Chinese one. Right now I'm doing the M303 H0 S70 command
-
@axiom PLEASE TURN OFF POWER TO THE PRINTER IMMEDIATELY!
You can't connect a PT100 sensor direct to the Duet board. You can only use thermistors or PT1000 sensors direct to the Duet board. Also, the resistance of a PT100 sensor INCREASES as the temperature INCREASES, while the resistance of a thermistor DECREASES. With the Duet configured to expect a thermistor, the reported temperature will DECREASE, while the real temperature INCREASES. You said earlier:
I have a Duet2 Wifi board and optionally 2 PT100 daughterboards (not currently in use)
You need to connect the PT100 temperature sensor to the PT100 daughterboard, and configure the firmware so it knows you're using a PT100. See https://docs.duet3d.com/User_manual/Connecting_hardware/Temperature_connecting_PT100
Ian
-
@droftarts this is the result of the autotune:
Auto tuning heater 0 completed after 3 idle and 5 tuning cycles in 1199 seconds. This heater needs the following M307 command:
M307 H0 R0.283 K0.463:0.000 D7.17 E1.35 S1.00 B0
Edit the M307 H0 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.But where exactly do I have to write that? Do I have to delete something else for that?
-
@axiom said in How can I calibrate the temperature of my bed:
H0 R0.283 K0.463:0.000 D7.17 E1.35 S1.00 B0
is this the same procedure for the print heads (nozzles)?
-
@axiom said:
According to the manufacturer, it's a PT100 sensor
I’m not so sure. From the data sheet @axiom posted:
Thermal Protection & Control: On board thermal fuse, thermostat, thermistor and PT100 are available as part of your thermal management solution.
After my suggestion to try standard values with M308 (and to measure the thermistor’s resistance), @axiom returned:
I measured the resistance and it is correct: At 23.6 degrees (room/bed temperature) I have a resistance of 106 ohms. I swapped the line and the correct temperature is displayed...great!!
Given that the readings at room temperature match expectations, I assumed @axiom omitted the „k“ from his measurement of the thermal sensing device.
@droftarts: From the posts, I conclude we face a thermistor. The successful tuning gives further evidence. However: Thx for your immediate reaction!
@axiom: When you told @droftarts you got a PT100 sensor, @droftarts had no choice: you should have followed his urgent warning to turn the printer off immediately. Be glad that he had an eye on this and takes care!
-
I'm doing the M303 H0 S70 command
So you tuned the bed heater with a target temperature of 70°C.
Auto tuning heater 0 completed after 3 idle and 5 tuning cycles in 1199 seconds.
Just 20 minutes? That’s fast! Can you please elaborate your setup: Was the heater glued to the bed or did you test the silicon mat in plain air? If the mat was glued to the bed: how thick is that metal plate? I wonder how such an assembly could heat up and cool down so quickly multiple times.
If you have a reasonable explanation for this, you can adjust your config.g according to the tuning results:
This heater needs the following M307 command:
M307 H0 R0.283 K0.463:0.000 D7.17 E1.35 S1.00 B0
Edit the M307 H0 command in config.g to match this.But where exactly do I have to write that?
In your config, you have (or had) this line (after
M308 S0 …
andM950 H0 …
) :M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
Replace that with the line you got from your tuning:
M307 H0 R0.283 K0.463:0.000 D7.17 E1.35 S1.00 B0 ; bed heater: enter tuning results, disable bang-bang
-
@infiniteloop Unfortunately a PT100 at 20C reads about 107Ohms so that reading if it was reported accurately could be a PT100.
@axiom Was the resistance of the temperature sensor at room temperature 106Ohms or 106KOhms?
-
@gloomyandy said in How can I calibrate the temperature of my bed:
Unfortunately a PT100 at 20C reads about 107Ohms so that reading if it was reported accurately could be a PT100.
Right, that's why I'm really glad @droftarts intervened. However, the temperature readings resulting from the
M308
parameters in the config would be quite different, especially as the OP stated that his PT100 boards were "not currently in use". -
It's ohms not kiloohms...according to the manufacturer, the bed has a PT100 sensor on it...but I haven't connected it to the PT100 daughterboard yet, but first to the onboard input...I just wanted to test all 4 mats connect parallel to the output and test again
-
@axiom Please see @droftarts comments above. If you really do have a PT100 continuing to operate your heated bed may cause damage.
-
@axiom said in How can I calibrate the temperature of my bed:
It's ohms not kiloohms...according to the manufacturer, the bed has a PT100 sensor on it...
To clarify: could you please post a screenshot or a photo of the heater's data sheet? In addition, I would like to see an image of the heater's wiring. Thanks.
-
@infiniteloop
Technical Data of Silicone Heaters:Supply Voltage: 0~400 V, 1 or 3 phase
Insulation Material: Fiberglass reinforced Silicone Rubber
Max. Operating Temp.: 260 Deg C or 500 Deg F
Min. Element Temp.: -50 Deg C or -58 Deg F
Max.Power Density: 5 w/sq.cm depending on application
Resistance Tolerance: about +/- 5%
Standard Thickness: 1.5 mm
Flammability: Flame Retardant
Moisture Absorption: Moisture proof
Thermal Protection & Control: On board thermal fuse, thermostat, thermistor and PT100 are available as part of your thermal management solution.
Power Leads: 1 meter by default,other length available upon request