Multiple heaters on a single extruder on Duet 3

 For one of my recent projects, we built a pellet-extruder 3D printer. Its hotend has four different temperature sections. That means four heaters and four thermistors to create four independent temperature control loops. So far, all my printers have had a single heater for the hotend, so this was new to me. 

Handling so many temperatures required enough thermistor inputs on the control board. In my case, a Duet 3 6HC board features precisely four temperature inputs. Which seems to be enough. However, I have a heated bed (which I will describe in an upcoming post) that also needs its temperature to be monitored, so I need five temperature inputs; I am one short so far. The solution was to buy an additional Duet Expansion 1HCL board. This one features two additional temperature inputs, two additional fan outputs, and an additional high-power motor driver I will not use now. This additional board connects to the 6HC using a CAN bus interface. Its default address is 123; you can test it with the M115 B123 command. RJ11 connectors are used for the CAN bus; only the two central wires are needed. 

I use the fan outputs to control solid-state relays to switch on the AC-based heaters. Unfortunately, the ones I am using require more than 3.3V output, so I have to use the 24V outputs of the fan drivers instead to drive the solid-state relays. 

Once all is properly setup, I can see all of the heaters on the web interface and I can change the temperatures there but ... how do I do that on my g-code files? Well, the short answer is that M568 P0 S235:235:160:120 is what works for me (to set up these four temperatures to the different sections of my hotend heaters). But if you want to wait till all these temperatures are reached, then use M116 S5 afterward.

Comments

Popular posts from this blog

VFD control with Arduino using RS485 link

How to get sinusoidal s-curve for a stepper motor

Stepper motor step signal timing calculation