diff --git a/firmware/klipper_configurations/Kraken/Voron2_Kraken_Config.cfg b/firmware/klipper_configurations/Kraken/Voron2_Kraken_Config.cfg new file mode 100644 index 00000000..57c92c85 --- /dev/null +++ b/firmware/klipper_configurations/Kraken/Voron2_Kraken_Config.cfg @@ -0,0 +1,604 @@ +# This file contains common pin mappings for the BigTreeTech Kraken. +# To use this config, the firmware should be compiled for the STM32H723Z6 with a "128KiB bootloader" +# Enable "extra low-level configuration options" and select the "25MHz crystal" as clock reference + +# after running "make", copy the generated "klipper/out/klipper.bin" file to a +# file named "firmware.bin" on an SD card and then restart the Kraken with that SD card. + +# See docs/Config_Reference.md for a description of parameters. + +## Voron Design VORON2 250/300/350mm BigTreeTech Kraken + +## *** THINGS TO CHANGE/CHECK: *** +## MCU paths [mcu] section +## Thermistor types [extruder] and [heater_bed] sections - See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types +## Hotend heater pin [extruder] section +## Z Endstop Switch location [safe_z_home] section +## Homing end position [gcode_macro G32] section +## Z Endstop Switch offset for Z0 [stepper_z] section +## Stepper Z1 enable pin [stepper_z1] section +## Probe points [quad_gantry_level] section +## Min & Max gantry corner postions [quad_gantry_level] section +## PID tune [extruder] and [heater_bed] sections +## Probe pin [probe] section +## Fine tune E steps [extruder] section + +[mcu] +## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify +##-------------------------------------------------------------------- +serial: /dev/serial/by-id/{REPLACE WITH YOUR SERIAL} +restart_method: command +##-------------------------------------------------------------------- + +[printer] +kinematics: corexy +max_velocity: 300 +max_accel: 3000 #Max 4000 +max_z_velocity: 15 #Max 15 for 12V TMC Drivers, can increase for 24V +max_z_accel: 350 +square_corner_velocity: 5.0 + +##################################################################### +# X/Y Stepper Settings +##################################################################### + +## B Stepper - Left +## Connected to Motor_1-S1 +## Endstop connected to MIN1 +[stepper_x] +step_pin: PC14 +dir_pin: !PC13 +enable_pin: !PE6 +rotation_distance: 40 +microsteps: 32 +full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper +endstop_pin: PC15 +position_min: 0 +##-------------------------------------------------------------------- + +## Uncomment below for 250mm build +#position_endstop: 250 +#position_max: 250 + +## Uncomment for 300mm build +#position_endstop: 300 +#position_max: 300 + +## Uncomment for 350mm build +#position_endstop: 350 +#position_max: 350 + +##-------------------------------------------------------------------- +homing_speed: 25 #Max 100 +homing_retract_dist: 5 +homing_positive_dir: true + +## TMC2160 configuration +[tmc5160 stepper_x] +cs_pin: PD6 +interpolate: false +spi_software_miso_pin: PC7 +spi_software_mosi_pin: PC8 +spi_software_sclk_pin: PC6 +sense_resistor: 0.022 +run_current: 0.800 +stealthchop_threshold: 0 +## sensorless homing, plug in jumper on M2-DIAG +#diag1_pin: PC15 + +## A Stepper - Right +## Connected to Motor_2-S2 +## Endstop connected to MIN2 +[stepper_y] +step_pin: PE5 +dir_pin: !PE4 +enable_pin: !PE3 +rotation_distance: 40 +microsteps: 32 +full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper +endstop_pin: PF0 +position_min: 0 +##-------------------------------------------------------------------- + +## Uncomment for 250mm build +#position_endstop: 250 +#position_max: 250 + +## Uncomment for 300mm build +#position_endstop: 300 +#position_max: 300 + +## Uncomment for 350mm build +#position_endstop: 350 +#position_max: 350 + +##-------------------------------------------------------------------- +homing_speed: 25 #Max 100 +homing_retract_dist: 5 +homing_positive_dir: true + +## TMC2160 configuration +[tmc5160 stepper_y] +cs_pin: PD5 +interpolate: false +spi_software_miso_pin: PC7 +spi_software_mosi_pin: PC8 +spi_software_sclk_pin: PC6 +sense_resistor: 0.022 +run_current: 0.800 +stealthchop_threshold: 0 +## sensorless homing, plug in jumper on M2-DIAG +#diag1_pin: PF0 + +##################################################################### +# Z Stepper Settings +##################################################################### + +## Z0 Stepper - Front Left +## Connected to Motor_5-S5 +## Endstop connected to MIN3 +[stepper_z] +step_pin: PG9 +dir_pin: !PG10 +enable_pin: !PG13 +rotation_distance: 40 +gear_ratio: 80:16 +microsteps: 32 +endstop_pin: PF1 +## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0) +## (+) value = endstop above Z0, (-) value = endstop below +## Increasing position_endstop brings nozzle closer to the bed +## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config +position_endstop: -0.5 +##-------------------------------------------------------------------- + +## Uncomment below for 250mm build +#position_max: 210 + +## Uncomment below for 300mm build +#position_max: 260 + +## Uncomment below for 350mm build +#position_max: 310 + +##-------------------------------------------------------------------- +position_min: -5 +homing_speed: 8 +second_homing_speed: 3 +homing_retract_dist: 3 + +## TMC2160 configuration +[tmc5160 stepper_z] +cs_pin: PD2 +interpolate: false +spi_software_miso_pin: PC7 +spi_software_mosi_pin: PC8 +spi_software_sclk_pin: PC6 +sense_resistor: 0.075 +run_current: 0.800 +stealthchop_threshold: 0 + +## Z1 Stepper - Rear Left +## Connected to Motor_6-S6 +[stepper_z1] +step_pin: PG11 +dir_pin: PD7 +enable_pin: !PG12 +rotation_distance: 40 +gear_ratio: 80:16 +microsteps: 32 + +## TMC2160 configuration +[tmc5160 stepper_z1] +cs_pin: PA15 +interpolate: false +spi_software_miso_pin: PC7 +spi_software_mosi_pin: PC8 +spi_software_sclk_pin: PC6 +sense_resistor: 0.075 +run_current: 0.800 +stealthchop_threshold: 0 + +## Z2 Stepper - Rear Right +## Connected to Motor_7-S7 +[stepper_z2] +step_pin: PB4 +dir_pin: !PB3 +enable_pin: !PB5 +rotation_distance: 40 +gear_ratio: 80:16 +microsteps: 32 + +## TMC2160 configuration +[tmc5160 stepper_z2] +cs_pin: PA9 +interpolate: false +spi_software_miso_pin: PC7 +spi_software_mosi_pin: PC8 +spi_software_sclk_pin: PC6 +sense_resistor: 0.075 +run_current: 0.800 +stealthchop_threshold: 0 + +## Z3 Stepper - Front Right +## Connected to Motor_8-S8 +[stepper_z3] +step_pin: PG15 +dir_pin: PB6 +enable_pin: !PG14 +rotation_distance: 40 +gear_ratio: 80:16 +microsteps: 32 + +## TMC2160 configuration +[tmc5160 stepper_z3] +cs_pin: PA10 +interpolate: false +spi_software_miso_pin: PC7 +spi_software_mosi_pin: PC8 +spi_software_sclk_pin: PC6 +sense_resistor: 0.075 +run_current: 0.800 +stealthchop_threshold: 0 + + +##################################################################### +# Extruder +##################################################################### + +## Connected to MOTOR_3-S3 +## Heater - HE0 +## Thermistor - TH0 +[extruder] +step_pin: PE2 +dir_pin: PE1 +enable_pin: !PE0 +## Update value below when you perform extruder calibration +## If you ask for 100mm of filament, but in reality it is 98mm: +## rotation_distance = * / 100 +## 22.6789511 is a good starting point +rotation_distance: 22.6789511 #Bondtech 5mm Drive Gears +## Update Gear Ratio depending on your Extruder Type +## Use 50:10 for Stealthburner/Clockwork 2 +## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio) +## Use 80:20 for M4, M3.1 +gear_ratio: 50:10 +microsteps: 32 +full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree +nozzle_diameter: 0.400 +filament_diameter: 1.75 +heater_pin: PF6 +## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types. +## Use "Generic 3950" for NTC 100k 3950 thermistors +#sensor_type: +sensor_pin: PB1 +min_temp: 10 +max_temp: 270 +max_power: 1.0 +min_extrude_temp: 170 +control = pid +pid_kp = 26.213 +pid_ki = 1.304 +pid_kd = 131.721 +## Try to keep pressure_advance below 1.0 +#pressure_advance: 0.05 +## Default is 0.040, leave stock +#pressure_advance_smooth_time: 0.040 + +## E0 on MOTOR_3-S3 +## TMC2160 configuration +[tmc5160 extruder] +cs_pin: PD4 +interpolate: false +spi_software_miso_pin: PC7 +spi_software_mosi_pin: PC8 +spi_software_sclk_pin: PC6 +sense_resistor: 0.022 +run_current: 0.500 +stealthchop_threshold: 0 + +##################################################################### +# Bed Heater +##################################################################### + +## SSR Pin - HE1 +## Thermistor - THB +[heater_bed] +## Uncomment the following line if using the default SSR wiring from the docs site +#heater_pin: PF7 +## Other wiring guides may use BED_OUT to control the SSR. Uncomment the following line for those cases +#heater_pin: PF5 +## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common-thermistors for common thermistor types. +## Use "Generic 3950" for Keenovo heaters +#sensor_type: +sensor_pin: PB0 +## Adjust max_power so it doesn't exceed the SSR rating. The Omron G3NA-210B-DC5 SSR is rated at 4 amps without a heatsink. +## The formula is "4 / (Wattage_of_bed_heater / Mains_voltage) = max_power" +## If max_power is greater than 1.0, use 1.0 +max_power: 0.6 +min_temp: 0 +max_temp: 120 +control: pid +pid_kp: 58.437 +pid_ki: 2.347 +pid_kd: 363.769 + +##################################################################### +# Probe +##################################################################### + +## Inductive Probe - IND-DET +## This probe is not used for Z height, only Quad Gantry Leveling +[probe] + +#-------------------------------------------------------------------- + +## Select the probe port by type: +## For the IND-DET port. Will work without a Diode. Install jumper if prove is NC. Remove jumper if probe is NO. +#pin: ~!PD11 + +#-------------------------------------------------------------------- + +x_offset: 0 +y_offset: 25.0 +z_offset: 0 +speed: 10.0 +samples: 3 +samples_result: median +sample_retract_dist: 3.0 +samples_tolerance: 0.006 +samples_tolerance_retries: 3 + +##################################################################### +# Fan Control +##################################################################### + +## Print Cooling Fan - FAN0 +[fan] +pin: PA0 +kick_start_time: 0.5 +## Depending on your fan, you may need to increase this value +## if your fan will not start. Can change cycle_time (increase) +## if your fan is not able to slow down effectively +off_below: 0.10 + + +## Hotend Fan - FAN1 +[heater_fan hotend_fan] +pin: PA1 +max_power: 1.0 +kick_start_time: 0.5 +heater: extruder +heater_temp: 50.0 +## If you are experiencing back flow, you can reduce fan_speed +#fan_speed: 1.0 + +## Controller fan - FAN2 +[controller_fan controller_fan] +pin: PA2 +kick_start_time: 0.5 +heater: heater_bed + +## Exhaust fan - FAN3 +#[heater_fan exhaust_fan] +#pin: PA. +#max_power: 1.0 +#shutdown_speed: 0.0 +#kick_start_time: 5.0 +#heater: heater_bed +#heater_temp: 60 +#fan_speed: 1.0 + +##################################################################### +# LED Control +##################################################################### + +## Chamber Lighting - HE2 Connector (Optional) +#[output_pin caselight] +#pin: PF9 +#pwm:true +#shutdown_value: 0 +#value:1 +#cycle_time: 0.01 + +##################################################################### +# Homing and Gantry Adjustment Routines +##################################################################### + +[idle_timeout] +timeout: 1800 + +[safe_z_home] +## XY Location of the Z Endstop Switch +## Update -10,-10 to the XY coordinates of your endstop pin +## (such as 157,305) after going through Z Endstop Pin +## Location Definition step. +home_xy_position:-10,-10 +speed:100 +z_hop:10 + + +## Use QUAD_GANTRY_LEVEL to level a gantry. +## Min & Max gantry corners - measure from nozzle at MIN (0,0) and +## MAX (250, 250), (300,300), or (350,350) depending on your printer size +## to respective belt positions +[quad_gantry_level] + +#-------------------------------------------------------------------- +## Gantry Corners for 250mm Build +## Uncomment for 250mm build +#gantry_corners: +# -60,-10 +# 310, 320 +## Probe points +#points: +# 50,25 +# 50,175 +# 200,175 +# 200,25 + +## Gantry Corners for 300mm Build +## Uncomment for 300mm build +#gantry_corners: +# -60,-10 +# 360,370 +## Probe points +#points: +# 50,25 +# 50,225 +# 250,225 +# 250,25 + +## Gantry Corners for 350mm Build +## Uncomment for 350mm build +#gantry_corners: +# -60,-10 +# 410,420 +## Probe points +#points: +# 50,25 +# 50,275 +# 300,275 +# 300,25 + +#-------------------------------------------------------------------- +speed: 100 +horizontal_move_z: 10 +retries: 5 +retry_tolerance: 0.0075 +max_adjust: 10 + +######################################## +# EXP1 / EXP2 (display) pins +######################################## + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PG5, EXP1_2=PG4, + EXP1_3=PG3, EXP1_4=PG2, + EXP1_5=PD15, EXP1_6=PD14, + EXP1_7=PD13, EXP1_8=PD12, + EXP1_9=, EXP1_10=<5V>, + + # EXP2 header + EXP2_1=PE13, EXP2_2=PE12, + EXP2_3=PG8, EXP2_4=PE11, + EXP2_5=PG7, EXP2_6=PE14, + EXP2_7=PG6, EXP2_8=, + EXP2_9=, EXP2_10= + +##################################################################### +# Displays +##################################################################### + +## Uncomment the display that you have +#-------------------------------------------------------------------- + + +## RepRapDiscount 128x64 Full Graphic Smart Controller +#[display] +#lcd_type: st7920 +#cs_pin: EXP1_4 +#sclk_pin: EXP1_5 +#sid_pin: EXP1_3 +#menu_timeout: 40 +#encoder_pins: ^EXP2_5, ^EXP2_3 +#click_pin: ^!EXP1_2 + +#[output_pin beeper] +#pin: EXP1_1 + +#-------------------------------------------------------------------- + + +## mini12864 LCD Display +#[display] +#lcd_type: uc1701 +#cs_pin: EXP1_3 +#a0_pin: EXP1_4 +#rst_pin: EXP1_5 +#encoder_pins: ^EXP2_5, ^EXP2_3 +#click_pin: ^!EXP1_2 +#contrast: 63 +#spi_software_miso_pin: EXP2_1 +#spi_software_mosi_pin: EXP2_6 +#spi_software_sclk_pin: EXP2_2 + +## To control Neopixel RGB in mini12864 display +#[neopixel btt_mini12864] +#pin: EXP1_6 +#chain_count: 3 +#initial_RED: 0.1 +#initial_GREEN: 0.5 +#initial_BLUE: 0.0 +#color_order: RGB + +## Set RGB values on boot up for each Neopixel. +## Index 1 = display, Index 2 and 3 = Knob +#[delayed_gcode setdisplayneopixel] +#initial_duration: 1 +#gcode: +# SET_LED LED=btt_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0 +# SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 +# SET_LED LED=btt_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3 + +#-------------------------------------------------------------------- + + +##################################################################### +# Macros +##################################################################### +[gcode_macro PARK] +gcode: + {% set th = printer.toolhead %} + G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y//2} Z30 + +[gcode_macro G32] +gcode: + SAVE_GCODE_STATE NAME=STATE_G32 + G90 + G28 + QUAD_GANTRY_LEVEL + G28 + PARK + RESTORE_GCODE_STATE NAME=STATE_G32 + +[gcode_macro PRINT_START] +# Use PRINT_START for the slicer starting script - please customise for your slicer of choice +gcode: + G32 ; home all axes + G90 ; absolute positioning + G1 Z20 F3000 ; move nozzle away from bed + + +[gcode_macro PRINT_END] +# Use PRINT_END for the slicer ending script - please customise for your slicer of choice +gcode: + # safe anti-stringing move coords + {% set th = printer.toolhead %} + {% set x_safe = th.position.x + 20 * (1 if th.axis_maximum.x - th.position.x > 20 else -1) %} + {% set y_safe = th.position.y + 20 * (1 if th.axis_maximum.y - th.position.y > 20 else -1) %} + {% set z_safe = [th.position.z + 2, th.axis_maximum.z]|min %} + + SAVE_GCODE_STATE NAME=STATE_PRINT_END + + M400 ; wait for buffer to clear + G92 E0 ; zero the extruder + G1 E-5.0 F1800 ; retract filament + + TURN_OFF_HEATERS + + G90 ; absolute positioning + G0 X{x_safe} Y{y_safe} Z{z_safe} F20000 ; move nozzle to remove stringing + G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear + M107 ; turn off fan + + BED_MESH_CLEAR + + # The purpose of the SAVE_GCODE_STATE/RESTORE_GCODE_STATE + # command pair is to restore the printer's coordinate system + # and speed settings since the commands above change them. + # However, to prevent any accidental, unintentional toolhead + # moves when restoring the state, explicitly set MOVE=0. + RESTORE_GCODE_STATE NAME=STATE_PRINT_END MOVE=0 \ No newline at end of file