Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # This file contains pin mappings for the LDO Kit using BigTreeTech Octopus V1 as the main controller.
- # To use this config, the firmware should be compiled for the STM32F446 with a "32KiB bootloader"
- # Enable "extra low-level configuration options" and select the "12MHz 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 Octopus with that SD card.
- # See docs/Config_Reference.md for a description of parameters.
- ## Voron Design VORON2 250/300/350mm BigTreeTech Octopus V1 TMC2209 UART config
- ## *** THINGS TO CHANGE/CHECK: ***
- ## MCU paths [mcu] section
- ## Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file
- ## Z Endstop Switch location [safe_z_home] section
- ## Homing end position [gcode_macro G32] section
- ## Z Endstop Switch offset for Z0 [stepper_z] section
- ## Probe points [quad_gantry_level] section
- ## Min & Max gantry corner postions [quad_gantry_level] section
- ## PID tune [extruder] and [heater_bed] sections
- ## Thermistor types [extruder] and [heater_bed] sections
- ## Probe pin [probe] section
- ## Fine tune E steps [extruder] section
- ####### Includes #######
- [include mainsail.cfg]
- #[include klicky-probe.cfg]
- [include neopixels.cfg]
- #[include auto-z-calibration.cfg]
- [include purge.cfg]
- [include macros.cfg]
- #[include input-shaper.cfg] Removed, now on canbus
- [include runout.cfg]
- [include ebb-sb-canbus.cfg]
- [include sensorless-homing.cfg]
- [force_move]
- enable_force_move: True
- [exclude_object]
- [mcu]
- ## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify
- ##--------------------------------------------------------------------
- serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_3E003A000650535556323420-if00
- restart_method: command
- ##--------------------------------------------------------------------
- [input_shaper]
- #shaper_freq_x: 54.6
- #shaper_type_x: mzv
- #shaper_freq_y: 35.8
- #shaper_type_y: mzv
- [printer]
- kinematics: corexy
- max_velocity: 500
- max_accel: 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 MOTOR0
- ## Endstop connected to DIAG0
- [stepper_x]
- step_pin:PF13
- dir_pin: PF12
- enable_pin: !PF14
- rotation_distance: 40
- microsteps: 32
- full_steps_per_rotation:400 #set to 200 for 1.8 degree stepper
- endstop_pin: tmc2209_stepper_x:virtual_endstop #originally PG6
- 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: 352
- position_max: 352
- ##--------------------------------------------------------------------
- homing_speed: 40 #Max 100
- homing_retract_dist: 0
- homing_positive_dir: true
- ## Make sure to update below for your relevant driver (2208 or 2209)
- [tmc2209 stepper_x]
- uart_pin: PC4
- interpolate: false
- run_current: 0.8 #original 0.8 max 1.2
- sense_resistor: 0.110
- stealthchop_threshold: 0
- diag_pin: ^PG6
- driver_SGTHRS: 133 #Max 255 - Highest: 154 min:123 calcs: 123+(154-123)/3
- ## A Stepper - Right
- ## Connected to MOTOR1
- ## Endstop connected to DIAG1
- [stepper_y]
- step_pin: PG0
- dir_pin: PG1
- enable_pin: !PF15
- rotation_distance: 40
- microsteps: 32
- full_steps_per_rotation:400 #set to 200 for 1.8 degree stepper
- endstop_pin: tmc2209_stepper_y:virtual_endstop #Originally PG9
- 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: 357
- position_max: 357
- ##--------------------------------------------------------------------
- homing_speed: 40 #Max 100
- homing_retract_dist: 0
- homing_positive_dir: true
- ## Make sure to update below for your relevant driver (2208 or 2209)
- [tmc2209 stepper_y]
- uart_pin: PD11
- interpolate: false
- run_current: 0.8 #original 0.8 - max 1.2
- sense_resistor: 0.110
- stealthchop_threshold: 0
- diag_pin: ^PG9
- driver_SGTHRS: 126 #Max 255 - Highest: 147 min:116 calcs: 116+(147-116)/3
- #####################################################################
- # Z Stepper Settings
- #####################################################################
- ## Z0 Stepper - Front Left
- ## Connected to MOTOR2_1
- ## Endstop connected to DIAG_2
- [stepper_z]
- step_pin: PF11
- dir_pin: PG3
- enable_pin: !PG5
- rotation_distance: 40
- gear_ratio: 80:16
- microsteps: 32
- #endstop_pin: PG10
- endstop_pin: probe:z_virtual_endstop
- ## 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: 5
- homing_retract_dist: 3
- ## Make sure to update below for your relevant driver (2208 or 2209)
- [tmc2209 stepper_z]
- uart_pin: PC6
- interpolate: false
- run_current: 0.8 #original 0.8
- sense_resistor: 0.110
- stealthchop_threshold: 999999
- ## Z1 Stepper - Rear Left
- ## Connected to MOTOR3
- [stepper_z1]
- step_pin: PG4
- dir_pin: !PC1
- enable_pin: !PA0
- rotation_distance: 40
- gear_ratio: 80:16
- microsteps: 32
- ## Make sure to update below for your relevant driver (2208 or 2209)
- [tmc2209 stepper_z1]
- uart_pin: PC7
- interpolate: false
- run_current: 0.8 #original 0.8
- sense_resistor: 0.110
- stealthchop_threshold: 999999
- ## Z2 Stepper - Rear Right
- ## Connected to MOTOR4
- [stepper_z2]
- step_pin: PF9
- dir_pin: PF10
- enable_pin: !PG2
- rotation_distance: 40
- gear_ratio: 80:16
- microsteps: 32
- ## Make sure to update below for your relevant driver (2208 or 2209)
- [tmc2209 stepper_z2]
- uart_pin: PF2
- interpolate: false
- run_current: 0.8 # original 0.8
- sense_resistor: 0.110
- stealthchop_threshold: 999999
- ## Z3 Stepper - Front Right
- ## Connected to MOTOR5
- [stepper_z3]
- step_pin: PC13
- dir_pin: !PF0
- enable_pin: !PF1
- rotation_distance: 40
- gear_ratio: 80:16
- microsteps: 32
- ## Make sure to update below for your relevant driver (2208 or 2209)
- [tmc2209 stepper_z3]
- uart_pin: PE4
- interpolate: false
- run_current: 0.8 #original 0.8
- sense_resistor: 0.110
- stealthchop_threshold: 999999
- #####################################################################
- # Extruder - removed now on canbus
- #####################################################################
- ## Connected to MOTOR_6
- ## Heater - HE0
- ## Thermistor - T0
- #[extruder]
- #step_pin: PE2
- #dir_pin: !PE3
- #enable_pin: !PD4
- ## Update value below when you perform extruder calibration
- ## If you ask for 100mm of filament, but in reality it is 98mm:
- ## rotation_distance = <previous_rotation_distance> * <actual_extrude_distance> / 100
- ## 22.6789511 is a good starting point
- #rotation_distance: 22.452161589 #Bondtech 5mm Drive Gears, default: 22.6789511 , value without hotend: 22.905740611
- ## Update Gear Ratio depending on your Extruder Type
- ## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio)
- ## Use 80:20 for M4, M3.1
- #gear_ratio: 50:10 #BMG Gear Ratio
- #microsteps: 16
- #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: PA2
- ## Validate the following thermistor type to make sure it is correct
- ## See https://www.klipper3d.org/Config_Reference.html#common-thermistors for additional options
- #sensor_type: ATC Semitec 104NT-4-R025H42G
- #sensor_pin: PF4
- #min_temp: 5
- #max_temp: 300
- #max_power: 1.0
- #min_extrude_temp: 10
- #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.055
- ## Default is 0.040, leave stock
- #pressure_advance_smooth_time: 0.040
- ## E0 on MOTOR6
- ## Make sure to update below for your relevant driver (2208 or 2209)
- #[tmc2209 extruder]
- #uart_pin: PE1
- #interpolate: false
- #run_current: 0.5 #original 0.5 - max 0.7
- #sense_resistor: 0.110
- #stealthchop_threshold: 0
- #####################################################################
- # Bed Heater
- #####################################################################
- [heater_bed]
- ## SSR Pin - HE1
- ## Thermistor - TB
- heater_pin: PA1
- ## Validate the following thermistor type to make sure it is correct
- ## Keenovo branded bed heaters should use Generic 3950
- ## LDO branded bed heaters will have the sensor type labelled on the heater
- ## See https://www.klipper3d.org/Config_Reference.html#common-thermistors for additional options
- sensor_type: Generic 3950
- sensor_pin: PF3
- ## Adjust Max Power so your heater doesn't warp your bed. Rule of thumb is 0.4 watts / cm^2 .
- max_power: 0.6
- min_temp: 0
- max_temp: 120
- #control: pid
- #pid_kp: 58.437
- #pid_ki: 2.347
- #pid_kd: 363.769
- pwm_cycle_time: 0.0166
- #####################################################################
- # Probe TAP
- #####################################################################
- [probe]
- pin: can0:PB5
- x_offset:0
- y_offset:0
- #z_offset:0
- speed:3.0
- lift_speed: 10
- samples: 5
- samples_result: median
- samples_tolerance: 0.006
- samples_tolerance_retries: 4
- activate_gcode:
- {% set PROBE_TEMP = 150 %}
- {% set MAX_TEMP = PROBE_TEMP + 5 %}
- {% set ACTUAL_TEMP = printer.extruder.temperature %}
- {% set TARGET_TEMP = printer.extruder.target %}
- {% if TARGET_TEMP > PROBE_TEMP %}
- { action_respond_info('Extruder temperature target of %.1fC is too high, lowering to %.1fC' % (TARGET_TEMP, PROBE_TEMP)) }
- M109 S{ PROBE_TEMP }
- {% else %}
- # Temperature target is already low enough, but nozzle may still be too hot.
- {% if ACTUAL_TEMP > MAX_TEMP %}
- { action_respond_info('Extruder temperature %.1fC is still too high, waiting until below %.1fC' % (ACTUAL_TEMP, MAX_TEMP)) }
- TEMPERATURE_WAIT SENSOR=extruder MAXIMUM={ MAX_TEMP }
- {% endif %}
- {% endif %}
- #[settling_probe]
- #settling_sample:
- # Globally enable the throw-away settling sample. Default is 'False'.
- # Setting this to 'True' will enable the throw-away sample for all
- # commands/operations that perform Z probing (QGL, Z tilt, Bed Mesh,
- # Screw Tilt, etc.)
- #[probe]
- ## Inductive Probe - DIAG7
- ## This probe is not used for Z height, only Quad Gantry Leveling
- #pin: PG15
- #x_offset: 0
- #y_offset: 25.0
- #z_offset: 0
- #speed: 10.0
- #samples: 5
- #samples_result: median
- #sample_retract_dist: 3.0
- #samples_tolerance: 0.0075
- #samples_tolerance_retries: 6
- #####################################################################
- # Fan Control
- #####################################################################
- #[fan]
- ## Print Cooling Fan - CNC_FAN0
- #pin: PA8
- #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
- #[heater_fan hotend_fan]
- ## Hotend Fan - CNC_FAN1
- #pin: PE5
- #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 controller_fan]
- ## Controller fan - CNC_FAN2
- pin: PD12
- kick_start_time: 0.5
- heater: heater_bed
- fan_speed: 1.0
- [controller_fan mcudrivers_fan]
- ## Controller fan - CNC_FAN2
- pin: PD14
- kick_start_time: 0.5
- heater: heater_bed
- fan_speed: 1.0
- [heater_fan exhaust_fan]
- ## Exhaust fan - CNC_FAN3
- pin: PD13
- max_power: 1.0
- shutdown_speed: 0.0
- kick_start_time: 5.0
- heater: heater_bed
- heater_temp: 60
- fan_speed: 1.0
- [output_pin caselight]
- ## Chamber Lighting - CNC_FAN5
- pin: PD15
- pwm:true
- shutdown_value: 0
- value:0
- cycle_time: 0.01
- #####################################################################
- # Additional Sensors
- #####################################################################
- [thermistor CMFB103F3950FANT]
- temperature1: 0.0
- resistance1: 32116.0
- temperature2: 40.0
- resistance2: 5309.0
- temperature3: 80.0
- resistance3: 1228.0
- [temperature_sensor chamber_temp]
- ## Chamber Temperature - T1
- sensor_type: ATC Semitec 104NT-4-R025H42G
- sensor_pin: PF5
- min_temp: 0
- max_temp: 70
- gcode_id: chamber_th
- [temperature_sensor raspberry_pi]
- sensor_type: temperature_host
- min_temp: 10
- max_temp: 90
- [temperature_sensor mcu_temp]
- sensor_type: temperature_mcu
- min_temp: 0
- max_temp: 90
- [temperature_sensor can0]
- sensor_type: temperature_mcu
- sensor_mcu: can0
- min_temp: 0
- max_temp: 90
- #####################################################################
- # Homing and Gantry Adjustment Routines
- #####################################################################
- [idle_timeout]
- timeout: 900
- #[safe_z_home] #################Commented because sensorless homing
- ## 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:175,175
- #speed:100
- #z_hop:10
- #z_hop_speed:10
- [quad_gantry_level]
- ## 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
- #--------------------------------------------------------------------
- ## 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
- #####################################################################
- # Bed Mesh (from https://docs.vorondesign.com/tuning/secondary_printer_tuning.html)
- #####################################################################
- [bed_mesh]
- speed: 300
- horizontal_move_z: 10
- mesh_min: 30, 30
- mesh_max: 320,320
- fade_start: 0.6
- fade_end: 10.0
- probe_count: 9,9
- algorithm: bicubic
- #zero_reference_position: #new version of deprecated #relative_reference_index: 40
- ########################################
- # EXP1 / EXP2 (display) pins
- ########################################
- [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=<5V>
- #####################################################################
- # Displays
- #####################################################################
- [display]
- # mini12864 LCD 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
- [neopixel btt_mini12864]
- # To control Neopixel RGB in mini12864 display
- pin: EXP1_6
- chain_count: 3
- initial_RED: 0.0
- initial_GREEN: 1.0
- 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=0 GREEN=1 BLUE=0 INDEX=1 TRANSMIT=0
- SET_LED LED=btt_mini12864 RED=0 GREEN=1 BLUE=0 INDEX=2 TRANSMIT=0
- SET_LED LED=btt_mini12864 RED=0 GREEN=1 BLUE=0 INDEX=3
- #--------------------------------------------------------------------
- #####################################################################
- # Macros
- #####################################################################
- #[gcode_macro G32] ;removed for custom g32
- #gcode:
- # G28
- # QUAD_GANTRY_LEVEL
- # G28
- # ## Uncomment for for your size printer:
- # #--------------------------------------------------------------------
- # ## Uncomment for 250mm build
- # #G0 X125 Y125 Z30 F3600
- #
- # ## Uncomment for 300 build
- # #G0 X150 Y150 Z30 F3600
- #
- # ## Uncomment for 350mm build
- # G0 X175 Y175 Z30 F3600
- # #--------------------------------------------------------------------
- #[gcode_macro PRINT_START]; removed for custom print start
- # Use PRINT_START for the slicer starting script - please customise for your slicer of choice
- #gcode:
- # G32 ; home all axes
- # 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
- SET_IDLE_TIMEOUT TIMEOUT=600
- SET_HEATER_TEMPERATURE HEATER=extruder TARGET=160 ; set extruder temp to 160 for cleaning after print
- 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
- M109 S160
- CLEAN_NOZZLE
- G0 X{th.axis_maximum.x//2} Y{th.axis_maximum.y - 2} F3600 ; park nozzle at rear
- TURN_OFF_HEATERS
- SET_CASELIGHT_OFF
- BED_MESH_CLEAR
- G4 P120000
- RESTORE_GCODE_STATE NAME=STATE_PRINT_END
- SAVE_IF_SET ; SAVE_CONFIG if a mesh was probed in START_PRINT
- #*# <---------------------- SAVE_CONFIG ---------------------->
- #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
- #*#
- #*# [extruder]
- #*# control = pid
- #*# pid_kp = 24.671
- #*# pid_ki = 2.570
- #*# pid_kd = 59.211
- #*#
- #*# [heater_bed]
- #*# control = pid
- #*# pid_kp = 40.439
- #*# pid_ki = 1.335
- #*# pid_kd = 306.322
- #*#
- #*# [probe]
- #*# z_offset = -0.895
- #*#
- #*# [input_shaper]
- #*# shaper_type_x = zv
- #*# shaper_freq_x = 48.6
- #*# shaper_type_y = mzv
- #*# shaper_freq_y = 34.8
- #*#
- #*# [bed_mesh default]
- #*# version = 1
- #*# points =
- #*# 0.018750, 0.035000, 0.057500, 0.041250, 0.035000, 0.026250, 0.047500, 0.032500, 0.041250
- #*# 0.023750, 0.033750, 0.042500, 0.048750, 0.037500, 0.042500, 0.047500, 0.013750, 0.025000
- #*# 0.022500, 0.041250, 0.046250, 0.032500, 0.007500, 0.035000, 0.008750, 0.005000, -0.012500
- #*# 0.027500, 0.040000, 0.043750, 0.017500, 0.043750, 0.028750, 0.001250, 0.018750, 0.005000
- #*# 0.013750, 0.021250, 0.042500, -0.001250, -0.001250, -0.015000, -0.007500, -0.002500, -0.010000
- #*# 0.018750, 0.038750, 0.026250, 0.023750, 0.038750, -0.018750, -0.021250, 0.005000, -0.016250
- #*# -0.006250, 0.027500, 0.011250, 0.016250, 0.020000, -0.006250, -0.027500, -0.045000, -0.027500
- #*# 0.031250, 0.045000, 0.001250, 0.006250, -0.010000, 0.008750, -0.015000, -0.030000, -0.025000
- #*# 0.013750, 0.037500, 0.058750, 0.027500, 0.017500, 0.035000, 0.012500, -0.003750, -0.006250
- #*# x_count = 9
- #*# y_count = 9
- #*# mesh_x_pps = 2
- #*# mesh_y_pps = 2
- #*# algo = bicubic
- #*# tension = 0.2
- #*# min_x = 30.0
- #*# max_x = 320.0
- #*# min_y = 30.0
- #*# max_y = 320.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement