Multifilament extruder switching
I started to modify my SparkCube to multifilament extrusion. Since I want to have it all through the existing nozzle and don't have a spare stepper driver on my board, I want to go the way of the multimaterial expansion for the prusa i3.
But in my opinion this system has a weakness - long bowden setup. When I first modified my printer to the bowden feed, I was a bit shocked how difficult it is to produce nice and clean parts.
So I figured, I'll make a push-pull feed. Keeping an direct drive extruder straight on the toolhead and having multiple filament feeders to supply the stuff. The bowden splitter sits straight before the direct drive extruder, so that for filament change the feeder unit needs minimum retract only to make way for the next material. This should eliminate all issues coming with bowden, and even allow for flexible filaments.
Now I have the multiplexing board set up with relais, pretty much as shown here.
Hardware is working so far.
Problem for me now is firmware:
Since all extruder (or feeder) stepeprs are connected to the same driver, my idea was to have all extruders in the firmware with EXT0_MIRROR_STEPPER 1.
The Pin definitions for all extruders goes to EXT0_ORIG, where the driver sits.
The step2, dir2 pins go for all steppers to the same dummy pins (in my case the unused pin 66,67 on RADDS), so that they don't interfere with anything.
That leaves me with the EXT0_ENABLE2_PIN, which in my case now I set to 31. This is connected to the input of the relais board.
So for each extruder it should be EXT0_PINS, and EXT<extruderNo>_ENABLE2_PIN <pinnumber>.
The problem now seems to be that I tested this setup and and have a problem with the setting"Disable estruder stepper when unused" (DISABLE_E):
If I use it (set to 1), it switches the relais board correctly, but disables the stepper stepper immediately after each move. Since the relais switches slow, on enabling it looses steps. This happens although I have set the STEPPER_INACTIVE_TIME to 360 seconds.
I tried with DISABLE_E set to 0 as well, but then of course it does not switch the relais board, since all are enabled.
Is there some way to fix this with the existing firmware? Preferably selectively disabling and enabling extruder steppers, or including in the tool change (select commands / deselect commands) some way to do it.