Using Multiple Bed Heaters
-
The E4 thermistor channel is channel 5. You have configured the second bed heater to use channel 4, which is the one labeled E3. They are offset by one because the bed thermistor is channel 0, therefore the E0 thermistor is channel 1, and so on.
-
Tried that too (see end of comment above), but that also gives me [c]READ: Error: Temperature reading fault on heater 4: sensor open circuit[/c].
Just tried it again to be sure. Same.
-
Did you remember to change your M140 command from M140 P2 H4 to M140 P2 H5 too?
-
I did not! Thank you David(?).
-
Closer by the day.
My understanding is I can use M140 Hn Snn to turn on specific heater channels (H0, H5, H6, and H7 in my case), but the way the config file is set up, M140 P2 Snn should turn on ALL of the linked heaters. Is that right?
The current primary problem is that I get the ""temperature rising much more slowly than the expected 0.7C/sec" error very quickly after turning on a heater, but if I try to autotune H5 (for example) with M303 H5 S60, I get
[[language]] READ: Heater is not ready to perform PID auto-tuning
What's going on here?
-
ALSO,
I can't use M140 Hn Snn to turn on more than one heater at a time. For example, if I send M140 H5 S50, that heater goes on, but if I then send M140 H6 S50, it switches to H6 instead of keeping both H5 and H6 on.
-
I have condensed your reports into the following:
1. Unable to autotune a heater that is assigned as an additional bed heater because of "not ready" message. Did you clear the heater fault before you sent the M303 command?
2. M140 H6 S50, it switches to H6 instead of keeping both H5 and H6 on. This is the correct behaviour, because that command both assigns heater 6 to bed heaster 0 (because the P parameter defaults to 0) and switches it on. To control a bed heater, use M140 P# Snn where # is the bed heater number you want to control.
3. "My understanding is I can use M140 Hn Snn to turn on specific heater channels (H0, H5, H6, and H7 in my case), but the way the config file is set up, M140 P2 Snn should turn on ALL of the linked heaters. Is that right?"
No. You should not normally use both H and S in the same command. The H parameter assigns that heater number to the bed heater number that you specify in the P parameter. You would normally use M140 with an H parameter only in config.g because you will use a fixed assignment of bed heater numbers to heater channels. Subsequently, to control a bed heater, use M140 P# Snn.
HTH David
-
Thank you for the attentiveness David.
You know, the default H0 heater model settings work fine. Could you possibly report those settings so I can apply them to the other bed heaters as a starting point?
I think tuning these heaters will be a bit of a pain since they will behave differently when turned on individually versus all at once.
-
Just send M307 H0 to get the current settings for heater 0.
-
::facepalm::
Thanks.
-
Here's a summary of what I did to get multiple bed heaters working, thanks to a lot of hand-holding:
1. 4 bed heaters, connected to the default bed heater as well as the E4, E5, and E6 heaters on the Duex5.
2. The bed heaters are configured in config.g as follows:[[language]] ; ###Configure Bed Heaters### M140 P0 H0 ;Tie the E4 (H5) heater and thermistor to P0 as a bed heater. This is so by default but included for visual consistecy in this file. M140 P1 H5 ;Tie the E4 (H5) heater and thermistor to P5 as a bed heater. M140 P2 H6 ;Tie the E5 (H6) heater and thermistor to P6 as a bed heater. M140 P3 H7 ;Tie the E6 (H7) heater and thermistor to P7 as a bed heater. M305 P0 R4700 T100000 B3950 ;Set thermistor parameters M305 P5 R4700 T100000 B3950 M305 P6 R4700 T100000 B3950 M305 P7 R4700 T100000 B3950 M307 H0 A90.0 C700.0 D10.0 B1 ;Set heater model settings M307 H5 A90.0 C700.0 D10.0 B1 M307 H6 A90.0 C700.0 D10.0 B1 M307 H7 A90.0 C700.0 D10.0 B1 M143 H0 S120 ; Set maximum heater temperature. M143 H5 S120 ; M143 H6 S120 ; M143 H7 S120 ; M570 H0 S1200 ; Set maximum heating time (Snnn, in seconds). M570 H5 S1200 ; M570 H6 S1200 ; M570 H7 S1200 ;
3. If I want to turn all the bed heaters on and set them to nn*C, I send:
[[language]] M140 P0 Snn M140 P1 Snn M140 P2 Snn M140 P3 Snn M116 ;wait for all heaters to stabilize
Notes:
-M140 P0 Snn is the default heater output, so if a heated bed is specified in the slicer settings this will be redundant.
-If adding this to the start script in Simplify3D, it seems better to remove the normal bed heater from the Temperature Tab altogether. Otherwise, the start script doesn't run until after the first heater zone has come up to temperature and stabilized, which means a single heater needs to fight against the thermal mass of the whole build plate before the other heaters are ever woken up, so it may not get up to temperature at all. It's still not great because the extruder will have come up to temperature and be sitting like that the whole time the bed is coming up to temperature. But unchecking "wait for temperature controller to come up to temperature before beginning build" for the extruder helps so at least everything comes on at the same time.
-Hopefully Simplify3D will soon support multiple bed heaters. Someone on the Simplify forum claims it already does (https://forum.simplify3d.com/viewtopic.php?f=23&t=6976), but I don't know what they're talking about. I posted on that forum to address the question. -