Change Stepper Online
I have a new idea: having two or more printer hardware printing on the same heatbed, Duet switches between the two (or more) hardware while printing.
For example, printing with a CoreXY printer, then switch to a SCARA to print fine structures, (or coarse structure for the infill) then switch back proceeding with the normal print.
My questions are:
- is it possible to disconnect and reconnect different steppers while printing (e.g. through 4 relais of the 4 wires)
- is it possible to change firmware setup while printing, to change configuration settings for example. First some basic settings like stepper and extruder, later printer type. I will try to change firmware, this is second priority.
It is possible to use two Duet with their separate printer setups, but then one have to coordinate the printing. I would like to use the switching to begin with.
My question is for electric security and whether it's possible: steppers, hotend, end stops switching while running a print.
Danal last edited by
Generaly speaking disconnecting and reconnecting a "stepper driver" <> "stepper motor" while powered up runs a VERY LARGE chance of blowing the stepper driver.
With regard to "changing the firmware setup", YES. Duet/RepRap are entirely configured by G-Code commands, "M" and "G". There is absolutely nothing with regard to configuration "compiled in" to the firmware. In fact, it would be EXTREMELY unusual for an end-user of Duet/RepRap to build (re-compile) the firmware... and it takes a fairly complex tool-chain to do so.
For most of the "M" configuration commands, the effect is immediate. For a very few, sequence is important. For example, assigning motors (really drivers) to Axis should come before you configure other things for those Axis. Most of this is common sense.
To be clear: ALL configuration is stored in g-code files. There are a few specific names, such as /sys/config.g that are "auto-printed" (run) a boot time. It would be very easy to have a file call /sys/config-this.g and another file called /sys/config-that.g that have completely different contents, for different printers kinematics, or whatever, and to "print" these files, thus re-configuring, at any time. Even the things I mentioned above that are "Sequence Dependent" can be re-done at any time, as long as the re-configuration re-does all parts of the sequence.
In short: Yes. Configuration is all dynamic, and by "M" command.
Again, hardware is different. Switching driver-hardware cabling would require a LOT of thought... a simple four pole relay is likely to kill the driver. It MIGHT, repeat MIGHT be OK to totally de-energize a driver, switch and the re-energize it. Experimenting on this could be interesting... you'd need a pile of driver chips and a way to quickly swap them... or similar.
@danal Thank you for your response, I didn't realize that all behaviour of Duet is G-Code based and can be changed on-the-fly. I am still used to old firmware marlin thinking. That's good news.
For Hardware, maybe using the external connectors switching the CNC based boards with TMC2130 could be a solution with not too bad drivers.
In theory you could switch between motors using a 4-pole relay as you say, taking care to de-energise the motors first. However, a Duet+DueX5 can drive 10 stepper motors independently, plus another two using external drivers. You can configure on-the-fly which drivers are used for each axis. So it would be much simpler and safer to connect each motor to a separate driver.
Why do you think that a SCARA mechanism would be better able to print fine detail than a CoreXY mechanism?
@dc42 Thank you, Duex5 is a good idea!
I've a plan for a multiple scara printer
and to be more stable, parallel scara.
The reason is not detail, but to be flexible, and maybe speed.
And Scara is the only mechanism I know that's not in the other's way.
But harmonic drives are very expensive (I bought two "affordable" ones now), so I want to start with CoreXY and one Scara.