🚸 Improve Sovol SV01 / SKR Mini E3 V3 (#748)

This commit is contained in:
0Hertz 2022-06-08 02:30:28 +03:00 committed by GitHub
parent f50438e1af
commit dbad16d3eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 125 additions and 102 deletions

View file

@ -39,6 +39,8 @@
*/
#define CONFIGURATION_H_VERSION 02010000
//#define SOVOL_FIXED_PROBE
//===========================================================================
//============================= Getting Started =============================
//===========================================================================
@ -795,8 +797,8 @@
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
//#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash)
//#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash)
#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash)
#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash)
#endif
// @section extruder
@ -1075,7 +1077,7 @@
//#define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
#if ENABLED(LIMITED_JERK_EDITING)
#define MAX_JERK_EDIT_VALUES { 20, 20, 0.6, 10 } // ...or, set your own edit limits
#define MAX_JERK_EDIT_VALUES { 20, 20, 0.8, 10 } // ...or, set your own edit limits
#endif
#endif
@ -1089,7 +1091,7 @@
* https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
*/
#if DISABLED(CLASSIC_JERK)
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
#define JUNCTION_DEVIATION_MM 0.08 // (mm) Distance from real junction edge
#define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle
// for small segments (< 1mm) with large junction angles (> 135°).
#endif
@ -1158,7 +1160,9 @@
* A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
* (e.g., an inductive probe or a nozzle-based probe-switch.)
*/
#define FIX_MOUNTED_PROBE
#ifdef SOVOL_FIXED_PROBE
#define FIX_MOUNTED_PROBE
#endif
/**
* Use the nozzle as the probe, as with a conductive
@ -1282,7 +1286,7 @@
// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define PROBING_MARGIN 25
#define PROBING_MARGIN 25
// X and Y axis travel speed (mm/min) between probes
#define XY_PROBE_FEEDRATE (50*60)
@ -1338,7 +1342,7 @@
* A total of 2 does fast/slow probes with a weighted average.
* A total of 3 or more adds more slow probes, taking the average.
*/
#define MULTIPLE_PROBING 2
#define MULTIPLE_PROBING 2
//#define EXTRA_PROBING 1
/**
@ -1489,8 +1493,8 @@
// @section machine
// The size of the printable area
#define X_BED_SIZE 280
#define Y_BED_SIZE 240
#define X_BED_SIZE 290
#define Y_BED_SIZE 250
// Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
@ -1498,7 +1502,7 @@
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 300
#define Z_MAX_POS 310
//#define I_MIN_POS 0
//#define I_MAX_POS 50
//#define J_MIN_POS 0
@ -1666,18 +1670,20 @@
* leveling in steps so you can manually adjust the Z height at each grid-point.
* With an LCD controller the process is guided step-by-step.
*/
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
#ifdef SOVOL_FIXED_PROBE
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
#endif
/**
* Normally G28 leaves leveling disabled on completion. Enable one of
* these options to restore the prior leveling state or to always enable
* leveling immediately after G28.
*/
#define RESTORE_LEVELING_AFTER_G28
#define RESTORE_LEVELING_AFTER_G28
//#define ENABLE_LEVELING_AFTER_G28
/**
@ -1872,7 +1878,9 @@
* - Allows Z homing only when XY positions are known and trusted.
* - If stepper drivers sleep, XY homing may be required again before Z homing.
*/
#define Z_SAFE_HOMING
#ifdef SOVOL_FIXED_PROBE
#define Z_SAFE_HOMING
#endif
#if ENABLED(Z_SAFE_HOMING)
#define Z_SAFE_HOMING_X_POINT X_CENTER // X point for Z homing
@ -2139,7 +2147,7 @@
*
* View the current statistics with M78.
*/
//#define PRINTCOUNTER
#define PRINTCOUNTER
#if ENABLED(PRINTCOUNTER)
#define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print
#endif
@ -2309,7 +2317,7 @@
// If you have a speaker that can produce tones, enable it here.
// By default Marlin assumes you have a buzzer with a fixed frequency.
//
#define SPEAKER
#define SPEAKER
//
// The duration and frequency for the UI feedback sound.
@ -2318,7 +2326,7 @@
// Note: Test audio output with the G-Code:
// M300 S<frequency Hz> P<duration ms>
//
//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2
#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 4
//#define LCD_FEEDBACK_FREQUENCY_HZ 5000
//=============================================================================

View file

@ -596,7 +596,7 @@
* Multiple extruders can be assigned to the same pin in which case
* the fan will turn on when any selected extruder is above the threshold.
*/
#define E0_AUTO_FAN_PIN FAN1_PIN
#define E0_AUTO_FAN_PIN FAN1_PIN
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
@ -1336,7 +1336,7 @@
#endif // HAS_MARLINUI_MENU
#if ANY(HAS_DISPLAY, DWIN_LCD_PROUI, DWIN_CREALITY_LCD_JYERSUI)
//#define SOUND_MENU_ITEM // Add a mute option to the LCD menu
#define SOUND_MENU_ITEM // Add a mute option to the LCD menu
#define SOUND_ON_DEFAULT // Buzzer/speaker default enabled state
#endif
@ -1361,7 +1361,7 @@
// #define LCD_DECIMAL_SMALL_XY
// Add an 'M73' G-code to set the current percentage
#define LCD_SET_PROGRESS_MANUALLY
//#define LCD_SET_PROGRESS_MANUALLY
// Show the E position (filament used) during printing
//#define LCD_SHOW_E_TOTAL
@ -1637,7 +1637,7 @@
*
* :[ 'LCD', 'ONBOARD', 'CUSTOM_CABLE' ]
*/
#define SDCARD_CONNECTION ONBOARD
#define SDCARD_CONNECTION ONBOARD
// Enable if SD detect is rendered useless (e.g., by using an SD extender)
//#define NO_SD_DETECT
@ -1748,7 +1748,7 @@
//#define STATUS_ALT_FAN_BITMAP // Use the alternative fan bitmap
//#define STATUS_FAN_FRAMES 3 // :[0,1,2,3,4] Number of fan animation frames
//#define STATUS_HEAT_PERCENT // Show heating in a progress bar
//#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of flash.
#define BOOT_MARLIN_LOGO_ANIMATED // Animated Marlin logo. Costs ~3260 (or ~940) bytes of flash.
// Frivolous Game Options
//#define MARLIN_BRICKOUT
@ -1760,7 +1760,7 @@
#if HAS_MARLINUI_U8GLIB || IS_DWIN_MARLINUI
// Show SD percentage next to the progress bar
//#define SHOW_SD_PERCENT
#define SHOW_SD_PERCENT
// Enable to save many cycles by drawing a hollow frame on Menu Screens
#define MENU_HOLLOW_FRAME
@ -1978,7 +1978,7 @@
#define BABYSTEPPING
#if ENABLED(BABYSTEPPING)
//#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR
#define BABYSTEP_WITHOUT_HOMING
#define BABYSTEP_WITHOUT_HOMING
#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
@ -2388,7 +2388,7 @@
#define SERIAL_OVERRUN_PROTECTION
// For serial echo, the number of digits after the decimal point
#define SERIAL_FLOAT_PRECISION 4
#define SERIAL_FLOAT_PRECISION 4
/**
* Set the number of proportional font spaces required to fill up a typical character space.
@ -2763,7 +2763,7 @@
#define INTERPOLATE true
#if AXIS_IS_TMC(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_MICROSTEPS 16 // 0..256
#define X_RSENSE 0.11
@ -2783,7 +2783,7 @@
#endif
#if AXIS_IS_TMC(Y)
#define Y_CURRENT 800
#define Y_CURRENT 580
#define Y_CURRENT_HOME Y_CURRENT
#define Y_MICROSTEPS 16
#define Y_RSENSE 0.11
@ -2803,7 +2803,7 @@
#endif
#if AXIS_IS_TMC(Z)
#define Z_CURRENT 800
#define Z_CURRENT 580
#define Z_CURRENT_HOME Z_CURRENT
#define Z_MICROSTEPS 16
#define Z_RSENSE 0.11
@ -2903,7 +2903,7 @@
#endif
#if AXIS_IS_TMC(E0)
#define E0_CURRENT 800
#define E0_CURRENT 650
#define E0_MICROSTEPS 16
#define E0_RSENSE 0.11
#define E0_CHAIN_POS -1
@ -3188,9 +3188,9 @@
#if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
// TMC2209: 0...255. TMC2130: -64...63
#define X_STALL_SENSITIVITY 8
#define X_STALL_SENSITIVITY 75
#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
#define Y_STALL_SENSITIVITY 8
#define Y_STALL_SENSITIVITY 75
#define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY
//#define Z_STALL_SENSITIVITY 8
//#define Z2_STALL_SENSITIVITY Z_STALL_SENSITIVITY
@ -3203,7 +3203,7 @@
//#define V_STALL_SENSITIVITY 8
//#define W_STALL_SENSITIVITY 8
//#define SPI_ENDSTOPS // TMC2130 only
#define IMPROVE_HOMING_RELIABILITY
#define IMPROVE_HOMING_RELIABILITY
#endif
/**
@ -3222,13 +3222,13 @@
* Beta feature!
* Create a 50/50 square wave step pulse optimal for stepper drivers.
*/
// #define SQUARE_WAVE_STEPPING
#define SQUARE_WAVE_STEPPING
/**
* Enable M122 debugging command for TMC stepper drivers.
* M122 S0/1 will enable continuous reporting.
*/
#define TMC_DEBUG
#define TMC_DEBUG
/**
* You can set your own advanced settings by filling in predefined functions.
@ -3928,7 +3928,7 @@
* Add the M16 G-code to compare a string to the MACHINE_NAME.
* M16 with a non-matching string causes the printer to halt.
*/
#define EXPECTED_PRINTER_CHECK
#define EXPECTED_PRINTER_CHECK
/**
* Disable all Volumetric extrusion options

View file

@ -1,50 +0,0 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Custom Status Screen bitmap
*
* Place this file in the root with your configuration files
* and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h.
*
* Use the Marlin Bitmap Converter to make your own:
* https://marlinfw.org/tools/u8glib/converter.html
*/
#define STATUS_LOGO_Y 8
#define STATUS_LOGO_WIDTH 32
const unsigned char status_logo_bmp[] PROGMEM = {
B00011110,B11110111,B10011100,B00000100,
B00111111,B01100011,B00111110,B00001100,
B01100011,B01100011,B01100011,B00111100,
B01100000,B01100011,B01100011,B00001100,
B01100000,B01100011,B01100011,B00001100,
B00111100,B01100011,B01100011,B00001100,
B00011110,B00110110,B01100011,B00001100,
B00000011,B00110110,B01100011,B00001100,
B00000011,B00110110,B01100011,B00001100,
B01100011,B00011100,B01100011,B00001100,
B01111110,B00011100,B00111110,B00111111,
B00111100,B00001000,B00011100,B00111111
};

View file

@ -3,10 +3,7 @@
These files configure Marlin for a Sovol SV01 with `MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V3_0` board installed with silent stepper drivers and a Fixed Probe.
The probe is configured to use the Z endstop port on the board.
This Is For test only.
### Probe and Offsets
!!!! caution !!! use at your own risk
### Nozzle to Probe Offsets
You'll need to to adjust the `NOZZLE_TO_PROBE_OFFSET` values according to your probe's mounting location.
- Enable the `SOVOL_FIXED_PROBE` option for a `FIXED_MOUNTED_PROBE`.
- You'll need to to adjust the `NOZZLE_TO_PROBE_OFFSET` values according to your probe's mounting location.

View file

@ -0,0 +1,68 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* Custom Status Screen bitmap
*
* Place this file in the root with your configuration files
* and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h.
*
* Use the Marlin Bitmap Converter to make your own:
* http://marlinfw.org/tools/u8glib/converter.html
*/
#pragma once
#define STATUS_LOGO_WIDTH 32
const unsigned char status_logo_bmp[] PROGMEM = {
B00000000,B00000000,B00000000,B00000000,
B00000000,B00011111,B11000000,B00000000,
B00000000,B11111111,B11111000,B00000000,
B00000000,B11111111,B11111000,B00000000,
B00000011,B11111111,B11111110,B00000000,
B00000111,B11111111,B11100111,B00000000,
B00001111,B11111111,B11000011,B10000000,
B00001111,B11111111,B00000001,B10000000,
B00111111,B11111100,B00000000,B01000000,
B00111111,B11111000,B00000000,B01100000,
B00111111,B11110000,B00000000,B11100000,
B01111111,B11100000,B00000011,B11110000,
B01111111,B10000000,B00000111,B11110000,
B01111111,B00000000,B00001111,B11110000,
B01111100,B00000000,B11111111,B11110000,
B01111000,B00000001,B11111111,B11110000,
B01110000,B00000000,B01111111,B11110000,
B01111100,B00000000,B00111111,B11110000,
B00111111,B00000000,B00001111,B11100000,
B00111111,B11100000,B00000111,B11100000,
B00111111,B11100000,B00000011,B11000000,
B00001111,B00000000,B00000111,B10000000,
B00001110,B00000000,B01111111,B10000000,
B00000000,B00000011,B11111111,B00000000,
B00000000,B00001111,B11111110,B00000000,
B00000000,B11111111,B11111000,B00000000,
B00000000,B01111111,B11110000,B00000000,
B00000000,B00011111,B11000000,B00000000,
B00000000,B00000000,B00000000,B00000000
};

View file

@ -46,7 +46,7 @@
* https://github.com/CONSULitAS/Marlin-K8200/archive/K8200_stable_2016-11-18.zip
*
* Updated by pau1ie to include the full graphic controller and K8204 Z axis
*
*
* Please choose your hardware options for the K8200:
*/

View file

@ -12,7 +12,7 @@ In addition to the existing options
I believe the configuration should work for all these options, but since I was
only able to test with the VM8204 and full graphic LCD, I have created a new
configuration. If you don't have an upgraded K8200 or 3drag, you may wish to
use the original version.
use the original version.
# Instructions
@ -36,8 +36,8 @@ the following is uncommented, otherwise comment it out
## Notes
I (pau1ie) tested this configuration on my K8200 with VM8204 Z axis and
full graphic controller. I purchased a 3drag controller main board which is
identical to the Velleman supplied one, so I am confident this firmware
full graphic controller. I purchased a 3drag controller main board which is
identical to the Velleman supplied one, so I am confident this firmware
will also work with the 3drag as CONSULiTAS states below.
Only one LCD screen is supported (they plug into the same place), so only one of them should be uncommented.

View file

@ -12,16 +12,16 @@ Please note the monorpice cadet printer is a rebranded version of these printers
## Adding wifi support using ESP3D
You can add wifi support using [ESP3D](https://github.com/luc-github/ESP3D).
Basically connect your own NodeMCU to second serial port of the MCU.
You can add wifi support using [ESP3D](https://github.com/luc-github/ESP3D).
Basically connect your own NodeMCU to second serial port of the MCU.
See ESP3D wiki for connection diagram.
In Marlin configuration.h set:
In Marlin configuration.h set:
`#define SERIAL_PORT_2 3`
## Manufacturer wifi support
Examples provided here have not been tested with wifi board from manufacturer.
Examples provided here have not been tested with wifi board from manufacturer.
Setting `#define SERIAL_PORT_2 3` in Marlin configuration.h might be enough to work with manufacturer wifi board.
Feedback are welcome.