Klipper IDEX settings for my Voron
Vložit
- čas přidán 3. 07. 2022
- This is an overview of the settings used in printer.cfg to get IDEX working with Klipper. This video should be considered more of a "heads up on what is involved" rather than a tutorial. Hopefully this info will lure some more people down the experimental IDEX path.
- Věda a technologie
Thanks! I am using klipper on a single extruder printer, and the improvement in quality turned me into a fan. I am thinking of buying an IDEX in the future, and I want to understand how to configure klipper well ahead... As you said, there is not a lot of material available on this today, though...
Thanks for this, it helped me out a lot standing up my IDEX printer build!
So for copy and mirror mode. I've been wondering if klipper could somehow define a separate config similar to how it updates the z offset. Or if you could somehow define a tool similar to riprap.
It is already in forked builds, but I haven't tried them to see how it is implemented. There are very talented people working on improving all things multi-toolhead. I enjoy mechanical things. The software side is something I suffer through setting up to get the mechanical things to do what I want. I will leave the software to them (not that I could to be of any help if I wanted to).
Hi, good video on idex in klipper
Presently I am building a large size 3d printer with Dual X axis (idex)
But I want to use total 4 extruders with 2 nozzles
X1 carriage has E0, E1 extruders with 2 In 1 out hotend,
X2 carriage has E2, E3 extruders with 2 in 1 out hotend
My board is FLYF407ZG
is Klipper support my setup?
Present Malin don't support it
I think it would be possible in Klipper, but currently Duet board would be a much better choice for that setup. To use the Mellow board you would have to dedicate a lot of time to understanding how Klipper works. I think it could be done, but there would be no examples for you to follow and few people who could answer your questions. I learned just enough to get mine working.
Hey! I am doing pretty much the same concept as you. Doing 2 Y motors. However, Klipper is not letting me use an endstop on the stepper_y1 motor section. How did you get around that?
I have the same endstop pin listed for both. I have the min, max, postion_endstop, & homing options after it commented out on stepper_y1 though. That might be why Klipper is letting me get away with it. A while after publishing this video I realized that I left out the Y drive stuff. Doh!
How do you have your part cooling fans configured? Or, do you have them set up so that they are on 100% whenever the assigned extruder is above 50C?
I used "multi-pin" in Klipper to assign both fan pins as the primary part cooling fan. The slicer just sends the normal fan commands and both fans respond. I experimented with assigning them fan numbers in Cura and controlling them separately via a macro, but copy and mirror modes required workarounds since Cura doesn't turn on the second fan in those cases. It's easier just to link them. EDIT: Also a few things (unrelated to the fans) were changed when copy and mirror modes were recently added to klipper, so there may be a line or two in this video that are now outdated.
I am working on getting my JG Maker Artist D Pro working on IDEX with a BTT Manta M8P motherboard with a CB1. I have the printer working with the left or primary side. I am trying to get the right printer to print with the left. I get errors when I try.
I can share my printer.cfg if you are willing to check it out.
What are the errors you get?
@@badmouth75 12:02 PM
The value 'left' is not valid for EXTRUDER
Using SuperSlicer with two heads defined. This might be a superslicer issue.
@@badmouth75 OK, the problem was that I was not naming my extruders in SuperSlicer to match the names in the Printer.cfg file. Once I did that, it became apparent that my Right extruder never was activated to print properly.I inserted this code to try to get my Right extruder to work.
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle
T1
T0
Result-
9:25 PM
Extrude below minimum temp
9:25 PM
Extrude below minimum temp
See the 'min_extrude_temp' config option for details
9:25 PM
Extrude below minimum temp
9:25 PM
Extrude below minimum temp
See the 'min_extrude_temp' config option for details
9:25 PM
Extrude below minimum temp
9:25 PM
Extrude below minimum temp
See the 'min_extrude_temp' config option for details
9:25 PM
Extrude below minimum temp
9:25 PM
Extrude below minimum temp
See the 'min_extrude_temp' config option for details
9:25 PM
Extrude below minimum temp
9:25 PM
Extrude below minimum temp
See the 'min_extrude_temp' config option for details
9:25 PM
Activating extruder extruder1
9:23 PM
SET_HEATER_TEMPERATURE HEATER=extruder1 TARGET=150
9:18 PM
SET_HEATER_TEMPERATURE HEATER=extruder1 TARGET=200
9:17 PM
Activating extruder extruder
9:17 PM
Activating extruder extruder1
9:17 PM
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60
9:17 PM
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=200
9:17 PM
File selected
9:17 PM
File opened:OBC KEYCHAIN.gcode Size:2403816
9:17 PM
SDCARD_PRINT_FILE FILENAME="OBC KEYCHAIN.gcode"
9:16 PM
Extruder extruder already active
9:16 PM
T0
9:16 PM
Activating extruder extruder
9:16 PM
T0
9:16 PM
Activating extruder extruder1
9:16 PM
T1
9:09 PM
G28
9:09 PM
Activating extruder extruder
9:09 PM
T0
9:09 PM
Extruder extruder1 already active
9:09 PM
T1
9:09 PM
Activating extruder extruder1
9:09 PM
T1
8:17 PM
G28
8:17 PM
Klipper state: Ready
This is the pertinent printer.cfg
# Definition for the primary carriage (holding the primary extruder)
#MOTOR1
[stepper_x]
step_pin: PE2
dir_pin: PB4
enable_pin: !PC11
microsteps: 16
rotation_distance:40
endstop_pin: !PF3
position_endstop: -62.5
position_min: -62.5
position_max: 305
homing_speed: 50
homing_retract_dist: 5
homing_positive_dir: False
# The definition for the primary extruder
#MOTOR5
[extruder]
step_pin: PD3
dir_pin: PD2
enable_pin: !PD5
microsteps: 16
rotation_distance:29
nozzle_diameter: 0.4
filament_diameter: 1.75
heater_pin: PE3 # HE0
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1 # T0
control: pid
pid_Kp: 28.065
pid_Ki: 1.215
pid_Kd: 162.074
min_temp: 0
max_temp: 250
# Helper script to park the carriage (called from T0 and T1 macros)
[gcode_macro PARK_extruder]
gcode:
SAVE_GCODE_STATE NAME=park0
G90
G1 X0 f3600
RESTORE_GCODE_STATE NAME=park0
# Activate the primary extruder
[gcode_macro T0]
gcode:
PARK_{printer.toolhead.extruder}
ACTIVATE_EXTRUDER EXTRUDER=extruder
SET_DUAL_CARRIAGE CARRIAGE=0
SET_GCODE_OFFSET Y=0
#MOTOR4
# Definition for the secondary carriage and extruder1
[dual_carriage]
axis: x
step_pin: PA10
dir_pin: PD15
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: !PC2
position_endstop: 365
position_min: 3
position_max: 365
homing_speed: 50
homing_retract_dist: 5
homing_positive_dir: True
# Motor6
[extruder1]
step_pin: PC9
dir_pin: !PC8
enable_pin: !PD1
microsteps: 16
rotation_distance:29
nozzle_diameter: 0.4
filament_diameter: 1.75
heater_pin: PB5 # HE1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA2 # T1
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
[gcode_macro PARK_extruder1]
gcode:
SAVE_GCODE_STATE NAME=park1
G90
G1 X305 f3600
RESTORE_GCODE_STATE NAME=park1
[gcode_macro T1]
gcode:
PARK_{printer.toolhead.extruder}
ACTIVATE_EXTRUDER EXTRUDER=extruder1
SET_DUAL_CARRIAGE CARRIAGE=1
SET_GCODE_OFFSET Y=1
#*************************************
If I don't put the extra T1, T0, it never activates the Right extruder. Even when it did, the heaters turned off and it failed anyway.