So i have a toolchaning corexy with 3 hotends, everything works fine but i can’t figure out how to add more part cooling fans and assign them to a hotend.
If anyone knows how I would really appreciate it.
my config down below if it’s of any interest.
# This file contains common pin mappings for the BigTreeTech Octopus.
# To use this config, the firmware should be compiled for the
# STM32F446 with a "32KiB bootloader" and a "12MHz crystal" clock reference.
# See docs/Config_Reference.md for a description of parameters.
# Driver0
[stepper_x]
step_pin: PF13
dir_pin: PF12
enable_pin: !PF14
microsteps: 16
rotation_distance: 40
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 0
position_max: 410
homing_speed: 50
homing_retract_dist: 0
# Driver1
[stepper_y]
step_pin: PG0
dir_pin: PG1
enable_pin: !PF15
microsteps: 16
rotation_distance: 40
endstop_pin: tmc2209_stepper_y:virtual_endstop
position_endstop: 0
position_max: 355
homing_speed: 50
homing_retract_dist: 0
# Driver2
[stepper_z]
step_pin: PF11
dir_pin: !PG3
enable_pin: !PG5
microsteps: 16
rotation_distance: 4
endstop_pin: probe:z_virtual_endstop
position_max: 350
position_min: -30
[stepper_z1]
step_pin: PG4
dir_pin: !PC1
enable_pin: !PA0
microsteps: 16
rotation_distance: 4
# Driver4
[stepper_z2]
step_pin: PF9
dir_pin: !PF10
enable_pin: !PG2
microsteps: 16
rotation_distance: 4
#[filament_switch_sensor material_0]
#switch_pin: PG12
# Driver5
[extruder]
max_extrude_only_distance: 200
step_pin: PC13
dir_pin: PF0
enable_pin: !PF1
microsteps: 16
rotation_distance: 4.63
full_steps_per_rotation: 200
filament_diameter: 1.750
max_extrude_only_velocity: 60
nozzle_diameter: 0.400
heater_pin: PA2 # HE0
sensor_pin: PF4 # T0
sensor_type: EPCOS 100K B57560G104F
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
# Driver6
[extruder1]
step_pin: PE2
dir_pin: PE3
enable_pin: !PD4
microsteps: 16
gear_ratio: 50:17
rotation_distance: 22.598
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA3 # HE0
sensor_pin: PF5 # T0
sensor_type: NTC 100K beta 3950
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250
#[filament_switch_sensor material_2]
#switch_pin: PG14
# Driver7
#[extruder2]
#step_pin: PE6
#dir_pin: PA14
#enable_pin: !PE0
#microsteps: 16
#rotation_distance: 33.500
#nozzle_diameter: 0.400
#filament_diameter: 1.750
#heater_pin: PB10 # HE0
#sensor_pin: PF6 # T0
#sensor_type: NTC 100K beta 3950
#control: pid
#pid_Kp: 22.2
#pid_Ki: 1.08
#pid_Kd: 114
#min_temp: 0
#max_temp: 250
#[filament_switch_sensor material_3]
#switch_pin: PG15
[heater_bed]
heater_pin: PA1
sensor_pin: PF3 # TB
sensor_type: ATC Semitec 104GT-2
control: watermark
min_temp: 0
max_temp: 130
[heater_fan fan1]
pin: PA8
heater: extruder
heater_temp: 50.0
fan_speed: 1.0
[heater_fan fan2]
pin: PE5
heater: extruder1
heater_temp: 50.0
fan_speed: 1.0
#[heater_fan fan3]
#pin: PD13
#[heater_fan fan4]
#pin: PD14
#[controller_fan fan5]
#pin: PD15
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_3C0031001950534841313020-if00
# CAN bus is also available on this board
[printer]
kinematics: corexy
max_velocity: 300
max_accel: 6500
max_z_velocity: 5
max_z_accel: 100
########################################
# TMC2209 configuration
########################################
[tmc2209 stepper_x]
uart_pin: PC4
diag_pin: PG6
driver_SGTHRS: 92
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[tmc2209 stepper_y]
uart_pin: PD11
diag_pin: PG9
driver_SGTHRS: 102
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[tmc2209 stepper_z]
uart_pin: PC6
##diag_pin: PG10
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[tmc2209 stepper_z1]
uart_pin: PC7
##diag_pin: PG11
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[tmc2209 stepper_z2]
uart_pin: PF2
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
[tmc2209 extruder]
uart_pin: PE4
run_current: 0.420
hold_current: 0.350
stealthchop_threshold: 999999
[tmc2209 extruder1]
uart_pin: PE1
run_current: 0.800
hold_current: 0.500
stealthchop_threshold: 999999
#[tmc2209 extruder2]
#uart_pin: PD3
#run_current: 0.800
#hold_current: 0.500
#stealthchop_threshold: 999999
[board_pins]
aliases:
# EXP1 header
EXP1_1=PE8, EXP1_2=PE7,
EXP1_3=PE9, EXP1_4=PE10,
EXP1_5=PE12, EXP1_6=PE13, # Slot in the socket on this side
EXP1_7=PE14, EXP1_8=PE15,
EXP1_9=<GND>, EXP1_10=<5V>,
# EXP2 header
EXP2_1=PA6, EXP2_2=PA5,
EXP2_3=PB1, EXP2_4=PA4,
EXP2_5=PB2, EXP2_6=PA7, # Slot in the socket on this side
EXP2_7=PC15, EXP2_8=<RST>,
EXP2_9=<GND>, EXP2_10=PC5
# See the sample-lcd.cfg file for definitions of common LCD displays.
# A [probe] section can be defined instead with a pin: setting identical
# to the sensor_pin: for a bltouch
[bltouch]
sensor_pin: PB7
control_pin: PB6
z_offset: 2.2
x_offset: 0
y_offset: -46
#[neopixel my_neopixel]
#pin: PB0
[safe_z_home]
home_xy_position: 200,180 # Change coordinates to the center of your print bed
speed: 50
z_hop: 10 # Move up 10mm
z_hop_speed: 5
[servo my_servo]
pin: PB2
# PWM output pin controlling the servo. This parameter must be
# provided.
maximum_servo_angle: 270
# The maximum angle (in degrees) that this servo can be set to. The
# default is 180 degrees.
minimum_pulse_width: 0.001
# The minimum pulse width time (in seconds). This should correspond
# with an angle of 0 degrees. The default is 0.001 seconds.
maximum_pulse_width: 0.002
# The maximum pulse width time (in seconds). This should correspond
# with an angle of maximum_servo_angle. The default is 0.002
# seconds.
initial_angle: 0
# Initial angle (in degrees) to set the servo to. The default is to
# not send any signal at startup.
#initial_pulse_width:
# Initial pulse width time (in seconds) to set the servo to. (This
# is only valid if initial_angle is not set.) The default is to not
# send any signal at startup.
[z_tilt]
z_positions: 360, 14
40, 14
200, 264
# A list of X,Y coordinates (one per line; subsequent lines
# indented) describing the location of each bed "pivot point". The
# "pivot point" is the point where the bed attaches to the given Z
# stepper. It is described using nozzle coordinates (the XY position
# of the nozzle if it could move directly above the point). The
# first entry corresponds to stepper_z, the second to stepper_z1,
# the third to stepper_z2, etc. This parameter must be provided.
points: 360, 60
40, 60
200, 310
# A list of X,Y coordinates (one per line; subsequent lines
# indented) that should be probed during a Z_TILT_ADJUST command.
# Specify coordinates of the nozzle and be sure the probe is above
# the bed at the given nozzle coordinates. This parameter must be
# provided.
speed: 50
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5.
retries: 2
# Number of times to retry if the probed points aren't within
# tolerance.
retry_tolerance: 0.05
# If retries are enabled then retry if largest and smallest probed
# points differ more than retry_tolerance. Note the smallest unit of
# change here would be a single step. However if you are probing
# more points than steppers then you will likely have a fixed
# minimum value for the range of probed points which you can learn
# by observing command output.
[gcode_arcs]
resolution: 0.2
[save_variables]
filename:/home/pi/variables.cfg
[gcode_macro T0]
gcode:
{% if not printer.toolhead.extruder == "extruder" %}
unload{printer.toolhead.extruder}
load
ACTIVATE_EXTRUDER EXTRUDER=extruder
SAVE_VARIABLE VARIABLE=currentextruder VALUE='"extruder"'
{% endif %}
SET_GCODE_OFFSET Z=0 X=0 Y=0
[gcode_macro T1]
gcode:
{% if not printer.toolhead.extruder == "extruder1" %}
unload{printer.toolhead.extruder}
load1
ACTIVATE_EXTRUDER EXTRUDER=extruder1
SAVE_VARIABLE VARIABLE=currentextruder VALUE='"extruder1"'
{% endif %}
SET_GCODE_OFFSET Z=0 X=0 Y=0
[gcode_macro START_GCODE]
gcode:
{% set svv = printer.save_variables.variables %}
ACTIVATE_EXTRUDER extruder={svv.currentextruder}
[gcode_macro unloadExtruder]
gcode:
G1 X54 F10000
G1 Y326 F10000
G1 Y342
G4 P300
SET_SERVO SERVO=my_servo ANGLE=90
G4 P300
G1 Y250 F10000
[gcode_macro load]
gcode:
G1 X54 F10000
G1 Y326 F10000
G1 Y342
G4 P300
SET_SERVO SERVO=my_servo ANGLE=0
G4 P600
G1 Y250 F10000
[gcode_macro unloadExtruder1]
gcode:
G1 X130 F10000
G1 Y326 F10000
G1 Y342
G4 P300
SET_SERVO SERVO=my_servo ANGLE=90
G4 P300
G1 Y250 F10000
[gcode_macro load1]
gcode:
G1 X130 F10000
G1 Y326 F10000
G1 Y342
G4 P300
SET_SERVO SERVO=my_servo ANGLE=0
G4 P600
G1 Y250 F10000
[mcu rpi]
serial: /tmp/klipper_host_mcu
[adxl345]
cs_pin: rpi:None
[resonance_tester]
accel_chip: adxl345
probe_points:
200,180,20
[input_shaper]
shaper_freq_x: 60.4
shaper_type_x: ei
shaper_freq_y: 70.2
shaper_type_y: zv