[solved] Dual Extruders, Tool change not working

What is the problem?

I have updated my good old Mendel90 to dual extruders and Klipper Firmware (RUMBA Board) and it runs fine. Octopi is the latest release (2 weeks back). I have defined the 2nd extruder in Octoprint and the temp page mshows both. But the next page, where I would extrude/retract only shows one extruder and tool change doesn't work ("Unknown command:"T1"").

Terminal:
Send: T1
Recv: // Unknown command:"T1"
Recv: ok
[...]
Send: T0
Recv: // Unknown command:"T0"
Recv: ok

Klipper doc says it knows the Tx command, then why doesn't this work?

Hello @ralfsteck !

Have you setup your printer.cfg correct?

You may go to the klipper discourse for further help.

at least Klipper doesn't moan about printer.cfg and the printer runs when I control the 2nd extruder via GCode commands in the terminal.

This is a response of the Klipper firmware that the command is not known.

BTW: Have you setup OctoPrint for two extruders?

Hi Ewald,

I don't want to be rude, but my question is literally why the "command is not known" when the Klipper doc says it knows that command. And yes, as stated in my 1st post I defined the 2nd extruder in Octoprint.

I was hoping there is someone who has a similar dual extruder configuration.

I have a dual extruder (IDEX) on my T-Rex 3 (See my post on the Klipper discourse)

Can you post your printer.cfg so that I may compare it to mine?

# This file contains common pin mappings for RUMBA boards.  To use
# this config, the firmware should be compiled for the AVR atmega2560.

# See docs/Config_Reference.md for a description of parameters.

[stepper_x]
step_pin: PH0
dir_pin: PH1
enable_pin: !PL1
microsteps: 32
rotation_distance: 80
#endstop_pin: ^PC0
endstop_pin: ^PC1
position_endstop: 300
position_max: 300
homing_speed: 80


[stepper_y]
step_pin: PF0
dir_pin: !PL2
enable_pin: !PF1
microsteps: 32
rotation_distance: 80
#endstop_pin: ^PC2
endstop_pin: ^PC3
position_endstop: 200
position_max: 200
homing_speed: 80

[stepper_z]
step_pin: PF3
dir_pin: !PF2
enable_pin: !PK0
microsteps: 32
rotation_distance: 2
#endstop_pin: ^PC4
endstop_pin: ^PC5
#position_endstop: 255
position_max: 255
homing_speed: 4

[stepper_z1]
step_pin: PA4
dir_pin: !PA3
enable_pin: !PA5
microsteps: 32
rotation_distance: 2
#endstop_pin: ^PC4
endstop_pin: ^PC5

[extruder]
step_pin: PA1
dir_pin: PA0
enable_pin: !PA2
microsteps: 32
rotation_distance: 22
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PE4
sensor_type: Generic 3950
sensor_pin: PK7
control: pid
pid_Kp: 27.036
pid_Ki: 1.515
pid_Kd: 120.649
min_temp: 0
max_temp: 250


[extruder1]
step_pin: PA7
dir_pin: !PA6
enable_pin: !PG2
microsteps: 32
rotation_distance: 22
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PE5
sensor_type: Generic 3950
sensor_pin: PK6
control = pid
pid_kp = 11.045
pid_ki = 0.338
pid_kd = 90.292
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PH6
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PK3
control: watermark
min_temp: 0
max_temp: 130

[heater_fan fan0]
pin: PH4
heater: extruder
heater_temp: 50.0

[heater_fan fan1]
pin: PH5
heater: extruder1
heater_temp: 50.0

[controller_fan stepstick_fan]
pin: PH3
heater: extruder,heater_bed
idle_timeout: 60

[mcu]
serial: /dev/ttyACM0

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100



# "RepRapDiscount 128x64 Full Graphic Smart Controller" type displays
[display]
lcd_type: st7920
cs_pin: PD2
sclk_pin: PD3
sid_pin: PL7
encoder_pins: ^PB5, ^PB6
click_pin: ^!PL6
# kill_pin: ^!EXP2_8

[output_pin beeper]
pin: PL5

#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [stepper_z]
#*# position_endstop = 247.700

You are missing the gcode macros for T0/T1:

# Activate the primary extruder
[gcode_macro T0]
gcode:
    ACTIVATE_EXTRUDER EXTRUDER=extruder

# Activate the secondary extruder
[gcode_macro T1]
gcode:
    ACTIVATE_EXTRUDER EXTRUDER=extruder1

Mine are quite specific for an IDEX printer with some additional moving.

That sounds right, I was wondering where the connection between extruders and Tx happens...

Edit. Thanks, that did the trick...

1 Like

Hi,

I am having a similar problem, Where do I insert this code in Octoprint?

Activate the primary extruder

[gcode_macro T0]
gcode:
ACTIVATE_EXTRUDER EXTRUDER=extruder

Activate the secondary extruder

[gcode_macro T1]
gcode:
ACTIVATE_EXTRUDER EXTRUDER=extruder1

Hello @LunarBurns !

You insert it in your printer.cfg of Klipper

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.