mirror of
https://github.com/bassamanator/Sovol-SV06-firmware.git
synced 2025-11-08 21:41:15 +00:00
Getting skr-e3-v3 inline with master.
This commit is contained in:
11
README.md
11
README.md
@@ -1,13 +1,14 @@
|
|||||||
# 🚨 *One-Stop-Shop* Sovol SV06 Klipper Configuration
|
# 🚨 *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 ☠️❗
|
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.
|
||||||
## ❗☠️ USE AT YOUR OWN RISK. YOU HAVE BEEN WARNED. ☠️❗
|
|
||||||
|
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
|
## An Important Note
|
||||||
|
|
||||||
|
|||||||
@@ -74,40 +74,35 @@ gcode:
|
|||||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within 1 degree)
|
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within 1 degree)
|
||||||
{% endif %}
|
{% 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]
|
[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:
|
gcode:
|
||||||
{% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %}
|
{% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %}
|
||||||
ADJUST_FILAMENT_SENSOR_STATUS ENABLE=1
|
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
|
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 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
|
G92 E0.0 ; reset extruder
|
||||||
|
M82 ; Absolute extrusion mode
|
||||||
G1 Z5.0 ; move nozzle to prevent scratch
|
G1 Z5.0 ; move nozzle to prevent scratch
|
||||||
|
|
||||||
[gcode_macro CANCEL_PRINT]
|
[gcode_macro CANCEL_PRINT]
|
||||||
@@ -147,11 +142,18 @@ gcode:
|
|||||||
ADJUST_FILAMENT_SENSOR_STATUS ENABLE=0
|
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
|
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 %}
|
{% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %}
|
||||||
|
|
||||||
M400 ; wait for buffer to clear
|
M400 ; wait for buffer to clear
|
||||||
G92 E0 ; zero the extruder
|
G92 E0 ; zero the extruder
|
||||||
G1 E-{PRE_PURGE_PRIME_LENGTH} F400 ; retract filament
|
G1 E-{PRE_PURGE_PRIME_LENGTH} F400 ; retract filament
|
||||||
G91 ; relative positioning
|
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
|
# Get Boundaries
|
||||||
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
|
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
|
||||||
{% set max_y = printer.configfile.config["stepper_y"]["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 %}
|
{% set z_safe = max_z - printer.toolhead.position.z %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
G0 Z{z_safe} F2000 ; move nozzle up
|
G0 Z{z_safe} F{zVelocityAdjusted} ; move nozzle up
|
||||||
G0 X{x_safe} Y{y_safe} F9000 ; move nozzle to remove stringing
|
G0 X{x_safe} Y{y_safe} F{maxVelocityAdjusted} ; move nozzle to remove stringing
|
||||||
TURN_OFF_HEATERS
|
TURN_OFF_HEATERS
|
||||||
M107 ; turn off fan
|
M107 ; turn off fan
|
||||||
G90 ; absolute positioning
|
G90 ; absolute positioning
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
229
printer.cfg
229
printer.cfg
@@ -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
|
|
||||||
Reference in New Issue
Block a user