How can I calibrate the temperature of my bed
-
As discussed, I have now connected the bed sensor to a PT100 daughterboard.
The console shows 2000 degrees!!!!!Here is the current code:Configuration file for Duet WiFi (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Jul 26 2022 17:05:20 GMT+0200 (Mitteleuropäische Sommerzeit); General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Don axoiom" ; set printer name; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S1 ; physical drive 2 goes forwards
M569 P4 S1 ; physical drive 4 goes forwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E4:3 ; set drive mapping
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E420.00:420.00 ; set steps per mm
M566 X900.00 Y900.00 Z60.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X1800 Y1600 Z1600 E1600:1600 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X500 Y500 Z500 S0 ; set axis maxima; Endstops
M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
M574 Z2 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin zstop; Z-Probe
M558 P1 C"zprobe.in" H5 F300 T6000 ; set Z probe type to unmodulated and the dive height + speeds
G31 P500 X20 Y20 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X15:215 Y15:195 S20 ; define mesh grid; Heaters
M308 S0 P"spi.cs1" Y"rtd-max31865" ; configure sensor 0 as PT100 on pin spi.cs1
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
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; Fans
M950 F0 C"fan1" Q500 ; create fan 0 on pin fan1 and set its frequency
M106 P0 S1 H0 T45 ; set fan 0 value. Thermostatic control is turned on
M950 F1 C"fan0" Q500 ; create fan 1 on pin fan0 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 S"Filament" D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
M563 P1 S"Stuetzkonstruktion" D1 H2 F0 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C; Custom settings are not defined
-
@axiom said in How can I calibrate the temperature of my bed:
I should just connect a sensor to the daughterboard and see what is displayed?
Yep. And I see from your config that you've done that. What temperature readings do you now get from the bed heater at room temperature?
-
@infiniteloop 2000 degrees!!!
-
@axiom said in How can I calibrate the temperature of my bed:
2000 degrees!!!
That's far off. I would like to have @droftarts takes a look at this - I don't know what readings the daughterboard should produce if connected to a thermistor instead of a PT100.
-
@infiniteloop
understand, ask him directly or do I need to contact @droftarts? -
@axiom cooking dinner at the moment! Can you post a picture of how you have wired the bed temp sensor to the daughterboard and Duet?
Ian
-
@droftarts said in How can I calibrate the temperature of my bed:
cooking dinner at the moment!
bon appétit!
-
-
@axiom Thx. @droftarts will have a look at the photos … after dinner.
-
@infiniteloop Guten Appetit!
-
@axiom when you measured the resistance of the sensor at 20C using a multimeter, are you sure it read 106 ohms, not 106 kohms? If it's 106 ohms, it's a PT100. If it's 106 kohms, it's a 100K thermistor.
-
@dc42 You are right, it is 106 kilo ohms and not ohms... sorry for the wrong statement..
-
@dc42 wenn i am starting the bed heater it shows "hardware error no sensor" without starting it shows 2000 degrees
-
@axiom said in How can I calibrate the temperature of my bed:
@dc42 You are right, it is 106 kilo ohms and not ohms... sorry for the wrong statement..
So if it's 106 kilo ohms it is a thermistor and should not be connected to the PT100 daughterboard. Connect it to the mainboard instead and change your config.g to use values for a thermistor.
-
it is 106 kilo ohms and not ohms
Ok, thermistor. So, for a single heater with thermistor, this is what works:
M308 S0 P"bedtemp" Y"thermistor" R4700 T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
Now, you have to decide what to do with four thermistors and four heaters. Let's assume you want to control the bed as a single unit - I've understood that you wired all heaters to "Bed Heat", i.e. this connector:
As you have four 24V PSUs, one for each heater, how do you control these? The proper way to do this is to put a SSR (type DC/DC) between the outcome (-) of each PSU and its heater - if you use a single SSR to switch mains power of all PSUs, you risk their early demise: as the signal from "Bed Heat" is pulsed, it switches rapidly between on and off. You can however use the SSR on mains to power the PSUs. How to do this is described in the last paragraph of this link.Now, the thermistors: You should use all of them for a combined reading. How this works is outlined in the documentation under Using multiple temperature sensors for a single heater.
I tend to recommend solution 1 (connect them in series), but never tried that with 4 thermistors… at 400 kOhm, risk of interference with power signals is high. Maybe a serial/parallel combination is better in this case: two thermistors each in parallel, i.e. connected as pairs in series. -
@infiniteloop said in How can I calibrate the temperature of my bed:
Unfortunately I'm not at the output yet. I have now connected the PT100 daughterboard (see photo above) and entered the following value:; Heaters
M308 S0 P"spi.cs1" Y"rtd-max31865" R4700 T100000 B3950 ; configure sensor 0 as PT100 on pin spi.cs1
M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
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 280C2000 degrees and the error message: failed to read seonsor: sensor hardware error are displayed in the console
-
@infiniteloop said in How can I calibrate the temperature of my bed:
or do I have to send back the 2 daughter boards because they are not suitable for these thermistors? -
The PT100 daughterboards are of limited value unless you have PT100 sensors to go with them. You can't just configure them into being something else.
-
@axiom Then I omit the daughterboardas.
Then the safest thing is to connect the thermistors in series?
However, I didn't quite understand the description of how to declare all 4 pieces in the code -
@infiniteloop said in How can I calibrate the temperature of my bed:
The proper way to do this is to put a SSR (type DC/DC) between the outcome (-) of each PSU and its heater
The same should also work with mosfets for each part?