diff --git a/README.md b/README.md index e273951..7bf4470 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@ # 🚨 *One-Stop-Shop* Sovol SV06 Klipper Configuration -## This branch contains the Klipper configuration and firmware for the Sovol SV06 3D printer with the `BTT SKR-Mini-E3-V3.0` motherboard. +This branch contains the Klipper configuration and firmware for the **Sovol SV06** 3D printer with the **BTT SKR-Mini-E3-V3.0** motherboard. -## If you were looking for my OSS Klipper Configuration for the Sovol SV06 with *completely stock hardware*, please refer to the [master](https://github.com/bassamanator/Sovol-SV06-firmware/tree/master) branch. +If you were looking for my OSS Klipper Configuration for the **Sovol SV06** with *completely stock hardware*, please refer to the [master](https://github.com/bassamanator/Sovol-SV06-firmware/tree/master) branch. -## I am creating these files for my personal use and cannot be held responsible for what it might do to your printer. +If you wanted to use the One-Stop-Shop Klipper Configuration for a different printer, please switch to the [any-printer](https://github.com/bassamanator/Sovol-SV06-firmware/tree/any-printer) branch. -## ❗☠️ I do not own this board so everything found on this branch is COMPLETELY UNTESTED ☠️❗ -## ❗☠️ USE AT YOUR OWN RISK. YOU HAVE BEEN WARNED. ☠️❗ +I am creating these files for my personal use and cannot be held responsible for what it might do to your printer. Use at your own risk. + +This branch is **mostly untested**. Having said that, I'm confident that an advanced user will get this configuration up and running in under 3 minutes. ## An Important Note diff --git a/cfgs/misc-macros.cfg b/cfgs/misc-macros.cfg index 0d8cbfb..e9a3d16 100644 --- a/cfgs/misc-macros.cfg +++ b/cfgs/misc-macros.cfg @@ -74,40 +74,35 @@ gcode: TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within 1 degree) {% endif %} -[gcode_macro M109] -rename_existing: M99109 -gcode: - #Parameters - {% set s = params.S|float %} - - M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set hotend temp - {% if s != 0 %} - TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s} MAXIMUM={s+1} ; Wait for hotend temp (within 1 degree) - {% endif %} - -[gcode_macro M190] -rename_existing: M99190 -gcode: - #Parameters - {% set s = params.S|float %} - - M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set bed temp - {% if s != 0 %} - TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within 1 degree) - {% endif %} - [gcode_macro PURGE_LINE] -# https://github.com/JoeCat1207/V0.1-Purge-line-SuperSlicer/blob/main/Purgeline.txt -# https://github.com/VoronDesign/Voron-Switchwire/blob/200cdae033c59ef81f67c4235469da7ca66d53a1/Firmware/skr_mini_e3_v2_config.cfg gcode: {% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %} ADJUST_FILAMENT_SENSOR_STATUS ENABLE=1 - G0 Y0 X0 F4000 ; go to tongue of print bed - G1 Z0.4 F500.0 ; move bed to nozzle + + # 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 %} + {% set extrudeAmount = 26.6 %} + {% set movementLength = 100.0 %} + {% set movementSpeed = 15 * 60 %} + {% set xStart = 0.5 %} + {% set yStart = 0.5 %} + + # Set safe speeds + {% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %} + {% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %} + G92 E0.0 ; reset extruder + G90 ; Absolute positioning + G0 X{xStart} Y{yStart} F{maxVelocityAdjusted} ; move to purge position + G1 Z0.4 F500.0 ; move to purge height + M83 ; Relative extrusion mode G1 E{PRE_PURGE_PRIME_LENGTH} F500 ; pre-purge prime LENGTH SHOULD MATCH YOUR PRINT_END RETRACT - G1 Y140 E35.0 F1200.0 ; intro line 1 + G1 X{xStart + movementLength} E{extrudeAmount} F{movementSpeed} ; intro line 1 + #G1 E-.5 F2100 # Retract G92 E0.0 ; reset extruder + M82 ; Absolute extrusion mode G1 Z5.0 ; move nozzle to prevent scratch [gcode_macro CANCEL_PRINT] @@ -147,11 +142,18 @@ gcode: ADJUST_FILAMENT_SENSOR_STATUS ENABLE=0 CONDITIONAL_BEEP I=2 DUR=30 FREQ=8500 ; NOTE Comment out this line to stop the beeps at the end of a print {% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %} + M400 ; wait for buffer to clear G92 E0 ; zero the extruder G1 E-{PRE_PURGE_PRIME_LENGTH} F400 ; retract filament G91 ; relative positioning + # Set safe speeds + {% set zVelocity = printer.configfile.settings.printer.max_z_velocity|default(15)|int %} + {% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %} + {% set zVelocityAdjusted = (0.95 * zVelocity * 60)|int %} + {% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %} + # Get Boundaries {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %} {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %} @@ -177,8 +179,8 @@ gcode: {% set z_safe = max_z - printer.toolhead.position.z %} {% endif %} - G0 Z{z_safe} F2000 ; move nozzle up - G0 X{x_safe} Y{y_safe} F9000 ; move nozzle to remove stringing + G0 Z{z_safe} F{zVelocityAdjusted} ; move nozzle up + G0 X{x_safe} Y{y_safe} F{maxVelocityAdjusted} ; move nozzle to remove stringing TURN_OFF_HEATERS M107 ; turn off fan G90 ; absolute positioning diff --git a/misc/klipper-v0.11.0-148-g52f4e20c.bin b/misc/klipper-v0.11.0-148-g52f4e20c.bin deleted file mode 100755 index b0bf091..0000000 Binary files a/misc/klipper-v0.11.0-148-g52f4e20c.bin and /dev/null differ diff --git a/misc/marlin-SV06V2.0.0A_2.24.bin b/misc/marlin-SV06V2.0.0A_2.24.bin deleted file mode 100644 index fd450ef..0000000 Binary files a/misc/marlin-SV06V2.0.0A_2.24.bin and /dev/null differ diff --git a/printer.cfg b/printer.cfg deleted file mode 100644 index 7572239..0000000 --- a/printer.cfg +++ /dev/null @@ -1,229 +0,0 @@ -# This file contains pin mappings for the stock Sovol SV06. -# -# Find installation instructions at https://github.com/bassamanator/Sovol-SV06-firmware -# -# See https://www.klipper3d.org/Config_Reference.html for configuration reference. - -[include ./cfgs/misc-macros.cfg] -[include ./cfgs/PARKING.cfg] -[include ./cfgs/MECHANICAL_GANTRY_CALIBRATION.cfg] - -# NOTE Uncomment the ONE of the following lines if you're using an adxl345 -# [include ./cfgs/adxl-rp2040.cfg] -# [include ./cfgs/adxl-direct.cfg] - -[mcu] -# NOTE Obtain definition by "ls -l /dev/serial/by-id/" -serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 -restart_method: command - -[printer] -kinematics: cartesian -max_velocity: 200 -max_accel: 3000 -max_z_velocity: 15 -max_z_accel: 45 - -##################################################################### -# X/Y/Z Stepper Settings -##################################################################### - -[stepper_x] -step_pin: PC2 -dir_pin: !PB9 -enable_pin: !PC3 -microsteps: 64 -rotation_distance: 40 -endstop_pin: tmc2209_stepper_x:virtual_endstop -position_endstop: 0 -position_max: 223 # NOTE You can adjust this if you have more room -homing_speed: 40 -homing_retract_dist: 0 - -[tmc2209 stepper_x] -uart_pin: PC1 -run_current: 0.860 -stealthchop_threshold: 0 -interpolate: False -sense_resistor: 0.150 -uart_address: 3 -driver_SGTHRS: 81 -diag_pin: PA5 - -[stepper_y] -step_pin: PB8 -dir_pin: PB7 -enable_pin: !PC3 -microsteps: 64 -rotation_distance: 40 -endstop_pin: tmc2209_stepper_y:virtual_endstop -position_endstop: 0 -position_max: 223 # NOTE You can adjust this if you have more room -homing_speed: 40 -homing_retract_dist: 0 - -[tmc2209 stepper_y] -uart_pin: PC0 -run_current: 0.900 -stealthchop_threshold: 0 -interpolate: False -sense_resistor: 0.150 -uart_address: 3 -driver_SGTHRS: 81 -diag_pin: PA6 - -[stepper_z] -step_pin: PB6 -dir_pin: !PB5 -enable_pin: !PC3 -microsteps: 64 -rotation_distance: 4 -endstop_pin: probe:z_virtual_endstop -position_min: -4 -position_max: 258 # NOTE You can adjust this if you have more room -homing_speed: 5 - -[tmc2209 stepper_z] -uart_pin: PA15 -run_current: 1.000 -stealthchop_threshold: 0 -interpolate: False -sense_resistor: 0.150 -uart_address: 3 -diag_pin: PA7 - -##################################################################### -# Extruder -##################################################################### - -[extruder] -step_pin: PB4 -dir_pin: !PB3 -enable_pin: !PC3 -microsteps: 64 -rotation_distance: 4.65 # NOTE Calibrate e-steps and adjust https://www.klipper3d.org/Rotation_Distance.html -nozzle_diameter: 0.400 -filament_diameter: 1.750 -heater_pin: PA1 -sensor_type: EPCOS 100K B57560G104F -sensor_pin: PC5 -control: pid -pid_kd: 86.991 -pid_kp: 21.479 -pid_ki: 1.326 -min_temp: 0 -max_temp: 300 -max_extrude_only_distance: 150.0 - -[tmc2209 extruder] -uart_pin: PC14 -run_current: 0.550 -stealthchop_threshold: 0 -interpolate: False -sense_resistor: 0.150 -uart_address: 3 - -##################################################################### -# Bed Heater -##################################################################### - -[heater_bed] -heater_pin: PA2 -sensor_type: EPCOS 100K B57560G104F -sensor_pin: PC4 -control: pid -pid_kp: 64.440 -pid_ki: 0.773 -pid_kd: 1343.571 -min_temp: 0 -max_temp: 110 - -##################################################################### -# Probe Related -##################################################################### - -[probe] -pin: PB1 -x_offset: 27 -y_offset: -20 -z_offset: 0 -samples: 3 -samples_result: median -samples_tolerance: 0.01 -samples_tolerance_retries: 5 - -[safe_z_home] -home_xy_position: 84.50, 135 # NOTE The probe is at the center of the bed. -speed: 100.0 -z_hop: 10 -z_hop_speed: 15 - -[bed_mesh] -speed: 175 -mesh_min: 27, 5 -mesh_max: 222, 203 -probe_count: 5,5 -algorithm: bicubic -fade_start: 1 -fade_end: 10 -fade_target: 0 - -##################################################################### -# Fans -##################################################################### - -[fan] -pin: PA0 - -##################################################################### -# Misc -##################################################################### - -[display] -lcd_type: st7920 -cs_pin: PB12 -sclk_pin: PB13 -sid_pin: PB15 -encoder_pins: ^PB14, ^PB10 -click_pin: ^!PB2 - -[bed_screws] -screw1: 26.5, 31 -screw1_name: front left -screw2: 196.75, 31 -screw2_name: front right -screw3: 196.75, 201 -screw3_name: back right -screw4: 26.5, 201 -screw4_name: back left - -[screws_tilt_adjust] -screw1: 111.5, 116.5 -screw1_name: center -screw2: 26.5, 31 -screw2_name: front left -screw3: 196.75, 31 -screw3_name: front right -screw4: 196.75, 201 -screw4_name: back right -screw5: 26.5, 201 -screw5_name: back left -speed: 50 -horizontal_move_z: 10 -screw_thread: CCW-M4 - -[output_pin beeper] -pin: PC6 -value: 0 -shutdown_value: 0 -pwm: True -cycle_time: 0.0005 ; Default beeper tone in kHz. 1 / 0.0005 = 2000Hz (2kHz) - -# [filament_switch_sensor filament_sensor] -# switch_pin: !PA4 # "Pulled-high" -# pause_on_runout: True -# insert_gcode: -# M117 Insert Detected -# runout_gcode: -# M117 Runout Detected -# CONDITIONAL_BEEP i=3 dur=300 freq=400