Merge branch 'master' into sv06-plus

This commit is contained in:
Bassam Husain
2023-07-01 01:28:54 -04:00
5 changed files with 95 additions and 63 deletions

47
.vscode/settings.json vendored
View File

@@ -6,29 +6,30 @@
"spellright.language": ["en-GB-10-1."],
"spellright.documentTypes": ["markdown", "plaintext"],
"cSpell.words": [
"ADXL",
"blanchas",
"cfgs",
"Fluidd",
"Fluiddpi",
"gcode",
"githubstar",
"hotend",
"KIAUH",
"Klipper",
"Klipperized",
"lrwxrwxrwx",
"moonraker",
"octahedroflake",
"PARKBED",
"PARKCENTER",
"PARKFRONT",
"PARKFRONTLOW",
"PARKREAR",
"Prusa",
"runout",
"Sovol"
],
"ADXL",
"blanchas",
"cfgs",
"Fluidd",
"Fluiddpi",
"gcode",
"githubstar",
"hotend",
"KIAUH",
"Klipper",
"Klipperized",
"lrwxrwxrwx",
"moonraker",
"octahedroflake",
"PARKBED",
"PARKCENTER",
"PARKFRONT",
"PARKFRONTLOW",
"PARKREAR",
"pico",
"Prusa",
"runout",
"Sovol"
],
"[markdown]": {
"editor.formatOnSave": false
}

View File

@@ -18,10 +18,10 @@ I am creating these files for my personal use and cannot be held responsible for
- [Features](#features)
- [Stay Up-to-Date](#stay-up-to-date)
- [Preface](#preface)
- [Installation Steps](#installation-steps)
- [Before You Begin](#before-you-begin)
- [Before You Begin](#before-you-begin)
- [Klipper Installation](#klipper-installation)
- [Flash Firmware](#flash-firmware)
- [Download Klipper Configuration](#download-klipper-configuration)
- [Download OSS Klipper Configuration](#download-oss-klipper-configuration)
- [Initial Steps](#initial-steps)
1. [Adjust Configuration with MCU Path](#adjust-configuration-with-mcu-path)
2. [Configure Your Printer](#configure-your-printer)
@@ -57,9 +57,7 @@ Watch for releases and updates.
Although I've made switching over to Klipper as easy as is possible, it can still be a challenge for some, especially considering that most of you have likely never used GNU+Linux. Save yourself the frustration, and fully read all documentation found on this page. Also note that Klipper is not a _must_, and is not for everyone. You can stick with Marlin, and have a fine 3D printing experience.
## Installation Steps
### Before You Begin
## Before You Begin
- On the SV06 Plus, your screen will not work if you install Klipper. You can get it working again via the instructions found [here](https://github.com/fryc88/klipper-sv06plus-screen).
- Read this documentation _fully!_
@@ -74,6 +72,8 @@ Although I've made switching over to Klipper as easy as is possible, it can stil
- Your question has probably been answered already, but if it hasn't, please post in the [Discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions) section.
- I would recommend searching for the word `NOTE` in this repository. There are roughly half a dozen short points amongst the various files that you should be aware of if you're using this configuration.
## Klipper Installation
### Flash Firmware
💡 _If you have already flashed klipper onto your motherboard in the past, you can skip this step._
@@ -103,7 +103,7 @@ Please note:
You may find this [video](https://youtu.be/p6l253OJa34) useful.
### Download Klipper Configuration
### Download OSS Klipper Configuration
You can choose _either_ of the 2 following methods.
@@ -155,37 +155,26 @@ If you've done everything correctly, you should see no errors or warnings in you
You will be pasting/typing these commands into the Mainsail/Fluidd console.
1. `G28`
1. Check to see if `X` and `Y` max positions (`G90`, `G1 X300 F3000`, `G1 Y300 F3000`) can be reached, and adjust `position_max`, if necessary. Note, you might be able to go even further.
2. Do a `G34`; mechanical gantry calibration. After the controlled collision against the beam at the top, there will be a 10 second pause for you to verify that both sides of the gantry are pressed up against the `stoppers` at the top. ~~You will hear a succession of beeps.~~
1. Figure out your `Z` `position_max` by baby stepping your way up to the beam (`G90`, `G1 Z330 F900`, then move up mm by mm). Adjust `position_max`, if necessary.
3. Pid tune the bed, but first move the printhead to the center. Ideally, all Pid tuning should occur at the temperatures that you print most at.
1. Check to see if `X` and `Y` max positions can be reached, and adjust `position_max`, if necessary. You might be able to go further, which is great, but I recommend leaving a 2mm gap for safety.
1. `G28`
2. `G90`
3. `G1 X150 Y150 Z40 F6000`
4. `PID_CALIBRATE HEATER=heater_bed TARGET=70`
5. `SAVE_CONFIG` (once completed)
3. `G1 X300 F3000`
4. `G1 Y300 F3000`
2. Do a mechanical gantry calibration; `G34`. After the controlled collision against the beam at the top, there will be a 10 second pause for you to verify that both sides of the gantry are pressed up against the `stoppers` at the top. ~~You will hear a succession of beeps.~~
1. Figure out your `Z` `position_max` by baby stepping your way up to the beam, and adjust `position_max`, if necessary.
3. PID tune the bed. Ideally, all PID tuning should occur at the temperatures that you print most at.
1. `PID_TEST_BED`
2. `SAVE_CONFIG` (once completed)
4. PID tune the extruder while part cooling fan runs at 25%.
1. `G28`
2. `G90`
3. `G1 X150 Y150 Z10 F6000`
4. `M106 S64`
5. `PID_CALIBRATE HEATER=extruder TARGET=245`
6. `SAVE_CONFIG` (once completed)
1. `PID_TEST_HOTEND`
2. `SAVE_CONFIG` (once completed)
5. Adjust `z_offset`. Make sure your nozzle if very clean. Do the [Paper test](https://www.klipper3d.org/Bed_Level.html?h=probe_calibrate#the-paper-test).
1. `SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60`
2. `SET_HEATER_TEMPERATURE HEATER=extruder TARGET=180`
3. Proceed to next steps after both temperatures have been reached.
4. `G28`
5. `PROBE_CALIBRATE`
6. `SAVE_CONFIG` (once completed)
1. `DO_PROBE_CALIBRATE`
2. Follow `z_offset` setup in Mainsail/Fluidd.
3. `SAVE_CONFIG` (once completed)
6. Create a bed mesh.
1. `SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60`
2. `SET_HEATER_TEMPERATURE HEATER=extruder TARGET=180`
3. Proceed to next steps after both temperatures have been reached.
4. `G28`
5. `BED_MESH_CALIBRATE`
6. `SAVE_CONFIG` (once completed)
1. `DO_CREATE_MESH`
2. `SAVE_CONFIG` (once completed)
If you've made it here, then your printer has been Klipperized, and is ready to print!

43
cfgs/CALIBRATION.cfg Normal file
View File

@@ -0,0 +1,43 @@
[gcode_macro PID_TEST_BED]
gcode:
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
G28
G90
G1 X{max_x/2} Y{max_y/2} Z40 F6000
PID_CALIBRATE HEATER=heater_bed TARGET=70
[gcode_macro PID_TEST_HOTEND]
gcode:
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
G28
G90
G1 X{max_x/2} Y{max_y/2} Z10 F6000
M106 S64
PID_CALIBRATE HEATER=extruder TARGET=245
# TODO test this
[gcode_macro PID_TEST_ALL]
gcode:
PID_TEST_BED
PID_TEST_HOTEND
SAVE_CONFIG
[gcode_macro DO_PROBE_CALIBRATE]
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=180
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=60
TEMPERATURE_WAIT SENSOR=extruder MINIMUM=180
G28
PROBE_CALIBRATE
[gcode_macro DO_CREATE_MESH]
gcode:
SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET=60
SET_HEATER_TEMPERATURE HEATER=extruder TARGET=180
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM=60
TEMPERATURE_WAIT SENSOR=extruder MINIMUM=180
G28
BED_MESH_CALIBRATE

View File

@@ -31,6 +31,7 @@ variable_beeping_enabled: 0 # NOTE Enable(1) or disable(0) beeping everywhere ex
variable_bed_temp_over: 10 # NOTE Start print if bed temperature is over by this amount, otherwise wait for temperature drop
variable_pre_purge_prime_length: 1.40
gcode:
# DELETEME This section is unnecessary
SET_GCODE_VARIABLE MACRO=_globals VARIABLE=pre_purge_prime_length VALUE={ variable_pre_purge_prime_length }
SET_GCODE_VARIABLE MACRO=_globals VARIABLE=filament_sensor_enabled VALUE={ variable_filament_sensor_enabled }
SET_GCODE_VARIABLE MACRO=_globals VARIABLE=beeping_enabled VALUE={ variable_beeping_enabled }
@@ -87,10 +88,7 @@ gcode:
{% set PRE_PURGE_PRIME_LENGTH=printer["gcode_macro _globals"].pre_purge_prime_length|default(1.40)|float %}
ADJUST_FILAMENT_SENSOR_STATUS ENABLE=1
# 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 %}
# Misc variables
{% set extrudeAmount = 26.6 %}
{% set movementLength = 100.0 %}
{% set movementSpeed = 15 * 60 %}
@@ -108,7 +106,7 @@ gcode:
M83 ; Relative extrusion mode
G1 E{PRE_PURGE_PRIME_LENGTH} F500 ; pre-purge prime LENGTH SHOULD MATCH YOUR PRINT_END RETRACT
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

View File

@@ -7,6 +7,7 @@
[include ./cfgs/misc-macros.cfg]
[include ./cfgs/PARKING.cfg]
[include ./cfgs/MECHANICAL_GANTRY_CALIBRATION.cfg]
[include ./cfgs/CALIBRATION.cfg]
# NOTE Uncomment the ONE of the following lines if you're using an adxl345
# [include ./cfgs/adxl-rp2040.cfg]
@@ -14,8 +15,8 @@
# [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
# NOTE Obtain definition by "ls -l /dev/serial/by-path/" or "ls -l /dev/serial/by-id/"
serial: /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0
restart_method: command
[printer]