This configuration depends on following repositories:
- Thanks orignal Klipper
- Thanks orignal KTCC
- Thanks KAMP for adaptive mesh and purging
- Thanks KIAUH for gcode shell command (Arksine)
-
Setup Raspberry PI with MainsailOS
-
Install Klipper with modified repo (this only required for Duet2 WIFI), it may work with original Klipper, but not tested.
cd ~/klipper git remote add alexjx https://github.com/alexjx/klipper.git git fetch alexjx git checkout -f alexjx/master
-
Install Klipper ToolChanger Extension
cd ~ git clone https://github.com/alexjx/Klipper_ToolChanger.git ktcc cd ~/ktcc bash install.sh
-
Install
gcode_shell_command
curl -o ~/klipper/klippy/extras/gcode_shell_command.py https://raw.githubusercontent.com/dw-0/kiauh/master/resources/gcode_shell_command.py
-
Setup Klipper with this repo
cd ~ git clone https://github.com/alexjx/klipper_config.git cd klipper_config bash install.sh
-
Restart klipper service
sudo systemctl restart klipper
-
Follow klipper document, edit
~/klipper_config/duet2/mcu.cfg
, ensure mcu serial device path is correct. -
Edit
~/klipper_config/printer_base.cfg
. Update the settings for your needs. -
Update other configurations to meet your needs.
- I'm using E5 for stepper x, since my stepper x is not working.
- I'm using PT1000 for extruder, you might have to change that.
- The bed is an AC powered, you might have to change that by including different bed in
printer_base.cfg
-
Follow guide from KAMP to setupEnable file processing for exclude object for adaptive probing and purging.[exclude_object]
for KAMP.-
Edit
moonraker.conf
to include object processing[file_manager] enable_object_processing: True
-
Enable object lable in the slicer
-
-
UpdatePrefer https://github.com/Frix-x/klippain-shaketunescripts/generate-belt-tension-graph.sh
,scripts/generate-shaper-graph-x.sh
,scripts/generate-shaper-graph-y.sh
to meet your paths. -
Measure and update input shaper value for each tool.
-
Update
~/klipper_config/tool/tools.cfg
. The offsets are used for initial tool alignment. Configure them to meet your needs.
T0 ; change to tool 0
T1 ; change to tool 1
T2 ; change to tool 2
T3 ; change to tool 3
DROP_TOOL
COUPLER_RESET
Note: This is an extension to the original ToolChanger. We created an alignemnt tool to use 'switch' for probing offsets of each tool. It doesn't work with the original heated bed. Since there is no place to attach the alignment rod.
Use following command to align tools. Every parameter is optional, it's given default value if not specified.
However, if the default values are not correct, please edit tools/alignment.cfg
to change the default values.
ALIGN_TOOLS [TOOLS=0,1,2,3]
Where
TOOLS
is a list of tools to be aligned. It's a comma separated list. Default is all tools.
Begin is defined in macros/startstop.cfg
. Its usage is following (with prusa slicer):
PRINT_BEGIN INITIAL_TOOL={initial_tool} BED_TEMPS={first_layer_bed_temperature[0]},{first_layer_bed_temperature[1]},{first_layer_bed_temperature[2]},{first_layer_bed_temperature[3]} TOOL_TEMPS={first_layer_temperature[0]},{first_layer_temperature[1]},{first_layer_temperature[2]},{first_layer_temperature[3]} TOOL_STANDBY_TEMPS={first_layer_temperature[0]-30},{first_layer_temperature[1]-30},{first_layer_temperature[2]-30},{first_layer_temperature[3]-30} USED_TOOLS={is_extruder_used[0]},{is_extruder_used[1]},{is_extruder_used[2]},{is_extruder_used[3]} HEAT_SOAK=20
Where
INITIAL_TOOL
is the first tool to be used in the printBED_TEMPS
is the bed temperature for each tool, it's a comma separated list.TOOL_TEMPS
is the tool temperature for each tool, it's a comma separated list.TOOL_STANDBY_TEMPS
is the tool standby temperature for each tool, it's a comma separated list.USED_TOOLS
is a list of boolean values, indicating if the tool is used in the print. Boolean value is eithertrue
orfalse
.HEAT_SOAK
is the time to soak the chamber for high temperature print. It's activated only if bed temperature is above 110C.
PRINT_END
Item | Connector | Description |
---|---|---|
Motor A | Driver X | left motor from front |
Motor B | Driver Y | right motor from front |
Motor Z | Driver Z | |
Motor E0 | Driver E0 | |
Motor E1 | Driver E1 | |
Motor E2 | Driver E2 | |
Motor E3 | Driver E3 | |
Coupler | Driver E4 |
Item | Connector | Description |
---|---|---|
Bed | Bed Heater | |
Bed Sensor | Bed Sensor | |
Extruder 0 Heater | E0 Heater | |
Extruder 0 Sendor | E0 Sensor | |
Extruder 1 Heater | E1 Heater | |
Extruder 1 Senor | E1 Sensor | |
Extruder 2 Heater | E2 Heater | |
Extruder 2 Sensor | E2 Sensor | |
Extruder 3 Heater | E3 Heater | |
Extruder 3 Sensor | E3 Sensor | |
Hotend 0 Fan | FAN_1 | |
Hotend 1 Fan | sx1509_duex:PIN_12 | Duex FAN3 |
Hotend 2 Fan | sx1509_duex:PIN_6 | Duex FAN5 |
Hotend 3 Fan | sx1509_duex:PIN_4 | Duex FAN7 |
Part Cooling 0 | FAN_2 | |
Part Cooling 1 | sx1509_duex:PIN_7 | Duex FAN4 |
Part Cooling 2 | sx1509_duex:PIN_5 | Duex FAN6 |
Part Cooling 0 | sx1509_duex:PIN_15 | Duex FAN8 |
Item | Connector | Description |
---|---|---|
X | X Endstop | |
Y | Y Endstop | |
Z | Z Endstop | |
Bed | Use Z Endstop | |
Alignment | E0 Endstop | |
Tool Mount | E1 Endstop |
- This configuration is only work with toolchanger with physical XY endstop.