The bed heater often uses the highest proportion of the power consumed by a 3d printer and many plastics print better on a heated bed. Duet mainboards bed heater channels are generally fused at 15A. If more current is required then an external SSR can be used.
If in doubt, consult a qualified electrician.
If you want reasonably fast heating to around 100C for printing ABS, then a good figure to use is 0.4W per square cm of bed area. Here are some example bed sizes and the corresponding suggested heater power:
The usual options for powering a bed heater are:
Before you decide to use a 12V bed heater, check whether you need to supply 24V power to the Duet in order to achieve your target movement speed - see Choosing stepper motors.
These types pf bed heater are in common use:
The bed heater connectors vary with the Duet mainboard version.
|Board||'Bed heater' output||Connector type||RRF3 pin name||RRF2 heater number|
|Duet 3 Mainboard 6HC||1 x 18A (15A fuse)||Barrier strip||out0||-|
|Duet 3 Mini 5+||1 x 15A (15A fuse)||Barrier strip||out0||-|
|Duet 2 WiFi/Ethernet||1 x 18A (15A fuse)||Screw terminal||bedheat||0|
|Duet 2 Maestro||1 x 18A (15A fuse)||Screw terminal||bedheat||0|
Note that some boards are rated to 18A on the bed heater channel; however all Duets are supplied with a 15A fuse fitted (18A fuses are difficult to source). If you need 18A on the bed heater channel then you need to fit a 20A fuse and take further precautions against over-current. This rating has been increased from 15A due to updated thermal testing.
The Duet 3 Mainboard 6HC has a separate OUT0 Power in, which allows for a separate PSU (12V-36V, can be different to VIN voltage) to supply the OUT0 high current output (e.g for a large bed heater). If this is not required, VIN power must be applied to both the POWER IN and the OUT0 POWER IN terminals for OUT 0 to be powered.
The 6HC is supplied with forked spade connectors, for wire gauges up to AWG13 / 2.5mm2.
The Duet 3 Mini 5+ is supplied with forked spade connectors, for wire gauges up to AWG13 / 2.5mm2.
Duet 2 mainboards are supplied with ferrules, for wire gauges up to AWG16 / 1.5mm2.
You can use a solid state relay (SSR) to switch the bed heater by connecting the SSR control terminals to the Duet bed heater terminals. This way you can connect a higher power heated bed, and/or use a separate PSU for the bed heater.
Use a low voltage drop DC/DC SSR such as the Auber Instruments MGR-1DD80D100 or Crydom DC100D40. The SSR may need a heatsink, depending on the current. Do not be tempted to use a cheap DC-DC SSR such as the SSR-40DD, which is basically useless for this application because of its high voltage drop.
Make sure that you get the wires from the Duet bed heater terminals to the + and - control terminals of the SSR the right way round. The bed heater terminals will use Duet VIN voltage as the switching voltage. You can connect the SSR to any other PWM pin on the Duet, so long as the signal voltage is high enough to turn the SSR on and off.
Caution: when using a high-powered bed heater, in the event that temperature control fails and the bed heater is turned on at full power for an extended period of time, you should either make sure that the bed heater and bed will not exceed a safe temperature, or else install a thermal cutout to disconnect the bed heater or its power supply before excessive temperatures are reached.
Use a zero-crossing DC-AC SSR such as Crydom D2425, Kudom KSI240D25-L or Fotek SSR-25DA (note: many Fotek SSRs on sale are fakes, using triacs rated at lower current than the marked rating of the SSR). For 230V bed heaters, SSR-10DA may be sufficient. If your bed heater draws more than about 1/4 of its rated current then the SSR may need a heatsink.
Take appropriate safety precautions when using a mains voltage bed heater. In particular:
If in doubt, consult a qualified electrician.
In RRF 3.x, no heaters or temperature sensors are defined by default. If you have no bed heater, just don't define one.
RepRapFirmware 3.x does not automatically set different PWM frequencies for different outputs. If using an SSR then set the "Q" parameter in the M950 command to a low frequency like 10 Hz.
; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 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 S120 ; set temperature limit for heater 0 to 120C
; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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 S120 ; set temperature limit for heater 0 to 120C
RepRapFirmware 2.x defines the bed heater output (H0) automatically as a bed heater.
When using PID to control the bed heater, RepRapFirmware 2.x uses a low PWM frequency (10Hz) so as to be compatible with all standard types of SSR.
; Heaters M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B3950 R4700 ; set thermistor + ADC parameters for heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C
You can remap the bed heater to a different heater output (for example, when using an SSR, to leave the bed heater output available for a high current extruder heater) by using M140
; Heaters M140 H1 ; remap heated bed to heater 1 M307 H1 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M305 P1 T100000 B3950 R4700 ; set thermistor + ADC parameters for heater 1 M143 H1 S120 ; set temperature limit for heater 1 to 120C
If you want to remove heatbed from the system, replace M307, M305 and M143 with
; Heaters M140 H-1
M307 sets the heating process parameters. Tuning this with M303 should allow for finer control of the heater; more stable temperatures during printing, and less overshoot when setting temperatures. Each heating controller also performs temperature monitoring to try to detect fault conditions such as a heater of thermistor falling out of an extruder heating block. The temperature monitor relies on the model parameters to decide what is reasonable behaviour. See the wiki page on Tuning the heater temperature control.