diff --git a/Firmware/voron-trident-spider.cfg b/Firmware/voron-trident-spider.cfg new file mode 100644 index 0000000..c70f0f9 --- /dev/null +++ b/Firmware/voron-trident-spider.cfg @@ -0,0 +1,576 @@ +## Voron Design VORON trident on Spider 250/300mm 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 +## PID tune [extruder] and [heater_bed] sections +## Fine tune E steps [extruder] section + +[mcu] +## Uncomment below if you're using the Raspberry uart0 to communicate with Spider +#restart_method: command + +## You need to select 'Communication interface' to USB in 'make menuconfig' +## when you compile Klipper for Spider +## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify +##-------------------------------------------------------------------- +serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_230032000851363131363530-if00 +## If you want to use the Raspberry uart0 to communicate with Spider, +## you need to select 'Communication interface' to 'Serial (on USART1 PA10/PA9)' +## in 'make menuconfig' when you compile klipper and set the serial as below +##-------------------------------------------------------------------- +#serial: /dev/ttyAMA0 +##-------------------------------------------------------------------- + +[printer] +kinematics: corexy +max_velocity: 300 +max_accel: 4000 #Max 4000 +max_z_velocity: 15 +max_z_accel: 50 +square_corner_velocity: 5.0 + +##################################################################### +# X/Y Stepper Settings +##################################################################### + +[stepper_x] +## Connected to X-MOT (B Motor) +## B Stepper - Left +## Endstop connected to X- +step_pin: PE11 +dir_pin: !PE10 +enable_pin: !PE9 +rotation_distance: 40 +microsteps: 16 +full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper +endstop_pin: ^PB14 +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 + +## Make sure to update below for your relevant driver (2208 or 2209) +[tmc2209 stepper_x] +uart_pin: PE7 +interpolate: True +run_current: 0.9 +hold_current: 0.7 +sense_resistor: 0.110 +stealthchop_threshold: 0 + +[stepper_y] +## Connected to Y-MOT (A Motor) +## A Stepper - Right +## Endstop connected to Y- +step_pin: PD8 +dir_pin: !PB12 +enable_pin: !PD9 +rotation_distance: 40 +microsteps: 16 +full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper +endstop_pin: ^PB13 +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 + +## Make sure to update below for your relevant driver (2208 or 2209) +[tmc2209 stepper_y] +uart_pin: PE15 +interpolate: True +run_current: 0.9 +hold_current: 0.7 +sense_resistor: 0.110 +stealthchop_threshold: 0 + + + +##################################################################### +# Z Stepper Settings +##################################################################### + +## Z0 Stepper - Left Z Motor +## Connected to E1-MOT +## Endstop connected to Z- +[stepper_z] +step_pin: PE6 +dir_pin: PC13 +enable_pin: !PE5 + +# Rotation Distance for TR8x8 = 8, TR8x4 = 4, TR8x2 = 2 +rotation_distance: 8 +microsteps: 16 +full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree + +endstop_pin: ^PA0 +## 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 +##-------------------------------------------------------------------- + +## All builds use same Max Z +position_max: 250 +position_min: -2.5 + +##-------------------------------------------------------------------- +homing_speed: 8.0 # Leadscrews are slower than 2.4, 10 is a recommended max. +second_homing_speed: 3 +homing_retract_dist: 3 + +## Make sure to update below for your relevant driver (2208 or 2209) +[tmc2209 stepper_z] +uart_pin: PC14 +interpolate: true +run_current: 0.7 +hold_current: 0.5 +sense_resistor: 0.110 +stealthchop_threshold: 0 + + + +## Z1 Stepper - Rear Z Motor +## Connected to E2-MOT +[stepper_z1] +step_pin: PE2 +dir_pin: !PE4 +enable_pin: !PE3 +## Remember to mirror these changes in stepper_z and stepper_z2! (there are three motors) +rotation_distance: 8 +microsteps: 16 +full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree + +## Make sure to update below for your relevant driver (2208 or 2209) +[tmc2209 stepper_z1] +uart_pin: PC15 +interpolate: true +run_current: 0.7 +hold_current: 0.5 +sense_resistor: 0.110 +stealthchop_threshold: 0 + + + +## Z2 Stepper - Right Rear Z Motor +## Connected to E3-MOT +[stepper_z2] +step_pin: PD12 +dir_pin: PC4 +enable_pin: !PE8 + +## Remember to mirror these changes in stepper_z and stepper_z1! (there are three motors) +rotation_distance: 8 +microsteps: 16 +full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree + +[tmc2209 stepper_z2] +uart_pin: PA15 +interpolate: true +run_current: 0.7 +hold_current: 0.5 +sense_resistor: 0.110 +stealthchop_threshold: 0 + + + + + +##################################################################### +# Extruder +##################################################################### + +## In E0-MOT Position +[extruder] +step_pin: PD5 +dir_pin: !PD6 +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 = * / 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:17 for Afterburner/Clockwork (BMG Gear Ratio) +## Use 80:20 for M4, M3.1 +gear_ratio: 50:17 #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 +## In E0 OUT Position +heater_pin: PB15 +## Validate the following thermistor type to make sure it is correct +sensor_type: ATC Semitec 104GT-2 +sensor_pin: PC0 # TE0 Position +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 + +## In E0-MOT Position +## Make sure to update below for your relevant driver (2208 or 2209) +[tmc2209 extruder] +uart_pin: PD7 +interpolate: false +run_current: 0.5 +hold_current: 0.2 +sense_resistor: 0.110 +stealthchop_threshold: 0 + +##################################################################### +# Bed Heater +##################################################################### + +[heater_bed] +## SSR Pin - In BED OUT position +heater_pin: PB4 +sensor_type: NTC 100K beta 3950 +sensor_pin: PC3 # TB Position +## Adjust Max Power so your heater doesn't warp your bed +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 +##################################################################### + +[probe] +## Inductive Probe - If you use this section , please comment the [bltouch] section +## This probe is not used for Z height, only Quad Gantry Leveling +## In Z+ position +## If your probe is NC instead of NO, add change pin to ^PA3 +pin: ^!PA3 +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 +##################################################################### + +[heater_fan hotend_fan] +## Hotend Fan - FAN0 Connector +pin: PB0 +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 + +[fan] +## Print Cooling Fan - FAN1 Connector +pin: PB1 +max_power: 0.4 +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 controller_fan] +## Controller fan - FAN2 Connector +pin: PB2 +kick_start_time: 0.5 +heater: heater_bed +heater_temp: 45.0 + +#[heater_fan exhaust_fan] +## Exhaust fan - In E2 OUT Positon +#pin: PB3 +#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 +##################################################################### + +#[output_pin caselight ] +## Chamber Lighting - In 5V-RGB Position +#pin: PD3 +#pwm: true +#shutdown_value: 0 +#value:100 +#cycle_time: 0.01 + +##################################################################### +# Homing and Gantry Adjustment Routines +##################################################################### + +[idle_timeout] +timeout: 1800 + + +[homing_override] +axes: z +set_position_z: 0 +gcode: + G90 + G0 Z5 F600 + G28 X Y + ## XY Location of the Z Endstop Switch + ## Update X0 and Y0 to your values (such as X157, Y305) after going through + ## Z Endstop Pin Location Definition step. + G0 X-10 Y-10 F3600 + + G28 Z + G0 Z10 F1800 + + + ## Uncomment for for your size printer: + ## Rough measurement is the middle of your bed. +#-------------------------------------------------------------------- + ## Uncomment for 250mm build + #G0 X125 Y125 Z30 F3600 + + ## Uncomment for 300 build + #G0 X150 Y150 Z30 F3600 + + ## Uncomment for 350 build + #G0 X175 Y175 Z30 F3600 +#-------------------------------------------------------------------- + + +#################################################################### +# Displays +##################################################################### + +#-------------------------------------------------------------------- + +[display] +# mini12864 LCD Display +lcd_type: uc1701 +cs_pin: PC11 +a0_pin: PD2 +rst_pin: PC10 +encoder_pins: ^PC6,^PC7 +click_pin: ^!PA8 +contrast: 63 +#spi_bus: spi1 +spi_software_mosi_pin: PA7 +spi_software_miso_pin: PA6 +spi_software_sclk_pin: PA5 + +[neopixel fysetc_mini12864] +# To control Neopixel RGB in mini12864 display +pin: PC12 +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=fysetc_mini12864 RED=1 GREEN=1 BLUE=1 INDEX=1 TRANSMIT=0 + SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 + SET_LED LED=fysetc_mini12864 RED=1 GREEN=0 BLUE=0 INDEX=3 + +#-------------------------------------------------------------------- + + +##################################################################### +# Macros +##################################################################### +[z_tilt] +## Use Z_TILT_ADJUST to level the bed . +## z_positions: Location of toolhead + +##-------------------------------------------------------------------- +## Uncomment below for 250mm build +#z_positions: +# -46, 20 +# 125, 313 +# 296, 20 +#points: +# 30, 5 +# 125, 195 +# 220, 5 + +## Uncomment below for 300mm build +#z_positions: +# -46, 20 +# 150, 338 +# 346, 20 +#points: +# 30, 5 +# 150, 245 +# 270, 5 + +## Uncomment below for 350mm build +#z_positions: +# -46, 20 +# 175, 363 +# 396, 20 +#points: +# 30, 5 +# 175, 295 +# 320, 5 + +speed: 200 +horizontal_move_z: 10 +retries: 5 +retry_tolerance: 0.0075 + + + +[bed_mesh] +speed: 200 +horizontal_move_z: 5 +##-------------------------------------------------------------------- +## Uncomment below for 250mm build +#mesh_min: 40, 40 +#mesh_max: 210,210 + +## Uncomment for 300mm build +#mesh_min: 40, 40 +#mesh_max: 260,260 +##-------------------------------------------------------------------- +fade_start: 0.6 +fade_end: 10.0 +probe_count: 5,5 +algorithm: bicubic +relative_reference_index: 12 + +[gcode_macro PRINT_START] +# Use PRINT_START for the slicer starting script - PLEASE CUSTOMISE THE SCRIPT +gcode: + M117 Homing... ; display message + G28 Y0 X0 Z0 + Z_TILT_ADJUST + BED_MESH_CALIBRATE + G28 Y0 X0 Z0 + + #Purge Line Gcode + G92 E0; + G90 + G0 X5 Y5 F6000 + G0 Z0.4 + G91 + G1 X120 E30 F1200; + G1 Y1 + G1 X-120 E30 F1200; + G92 E0; + G90 + + G1 Z15.0 F600 ;move the platform down 15mm + G1 X125 Y125 F3000 + G92 E0 ;zero the extruded length again + G1 F9000 + M117 Printing... + +[gcode_macro PRINT_END] +# Use PRINT_END for the slicer ending script +gcode: + # Get Boundaries + {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} + {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} + {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %} + + # Check end position to determine safe directions to move + {% if printer.toolhead.position.x < (max_x - 20) %} + {% set x_safe = 20.0 %} + {% else %} + {% set x_safe = -20.0 %} + {% endif %} + + {% if printer.toolhead.position.y < (max_y - 20) %} + {% set y_safe = 20.0 %} + {% else %} + {% set y_safe = -20.0 %} + {% endif %} + + {% if printer.toolhead.position.z < (max_z - 2) %} + {% set z_safe = 2.0 %} + {% else %} + {% set z_safe = max_z - printer.toolhead.position.z %} + {% endif %} + + # Commence PRINT_END + M400 ; wait for buffer to clear + G92 E0 ; zero the extruder + G1 E-4.0 F3600 ; retract + G91 ; relative positioning + G0 Z{z_safe} F3600 ; move nozzle up + G0 X{x_safe} Y{y_safe} F20000 ; move nozzle to remove stringing + + M104 S0 ; turn off hotend + M140 S0 ; turn off bed + M106 S0 ; turn off fan + G90 ; absolute positioning + G0 X{max_x / 2} Y{max_y} F3600 ; park nozzle at rear + M117 Finished! + + +## Thermistor Types +## "EPCOS 100K B57560G104F" +## "ATC Semitec 104GT-2" +## "NTC 100K beta 3950" +## "Honeywell 100K 135-104LAG-J01" +## "NTC 100K MGB18-104F39050L32" (Keenovo Heater Pad) +## "AD595" +## "PT100 INA826" +