I am developing a MMU for my printer that will use 5 additional extruders to pass filament up to the single print head/extruder combo
I have found out how to add the extra Steppers via
[manual_stepper loader]
step_pin: zboard: PB1
dir_pin: ! zboard: PB0
enable_pin: ! zboard: PD6
microsteps: 16
rotation_distance: 33.683
And i can move the stepper via this command:
MANUAL_STEPPER STEPPER=loader MOVE=400 SPEED=100
However during the loading/unloading phase there will be times
when the loader stepper and the extruder stepper need to move
at the same time.
From what i have gleaned from reddit posts and an experiment i did etc. it doesnt seem like
i can just use a command like:
G1 E15 Loader15 F3000
it would appear that i have to sync the motors with something like:
SYNC_EXTRUDER_MOTION EXTRUDER=extruder MOTION_QUEUE=loader
when i use this command i get error
âloaderâ is not a valid extruder
if i then change my config to define my loader stepper as an extruder
[extruder1]
step_pin: zboard: PB1
dir_pin: ! zboard: PB0
enable_pin: ! zboard: PD6
microsteps: 16
rotation_distance: 33.683
klipper then wants me to input a temp sensor. which i dont want to do as i would like to use the
stepper when the hot end is cold
i would really appreciate some pointers. please feel free to spoon feed me
my previous experience was some very basic stuff with arduino. so i am
finding jinga challeging
Annoyingly klipper seems to ignore min_extrude_temp:5 and stick with default of 170. So I plugged in a 270ohm resistor and now it shows 240 all the time. Which although annoying is effective.
With these you can sync them up and drive them with command like
SYNC
M83
G1 E10 F600
And it will drive them both at same time. Or desync then and use them independently.
The limitation of this method is that you canât use them at the same time doing different things i.e. in a non synced state⌠which thinking about it I guess is a limitation of CNC machines in general.
I would really love to know if there is a cleaner way to achieve this, without the resistor etc ?
As soon as the steppers are synced. I forever lose the ability to control extruder1 (the additional stepper independently.
Any ideas?
Iâll have a look at what there doing. Itâs difficult because I am very inexperienced with coding and I find they often use advanced functions of the programming language to achieve 3-4 lines of my code with one command that is unreadable to the novice.
Generally if you have a stepper motor that you want to be able to synchronize to an extruder you would use an extruder_stepper config section: Configuration reference - Klipper documentation . You could then synchronize and unsynchronize that stepper to the extruder using SYNC_EXTRUDER_MOTION commands. If you want to move the motor manually it is possible to enable a force_move config section ( Configuration reference - Klipper documentation ) and use a FORCE_MOVE command.
Can you think of anyway to disable the âextruder_stepperâ so that it is actually off.
I am multiplexing the stepper driver via relays to the separate extruder motors. From what I have read there is a risk that I will destroy the driver as the motor is momentarily disconnected.