Skip to content

Commit

Permalink
⚡️ Tune Creality Ender-3 Pro (board 4.2.2) (#877)
Browse files Browse the repository at this point in the history
  • Loading branch information
McNeight authored Feb 12, 2023
1 parent 7b3048c commit 5896cbd
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 60 deletions.
1 change: 0 additions & 1 deletion config/default/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -1057,7 +1057,6 @@
//#define POLAR
#if ENABLED(POLAR)
#define DEFAULT_SEGMENTS_PER_SECOND 180 // If movement is choppy try lowering this value

#define PRINTABLE_RADIUS 82.0f // (mm) Maximum travel of X axis

// Movements fall inside POLAR_FAST_RADIUS are assigned the highest possible feedrate
Expand Down
81 changes: 44 additions & 37 deletions config/examples/Creality/Ender-3 Pro/CrealityV422/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#error "Don't build with import-2.1.x configurations!"
#error "Use the 'bugfix...' or 'release...' configurations matching your Marlin version."

//#define ENDER_3_PRO_BLTOUCH

/**
* Configuration.h
*
Expand Down Expand Up @@ -62,7 +64,7 @@
// @section info

// Author info of this build printed to the host during boot and M115
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
#define STRING_CONFIG_H_AUTHOR "(Neil McNeight, Stock)" // Who made the changes.
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)

/**
Expand All @@ -89,7 +91,7 @@

// Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_CREALITY_V4
#define MOTHERBOARD BOARD_CREALITY_V422
#endif

/**
Expand All @@ -114,7 +116,6 @@
* :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
*/
#define BAUDRATE 115200

//#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate

/**
Expand All @@ -137,7 +138,7 @@
//#define BLUETOOTH

// Name displayed in the LCD "Ready" message and Info menu
#define CUSTOM_MACHINE_NAME "Ender-3 Pro V1.5"
#define CUSTOM_MACHINE_NAME "Ender-3 Pro V1.5 (4.2.2)"

// Printer's unique ID, used by some programs to differentiate between machines.
// Choose your own or use a service like https://www.uuidgenerator.net/version4
Expand All @@ -160,9 +161,9 @@
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
Expand Down Expand Up @@ -607,15 +608,15 @@

// Below this temperature the heater will be switched off
// because it probably indicates a broken thermistor wire.
#define HEATER_0_MINTEMP 0
#define HEATER_0_MINTEMP 5
#define HEATER_1_MINTEMP 5
#define HEATER_2_MINTEMP 5
#define HEATER_3_MINTEMP 5
#define HEATER_4_MINTEMP 5
#define HEATER_5_MINTEMP 5
#define HEATER_6_MINTEMP 5
#define HEATER_7_MINTEMP 5
#define BED_MINTEMP 0
#define BED_MINTEMP 5
#define CHAMBER_MINTEMP 5

// Above this temperature the heater will be switched off.
Expand All @@ -629,7 +630,7 @@
#define HEATER_5_MAXTEMP 275
#define HEATER_6_MAXTEMP 275
#define HEATER_7_MAXTEMP 275
#define BED_MAXTEMP 120
#define BED_MAXTEMP 125
#define CHAMBER_MAXTEMP 60

/**
Expand Down Expand Up @@ -662,17 +663,17 @@
//#define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders)
// Set/get with G-code: M301 E[extruder number, 0-2]

// Ender 3 v2
// Creality Ender-3 Pro
#if ENABLED(PID_PARAMS_PER_HOTEND)
// Specify up to one value per hotend here, according to your setup.
// If there are fewer values, the last one applies to the remaining hotends.
#define DEFAULT_Kp_LIST { 28.72, 28.72 }
#define DEFAULT_Ki_LIST { 2.62, 2.62 }
#define DEFAULT_Kd_LIST { 78.81, 78.81 }
#define DEFAULT_Kp_LIST { 27.51, 27.51 }
#define DEFAULT_Ki_LIST { 2.26, 2.26 }
#define DEFAULT_Kd_LIST { 83.64, 83.64 }
#else
#define DEFAULT_Kp 28.72
#define DEFAULT_Ki 2.62
#define DEFAULT_Kd 78.81
#define DEFAULT_Kp 27.51
#define DEFAULT_Ki 2.26
#define DEFAULT_Kd 83.64
#endif
#endif

Expand Down Expand Up @@ -755,9 +756,9 @@

// 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
// from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
#define DEFAULT_bedKp 462.10
#define DEFAULT_bedKi 85.47
#define DEFAULT_bedKd 624.59
#define DEFAULT_bedKp 222.39
#define DEFAULT_bedKi 34.75
#define DEFAULT_bedKd 948.84

// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED
Expand Down Expand Up @@ -813,8 +814,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 safety
Expand All @@ -827,14 +828,14 @@
* *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! ***
*/
#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 180
#define EXTRUDE_MINTEMP 170

/**
* Prevent a single extrusion longer than EXTRUDE_MAXLENGTH.
* Note: For Bowden Extruders make this large enough to allow load/unload.
*/
#define PREVENT_LENGTHY_EXTRUDE
#define EXTRUDE_MAXLENGTH 1000
#define EXTRUDE_MAXLENGTH 600

//===========================================================================
//======================== Thermal Runaway Protection =======================
Expand All @@ -855,7 +856,7 @@

#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
#define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed
//#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber
#define THERMAL_PROTECTION_CHAMBER // Enable thermal protection for the heated chamber
#define THERMAL_PROTECTION_COOLER // Enable thermal protection for the laser cooling

//===========================================================================
Expand Down Expand Up @@ -1245,7 +1246,7 @@
* Override with M201
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
*/
#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 1000 }
#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 }

//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
Expand Down Expand Up @@ -1308,7 +1309,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
Expand Down Expand Up @@ -1337,10 +1338,12 @@
* The probe replaces the Z-MIN endstop and is used for Z homing.
* (Automatically enables USE_PROBE_FOR_Z_HOMING.)
*/
#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

// Force the use of the probe for Z-axis homing
//#define USE_PROBE_FOR_Z_HOMING
#if ENABLED(ENDER_3_PRO_BLTOUCH)
#define USE_PROBE_FOR_Z_HOMING
#endif

/**
* Z_MIN_PROBE_PIN
Expand Down Expand Up @@ -1394,7 +1397,9 @@
/**
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
*/
//#define BLTOUCH
#if ENABLED(ENDER_3_PRO_BLTOUCH)
#define BLTOUCH
#endif

/**
* MagLev V4 probe by MDD
Expand Down Expand Up @@ -1546,14 +1551,14 @@
* | [-] |
* O-- FRONT --+
*/
#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
#define NOZZLE_TO_PROBE_OFFSET { 44, -6, -2.35 }

// 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 10

// X and Y axis travel speed (mm/min) between probes
#define XY_PROBE_FEEDRATE (50*60)
#define XY_PROBE_FEEDRATE (133*60)

// Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_FEEDRATE_FAST (4*60)
Expand Down Expand Up @@ -1631,8 +1636,8 @@
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping

// For M851 give a range for adjusting the Z probe offset
#define Z_PROBE_OFFSET_RANGE_MIN -10
#define Z_PROBE_OFFSET_RANGE_MAX 10
#define Z_PROBE_OFFSET_RANGE_MIN -20
#define Z_PROBE_OFFSET_RANGE_MAX 20

// Enable the M48 repeatability test to test probe accuracy
//#define Z_MIN_PROBE_REPEATABILITY_TEST
Expand Down Expand Up @@ -1937,7 +1942,9 @@
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
#if ENABLED(ENDER_3_PRO_BLTOUCH)
#define AUTO_BED_LEVELING_UBL
#endif
//#define MESH_BED_LEVELING

/**
Expand Down Expand Up @@ -2162,8 +2169,8 @@
//#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
#define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE - 10) / 2) // X point for Z homing
#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE - 10) / 2) // Y point for Z homing
#define Z_SAFE_HOMING_X_POINT X_CENTER // X point for Z homing
#define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing
#endif

// Homing speeds (linear=mm/min, rotational=°/min)
Expand Down
Loading

0 comments on commit 5896cbd

Please sign in to comment.