From 3f3372ed5110ae8cd735ca964729436396bd3c8c Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 8 Jan 2025 07:04:01 +0100 Subject: [PATCH 1/4] Group community features in variant files Cleanup white spaces Fix rebase issues --- Firmware/variants/MK25-RAMBo10a.h | 155 +++++++++++----------- Firmware/variants/MK25-RAMBo13a.h | 156 +++++++++++----------- Firmware/variants/MK25S-RAMBo10a.h | 147 +++++++++++---------- Firmware/variants/MK25S-RAMBo13a.h | 148 +++++++++++---------- Firmware/variants/MK3-E3DREVO.h | 161 ++++++++++++----------- Firmware/variants/MK3-E3DREVO_HF_60W.h | 163 +++++++++++------------ Firmware/variants/MK3.h | 164 ++++++++++++------------ Firmware/variants/MK3S-E3DREVO.h | 151 +++++++++++----------- Firmware/variants/MK3S-E3DREVO_HF_60W.h | 153 +++++++++++----------- Firmware/variants/MK3S.h | 154 +++++++++++----------- 10 files changed, 771 insertions(+), 781 deletions(-) diff --git a/Firmware/variants/MK25-RAMBo10a.h b/Firmware/variants/MK25-RAMBo10a.h index 8bc1f786e..88cd5d115 100644 --- a/Firmware/variants/MK25-RAMBo10a.h +++ b/Firmware/variants/MK25-RAMBo10a.h @@ -5,7 +5,7 @@ #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK25 @@ -24,7 +24,6 @@ #define HEATBED_V2 #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define TACH0PULLUP // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) @@ -33,10 +32,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,133} @@ -155,24 +153,23 @@ //#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. //#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. //#define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 30 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 30 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 30 //The miniRAMBo thermistor readings below 30°C aren't very accurate #define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -180,43 +177,39 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif +#define DEFAULT_Kp 16.13 +#define DEFAULT_Ki 1.1625 +#define DEFAULT_Kd 56.23 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -//#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +//#define EXTRUDER_ALTFAN_DETECT +//#define EXTRUDER_ALTFAN_SPEED_SILENT 128 #define FANCHECK_AUTO_PRINT_FAN_THRS 70 //[RPS] - Used during selftest to identify swapped fans automatically #define FANCHECK_AUTO_FAIL_THRS 20 //[RPS] - Used during selftest to identify a faulty fan /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -239,20 +232,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -261,21 +245,9 @@ #define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current setting for BIG RAMBo #define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) @@ -288,11 +260,11 @@ #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} #define Z_SILENT 0 #define Z_HIGH_POWER 200 -#endif +#endif //BOARD_RAMBO_MINI_1_0 || BOARD_RAMBO_MINI_1_3 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -316,7 +288,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -343,34 +315,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED - +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -408,7 +378,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -451,16 +421,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define STACK_GUARD_TEST_VALUE 0xA2A2 @@ -492,7 +462,6 @@ #define MIN_PRINT_FAN_SPEED 75 - #define M600_TIMEOUT 600 //seconds //#define SUPPORT_VERBOSITY @@ -503,6 +472,14 @@ #define MMU_DEBUG //print communication between MMU and printer on serial #define MMU_HAS_CUTTER +// This is experimental feature requested by our test department. +// There is no known use for ordinary user. If enabled by this macro +// and enabled from printer menu (not enabled by default). It cuts filament +// every time when switching filament from gcode. MMU_HAS_CUTTER needs to be +// defined. + +//#define MMU_ALWAYS_CUT + // MMU Error pause position #define MMU_ERR_X_PAUSE_POS 125 #define MMU_ERR_Y_PAUSE_POS 0 @@ -522,7 +499,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -530,4 +508,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +//#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK25-RAMBo13a.h b/Firmware/variants/MK25-RAMBo13a.h index 1b23dccfa..74fad4e2c 100644 --- a/Firmware/variants/MK25-RAMBo13a.h +++ b/Firmware/variants/MK25-RAMBo13a.h @@ -5,7 +5,7 @@ #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK25 @@ -24,7 +24,6 @@ #define HEATBED_V2 #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define TACH0PULLUP // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) @@ -33,10 +32,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,133} @@ -92,7 +90,6 @@ #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000} // (mm/sec^2) max acceleration (M201), silent mode - #define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204P) #define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204R) #define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for travels (M204T) @@ -156,24 +153,23 @@ //#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. //#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. //#define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 30 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 30 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 30 //The miniRAMBo thermistor readings below 30°C aren't very accurate #define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -181,43 +177,39 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif +#define DEFAULT_Kp 16.13 +#define DEFAULT_Ki 1.1625 +#define DEFAULT_Kd 56.23 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -//#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +//#define EXTRUDER_ALTFAN_DETECT +//#define EXTRUDER_ALTFAN_SPEED_SILENT 128 #define FANCHECK_AUTO_PRINT_FAN_THRS 70 //[RPS] - Used during selftest to identify swapped fans automatically #define FANCHECK_AUTO_FAIL_THRS 20 //[RPS] - Used during selftest to identify a faulty fan /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -240,20 +232,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -262,21 +245,9 @@ #define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current setting for BIG RAMBo #define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) @@ -289,11 +260,11 @@ #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} #define Z_SILENT 0 #define Z_HIGH_POWER 200 -#endif +#endif //BOARD_RAMBO_MINI_1_0 || BOARD_RAMBO_MINI_1_3 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -317,7 +288,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -344,34 +315,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED - +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -409,7 +378,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -452,16 +421,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define STACK_GUARD_TEST_VALUE 0xA2A2 @@ -493,7 +462,6 @@ #define MIN_PRINT_FAN_SPEED 75 - #define M600_TIMEOUT 600 //seconds //#define SUPPORT_VERBOSITY @@ -504,6 +472,14 @@ #define MMU_DEBUG //print communication between MMU and printer on serial #define MMU_HAS_CUTTER +// This is experimental feature requested by our test department. +// There is no known use for ordinary user. If enabled by this macro +// and enabled from printer menu (not enabled by default). It cuts filament +// every time when switching filament from gcode. MMU_HAS_CUTTER needs to be +// defined. + +//#define MMU_ALWAYS_CUT + // MMU Error pause position #define MMU_ERR_X_PAUSE_POS 125 #define MMU_ERR_Y_PAUSE_POS 0 @@ -526,7 +502,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -534,4 +511,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +//#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK25S-RAMBo10a.h b/Firmware/variants/MK25S-RAMBo10a.h index e4c56a8a3..4238f925e 100644 --- a/Firmware/variants/MK25S-RAMBo10a.h +++ b/Firmware/variants/MK25S-RAMBo10a.h @@ -5,7 +5,7 @@ #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK25S @@ -24,7 +24,6 @@ #define HEATBED_V2 #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define TACH0PULLUP // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) @@ -33,10 +32,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,133} @@ -155,24 +153,23 @@ //#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. //#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. //#define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 30 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 30 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 30 //The miniRAMBo thermistor readings below 30°C aren't very accurate #define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -180,43 +177,39 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif +#define DEFAULT_Kp 16.13 +#define DEFAULT_Ki 1.1625 +#define DEFAULT_Kd 56.23 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -//#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +//#define EXTRUDER_ALTFAN_DETECT +//#define EXTRUDER_ALTFAN_SPEED_SILENT 128 #define FANCHECK_AUTO_PRINT_FAN_THRS 70 //[RPS] - Used during selftest to identify swapped fans automatically #define FANCHECK_AUTO_FAIL_THRS 20 //[RPS] - Used during selftest to identify a faulty fan /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -239,20 +232,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -261,21 +245,9 @@ #define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current setting for BIG RAMBo #define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) @@ -288,11 +260,11 @@ #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} #define Z_SILENT 0 #define Z_HIGH_POWER 200 -#endif +#endif //BOARD_RAMBO_MINI_1_0 || BOARD_RAMBO_MINI_1_3 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -316,7 +288,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -343,34 +315,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED - +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -408,7 +378,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -451,16 +421,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define STACK_GUARD_TEST_VALUE 0xA2A2 @@ -492,7 +462,6 @@ #define MIN_PRINT_FAN_SPEED 75 - #define M600_TIMEOUT 600 //seconds //#define SUPPORT_VERBOSITY @@ -530,7 +499,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -538,4 +508,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +//#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK25S-RAMBo13a.h b/Firmware/variants/MK25S-RAMBo13a.h index 163b18ca0..b9c3df828 100644 --- a/Firmware/variants/MK25S-RAMBo13a.h +++ b/Firmware/variants/MK25S-RAMBo13a.h @@ -5,7 +5,7 @@ #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK25S @@ -24,7 +24,6 @@ #define HEATBED_V2 #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define TACH0PULLUP // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) @@ -33,10 +32,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,133} @@ -92,7 +90,6 @@ #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000} // (mm/sec^2) max acceleration (M201), silent mode - #define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204P) #define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204R) #define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for travels (M204T) @@ -156,24 +153,23 @@ //#define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. //#define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. //#define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 30 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 30 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 30 //The miniRAMBo thermistor readings below 30°C aren't very accurate #define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -181,43 +177,39 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif +#define DEFAULT_Kp 16.13 +#define DEFAULT_Ki 1.1625 +#define DEFAULT_Kd 56.23 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -//#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +//#define EXTRUDER_ALTFAN_DETECT +//#define EXTRUDER_ALTFAN_SPEED_SILENT 128 #define FANCHECK_AUTO_PRINT_FAN_THRS 70 //[RPS] - Used during selftest to identify swapped fans automatically #define FANCHECK_AUTO_FAIL_THRS 20 //[RPS] - Used during selftest to identify a faulty fan /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -240,20 +232,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -262,21 +245,9 @@ #define TEMP_RUNAWAY_EXTRUDER_HYSTERESIS 15 #define TEMP_RUNAWAY_EXTRUDER_TIMEOUT 45 -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current setting for BIG RAMBo #define DIGIPOT_MOTOR_CURRENT {135,135,135,135,135} // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) @@ -289,11 +260,11 @@ #define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E} #define Z_SILENT 0 #define Z_HIGH_POWER 200 -#endif +#endif //BOARD_RAMBO_MINI_1_0 || BOARD_RAMBO_MINI_1_3 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -317,7 +288,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -344,34 +315,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED - +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -409,7 +378,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -452,16 +421,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define STACK_GUARD_TEST_VALUE 0xA2A2 @@ -493,7 +462,6 @@ #define MIN_PRINT_FAN_SPEED 75 - #define M600_TIMEOUT 600 //seconds //#define SUPPORT_VERBOSITY @@ -531,7 +499,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -539,4 +508,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +//#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK3-E3DREVO.h b/Firmware/variants/MK3-E3DREVO.h index 2275266bb..a5f3351b8 100644 --- a/Firmware/variants/MK3-E3DREVO.h +++ b/Firmware/variants/MK3-E3DREVO.h @@ -2,11 +2,10 @@ #define CONFIGURATION_PRUSA_H #include - #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK3 @@ -23,9 +22,10 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define HAS_SECOND_SERIAL_PORT +// PSU +//#define PSU_Delta // uncomment if DeltaElectronics PSU installed // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -33,10 +33,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} @@ -97,7 +96,6 @@ #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000} // (mm/sec^2) max acceleration (M201), silent mode - #define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204P) #define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204R) #define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for travels (M204T) @@ -155,7 +153,6 @@ //#define BACKLASH_X //#define BACKLASH_Y - // Minimum ambient temperature limit to start triggering MINTEMP errors [C] // this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, // temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle @@ -201,19 +198,16 @@ #define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD #define LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION_XYZ #define TMC2130_VARIABLE_RESOLUTION - - /*------------------------------------ TMC2130 default settings - *------------------------------------*/ +*------------------------------------*/ #define TMC2130_FCLK 12000000 // fclk = 12MHz @@ -223,7 +217,7 @@ #define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis -// #define ALLOW_ALL_MRES +//#define ALLOW_ALL_MRES #define TMC2130_PWM_GRAD_X 2 // PWMCONF #define TMC2130_PWM_AMPL_X 230 // PWMCONF @@ -295,22 +289,21 @@ //#define TMC2130_DEBUG_WR //#define TMC2130_DEBUG_RD - /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 10 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 10 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 10 //#define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -319,41 +312,40 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #define AMBIENT_MAXTEMP 80 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for E3D REVO -#define DEFAULT_Kp 25.00 -#define DEFAULT_Ki 4.8 -#define DEFAULT_Kd 32.6 -#endif +#define DEFAULT_Kp 25.00 +#define DEFAULT_Ki 4.8 +#define DEFAULT_Kd 32.6 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +//#define EXTRUDER_ALTFAN_DETECT +//#define EXTRUDER_ALTFAN_SPEED_SILENT 128 #define FANCHECK_AUTO_PRINT_FAN_THRS 70 //[RPS] - Used during selftest to identify swapped fans automatically #define FANCHECK_AUTO_FAIL_THRS 20 //[RPS] - Used during selftest to identify a faulty fan /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -376,20 +368,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -420,28 +403,16 @@ #include "thermal_model/e3d_REVO.h" #define THERMAL_MODEL_DEFAULT E3D_REVO // Default E3D REVO model parameters -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current settings for Einsy/tmc = 0..63 #define MOTOR_CURRENT_PWM_RANGE 63 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -465,7 +436,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -492,33 +463,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -556,7 +526,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -599,16 +569,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define TEMP_SENSOR_AMBIENT 2000 @@ -641,7 +611,6 @@ #define MIN_PRINT_FAN_SPEED 75 - // How much shall the print head be lifted on power panic? // Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, // UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. @@ -670,6 +639,14 @@ #define MMU_DEBUG //print communication between MMU and printer on serial #define MMU_HAS_CUTTER +// This is experimental feature requested by our test department. +// There is no known use for ordinary user. If enabled by this macro +// and enabled from printer menu (not enabled by default). It cuts filament +// every time when switching filament from gcode. MMU_HAS_CUTTER needs to be +// defined. + +//#define MMU_ALWAYS_CUT + // MMU Error pause position #define MMU_ERR_X_PAUSE_POS 125 #define MMU_ERR_Y_PAUSE_POS 0 @@ -689,7 +666,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -697,4 +675,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK3-E3DREVO_HF_60W.h b/Firmware/variants/MK3-E3DREVO_HF_60W.h index 537340921..ac26eabd2 100644 --- a/Firmware/variants/MK3-E3DREVO_HF_60W.h +++ b/Firmware/variants/MK3-E3DREVO_HF_60W.h @@ -2,11 +2,10 @@ #define CONFIGURATION_PRUSA_H #include - #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK3 @@ -23,9 +22,10 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define HAS_SECOND_SERIAL_PORT +// PSU +//#define PSU_Delta // uncomment if DeltaElectronics PSU installed // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -33,10 +33,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} @@ -97,7 +96,6 @@ #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000} // (mm/sec^2) max acceleration (M201), silent mode - #define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204P) #define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204R) #define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for travels (M204T) @@ -155,7 +153,6 @@ //#define BACKLASH_X //#define BACKLASH_Y - // Minimum ambient temperature limit to start triggering MINTEMP errors [C] // this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, // temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle @@ -201,19 +198,16 @@ #define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD #define LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION_XYZ #define TMC2130_VARIABLE_RESOLUTION - - /*------------------------------------ TMC2130 default settings - *------------------------------------*/ +*------------------------------------*/ #define TMC2130_FCLK 12000000 // fclk = 12MHz @@ -223,7 +217,7 @@ #define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis -// #define ALLOW_ALL_MRES +//#define ALLOW_ALL_MRES #define TMC2130_PWM_GRAD_X 2 // PWMCONF #define TMC2130_PWM_AMPL_X 230 // PWMCONF @@ -295,22 +289,21 @@ //#define TMC2130_DEBUG_WR //#define TMC2130_DEBUG_RD - /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 10 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 10 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 10 //#define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -319,42 +312,41 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #define AMBIENT_MAXTEMP 80 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for E3D REVO HF 60W -#define MAX_OVERSHOOT_PID_AUTOTUNE 30 -#define DEFAULT_Kp 15.00 -#define DEFAULT_Ki 2.9 -#define DEFAULT_Kd 19.2 -#endif +#define MAX_OVERSHOOT_PID_AUTOTUNE 30 +#define DEFAULT_Kp 15.00 +#define DEFAULT_Ki 2.9 +#define DEFAULT_Kd 19.2 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +//#define EXTRUDER_ALTFAN_DETECT +//#define EXTRUDER_ALTFAN_SPEED_SILENT 128 #define FANCHECK_AUTO_PRINT_FAN_THRS 70 //[RPS] - Used during selftest to identify swapped fans automatically #define FANCHECK_AUTO_FAIL_THRS 20 //[RPS] - Used during selftest to identify a faulty fan /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -377,20 +369,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -421,28 +404,16 @@ #include "thermal_model/e3d_REVO_HF_60W.h" #define THERMAL_MODEL_DEFAULT E3D_REVO_HF_60W // Default E3D REVO HF 60W model parameters -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current settings for Einsy/tmc = 0..63 #define MOTOR_CURRENT_PWM_RANGE 63 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -466,7 +437,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -493,33 +464,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -557,7 +527,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -600,16 +570,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define TEMP_SENSOR_AMBIENT 2000 @@ -642,7 +612,6 @@ #define MIN_PRINT_FAN_SPEED 75 - // How much shall the print head be lifted on power panic? // Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, // UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. @@ -671,6 +640,14 @@ #define MMU_DEBUG //print communication between MMU and printer on serial #define MMU_HAS_CUTTER +// This is experimental feature requested by our test department. +// There is no known use for ordinary user. If enabled by this macro +// and enabled from printer menu (not enabled by default). It cuts filament +// every time when switching filament from gcode. MMU_HAS_CUTTER needs to be +// defined. + +//#define MMU_ALWAYS_CUT + // MMU Error pause position #define MMU_ERR_X_PAUSE_POS 125 #define MMU_ERR_Y_PAUSE_POS 0 @@ -690,7 +667,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -698,4 +676,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK3.h b/Firmware/variants/MK3.h index a988139aa..4a27960dd 100644 --- a/Firmware/variants/MK3.h +++ b/Firmware/variants/MK3.h @@ -2,11 +2,10 @@ #define CONFIGURATION_PRUSA_H #include - #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK3 @@ -23,9 +22,10 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define HAS_SECOND_SERIAL_PORT +// PSU +//#define PSU_Delta // uncomment if DeltaElectronics PSU installed // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -33,10 +33,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} @@ -97,7 +96,6 @@ #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000} // (mm/sec^2) max acceleration (M201), silent mode - #define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204P) #define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204R) #define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for travels (M204T) @@ -155,7 +153,6 @@ //#define BACKLASH_X //#define BACKLASH_Y - // Minimum ambient temperature limit to start triggering MINTEMP errors [C] // this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, // temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle @@ -201,19 +198,16 @@ #define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD #define LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION_XYZ #define TMC2130_VARIABLE_RESOLUTION - - /*------------------------------------ TMC2130 default settings - *------------------------------------*/ +*------------------------------------*/ #define TMC2130_FCLK 12000000 // fclk = 12MHz @@ -223,7 +217,7 @@ #define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis -// #define ALLOW_ALL_MRES +//#define ALLOW_ALL_MRES #define TMC2130_PWM_GRAD_X 2 // PWMCONF #define TMC2130_PWM_AMPL_X 230 // PWMCONF @@ -295,22 +289,21 @@ //#define TMC2130_DEBUG_WR //#define TMC2130_DEBUG_RD - /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 10 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 10 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 10 //#define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -319,44 +312,40 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #define AMBIENT_MAXTEMP 80 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif +#define DEFAULT_Kp 16.13 +#define DEFAULT_Ki 1.1625 +#define DEFAULT_Kd 56.23 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -//#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 #define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed +//#define EXTRUDER_ALTFAN_DETECT +//#define EXTRUDER_ALTFAN_SPEED_SILENT 128 #define FANCHECK_AUTO_PRINT_FAN_THRS 70 //[RPS] - Used during selftest to identify swapped fans automatically #define FANCHECK_AUTO_FAIL_THRS 20 //[RPS] - Used during selftest to identify a faulty fan /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -379,20 +368,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -423,28 +403,16 @@ #include "thermal_model/e3d_v6.h" #define THERMAL_MODEL_DEFAULT E3D_V6 // Default model parameters -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current settings for Einsy/tmc = 0..63 #define MOTOR_CURRENT_PWM_RANGE 63 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -468,7 +436,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -495,33 +463,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -559,7 +526,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -602,16 +569,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define TEMP_SENSOR_AMBIENT 2000 @@ -644,7 +611,6 @@ #define MIN_PRINT_FAN_SPEED 75 - // How much shall the print head be lifted on power panic? // Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, // UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. @@ -673,6 +639,14 @@ #define MMU_DEBUG //print communication between MMU and printer on serial #define MMU_HAS_CUTTER +// This is experimental feature requested by our test department. +// There is no known use for ordinary user. If enabled by this macro +// and enabled from printer menu (not enabled by default). It cuts filament +// every time when switching filament from gcode. MMU_HAS_CUTTER needs to be +// defined. + +//#define MMU_ALWAYS_CUT + // MMU Error pause position #define MMU_ERR_X_PAUSE_POS 125 #define MMU_ERR_Y_PAUSE_POS 0 @@ -692,7 +666,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -700,4 +675,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +//#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK3S-E3DREVO.h b/Firmware/variants/MK3S-E3DREVO.h index 953b775b3..d1d7e78a0 100644 --- a/Firmware/variants/MK3S-E3DREVO.h +++ b/Firmware/variants/MK3S-E3DREVO.h @@ -5,7 +5,7 @@ #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK3S @@ -22,12 +22,10 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define HAS_SECOND_SERIAL_PORT // PSU -// #define PSU_Delta // uncomment if DeltaElectronics PSU installed - +//#define PSU_Delta // uncomment if DeltaElectronics PSU installed // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -35,10 +33,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} @@ -99,7 +96,6 @@ #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000} // (mm/sec^2) max acceleration (M201), silent mode - #define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204P) #define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204R) #define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for travels (M204T) @@ -157,7 +153,6 @@ //#define BACKLASH_X //#define BACKLASH_Y - // Minimum ambient temperature limit to start triggering MINTEMP errors [C] // this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, // temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle @@ -203,19 +198,16 @@ #define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD #define LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION_XYZ #define TMC2130_VARIABLE_RESOLUTION - - /*------------------------------------ TMC2130 default settings - *------------------------------------*/ +*------------------------------------*/ #define TMC2130_FCLK 12000000 // fclk = 12MHz @@ -225,7 +217,7 @@ #define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis -// #define ALLOW_ALL_MRES +//#define ALLOW_ALL_MRES #define TMC2130_PWM_GRAD_X 2 // PWMCONF #define TMC2130_PWM_AMPL_X 230 // PWMCONF @@ -297,22 +289,21 @@ //#define TMC2130_DEBUG_WR //#define TMC2130_DEBUG_RD - /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 10 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 10 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 10 //#define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -321,30 +312,27 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #define AMBIENT_MAXTEMP 80 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for E3D REVO -#define DEFAULT_Kp 25.00 -#define DEFAULT_Ki 4.8 -#define DEFAULT_Kd 32.6 -#endif +#define DEFAULT_Kp 25.00 +#define DEFAULT_Ki 4.8 +#define DEFAULT_Kd 32.6 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 @@ -357,7 +345,7 @@ /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -380,20 +368,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -424,28 +403,16 @@ #include "thermal_model/e3d_REVO.h" #define THERMAL_MODEL_DEFAULT E3D_REVO // Default E3D REVO model parameters -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current settings for Einsy/tmc = 0..63 #define MOTOR_CURRENT_PWM_RANGE 63 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -469,7 +436,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -496,33 +463,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -560,7 +526,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -603,16 +569,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define TEMP_SENSOR_AMBIENT 2000 @@ -645,7 +611,6 @@ #define MIN_PRINT_FAN_SPEED 75 - // How much shall the print head be lifted on power panic? // Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, // UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. @@ -701,7 +666,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -709,4 +675,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK3S-E3DREVO_HF_60W.h b/Firmware/variants/MK3S-E3DREVO_HF_60W.h index eb173da03..602cc7ec0 100644 --- a/Firmware/variants/MK3S-E3DREVO_HF_60W.h +++ b/Firmware/variants/MK3S-E3DREVO_HF_60W.h @@ -5,7 +5,7 @@ #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK3S @@ -22,12 +22,10 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define HAS_SECOND_SERIAL_PORT // PSU -// #define PSU_Delta // uncomment if DeltaElectronics PSU installed - +//#define PSU_Delta // uncomment if DeltaElectronics PSU installed // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -35,10 +33,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} @@ -99,7 +96,6 @@ #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000} // (mm/sec^2) max acceleration (M201), silent mode - #define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204P) #define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204R) #define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for travels (M204T) @@ -157,7 +153,6 @@ //#define BACKLASH_X //#define BACKLASH_Y - // Minimum ambient temperature limit to start triggering MINTEMP errors [C] // this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, // temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle @@ -203,19 +198,16 @@ #define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD #define LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION_XYZ #define TMC2130_VARIABLE_RESOLUTION - - /*------------------------------------ TMC2130 default settings - *------------------------------------*/ +*------------------------------------*/ #define TMC2130_FCLK 12000000 // fclk = 12MHz @@ -225,7 +217,7 @@ #define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis -// #define ALLOW_ALL_MRES +//#define ALLOW_ALL_MRES #define TMC2130_PWM_GRAD_X 2 // PWMCONF #define TMC2130_PWM_AMPL_X 230 // PWMCONF @@ -297,22 +289,21 @@ //#define TMC2130_DEBUG_WR //#define TMC2130_DEBUG_RD - /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 10 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 10 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 10 //#define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -321,31 +312,28 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #define AMBIENT_MAXTEMP 80 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for E3D REVO HF 60W -#define MAX_OVERSHOOT_PID_AUTOTUNE 30 -#define DEFAULT_Kp 15.00 -#define DEFAULT_Ki 2.9 -#define DEFAULT_Kd 19.2 -#endif +#define MAX_OVERSHOOT_PID_AUTOTUNE 30 +#define DEFAULT_Kp 15.00 +#define DEFAULT_Ki 2.9 +#define DEFAULT_Kd 19.2 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 @@ -358,7 +346,7 @@ /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -381,20 +369,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -425,28 +404,16 @@ #include "thermal_model/e3d_REVO_HF_60W.h" #define THERMAL_MODEL_DEFAULT E3D_REVO_HF_60W // Default E3D REVO HF 60W model parameters -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current settings for Einsy/tmc = 0..63 #define MOTOR_CURRENT_PWM_RANGE 63 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -470,7 +437,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -497,33 +464,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -561,7 +527,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -604,16 +570,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define TEMP_SENSOR_AMBIENT 2000 @@ -646,7 +612,6 @@ #define MIN_PRINT_FAN_SPEED 75 - // How much shall the print head be lifted on power panic? // Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, // UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. @@ -702,7 +667,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -710,4 +676,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H diff --git a/Firmware/variants/MK3S.h b/Firmware/variants/MK3S.h index c6f682554..154706f70 100644 --- a/Firmware/variants/MK3S.h +++ b/Firmware/variants/MK3S.h @@ -5,7 +5,7 @@ #include "printers.h" /*------------------------------------ GENERAL SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Printer revision #define PRINTER_TYPE PRINTER_MK3S @@ -22,12 +22,10 @@ // Electronics #define MOTHERBOARD BOARD_EINSY_1_0a #define STEEL_SHEET -//#define NEW_FIRST_LAYER_CAL //from front to back #define HAS_SECOND_SERIAL_PORT // PSU -// #define PSU_Delta // uncomment if DeltaElectronics PSU installed - +//#define PSU_Delta // uncomment if DeltaElectronics PSU installed // Uncomment the below for the E3D PT100 temperature sensor (with or without PT100 Amplifier) //#define E3D_PT100_EXTRUDER_WITH_AMP @@ -35,10 +33,9 @@ //#define E3D_PT100_BED_WITH_AMP //#define E3D_PT100_BED_NO_AMP - /*------------------------------------ AXIS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Steps per unit {X,Y,Z,E} #define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,280} @@ -99,7 +96,6 @@ #define DEFAULT_MAX_ACCELERATION {1000, 1000, 200, 5000} // (mm/sec^2) max acceleration (M201) #define DEFAULT_MAX_ACCELERATION_SILENT {960, 960, 200, 5000} // (mm/sec^2) max acceleration (M201), silent mode - #define DEFAULT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for printing moves (M204P) #define DEFAULT_RETRACT_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for retracts (M204R) #define DEFAULT_TRAVEL_ACCELERATION 1250 // X, Y, Z and E max acceleration in mm/s^2 for travels (M204T) @@ -157,7 +153,6 @@ //#define BACKLASH_X //#define BACKLASH_Y - // Minimum ambient temperature limit to start triggering MINTEMP errors [C] // this value is litlebit higher that real limit, because ambient termistor is on the board and is temperated from it, // temperature inside the case is around 31C for ambient temperature 25C, when the printer is powered on long time and idle @@ -203,19 +198,16 @@ #define DEBUG_STEPPER_TIMER_MISSED // Stop on stepper timer overflow, beep and display a message. #define PLANNER_DIAGNOSTICS // Show the planner queue status on printer display. #define CMD_DIAGNOSTICS //Show cmd queue length on printer display -#endif /* DEBUG_BUILD */ - +#endif //DEBUG_BUILD #define LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION #define TMC2130_LINEARITY_CORRECTION_XYZ #define TMC2130_VARIABLE_RESOLUTION - - /*------------------------------------ TMC2130 default settings - *------------------------------------*/ +*------------------------------------*/ #define TMC2130_FCLK 12000000 // fclk = 12MHz @@ -225,7 +217,7 @@ #define TMC2130_INTPOL_XY 1 // extrapolate 256 for XY axes #define TMC2130_INTPOL_Z 1 // extrapolate 256 for Z axis #define TMC2130_INTPOL_E 1 // extrapolate 256 for E axis -// #define ALLOW_ALL_MRES +//#define ALLOW_ALL_MRES #define TMC2130_PWM_GRAD_X 2 // PWMCONF #define TMC2130_PWM_AMPL_X 230 // PWMCONF @@ -297,22 +289,21 @@ //#define TMC2130_DEBUG_WR //#define TMC2130_DEBUG_RD - /*------------------------------------ EXTRUDER SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Mintemps #define HEATER_0_MINTEMP 10 #define HEATER_MINTEMP_DELAY 15000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if HEATER_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see HEATER_MINTEMP_DELAY definition)" -#endif +#endif //HEATER_MINTEMP_DELAY>USHRT_MAX #define BED_MINTEMP 10 #define BED_MINTEMP_DELAY 50000 // [ms] ! if changed, check maximal allowed value @ ShortTimer #if BED_MINTEMP_DELAY>USHRT_MAX #error "Check maximal allowed value @ ShortTimer (see BED_MINTEMP_DELAY definition)" -#endif +#endif //BED_MINTEMP_DELAY>USHRT_MAX #define SUPERPINDA_SUPPORT #define PINDA_MINTEMP 10 //#define PINDA_TEMP_COMP //Used to enable SuperPINDA toggle menu/function @@ -321,33 +312,27 @@ // Maxtemps #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) #define HEATER_0_MAXTEMP 410 -#else +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define HEATER_0_MAXTEMP 305 -#endif +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP #define BED_MAXTEMP 125 #define AMBIENT_MAXTEMP 80 #if defined(E3D_PT100_EXTRUDER_WITH_AMP) || defined(E3D_PT100_EXTRUDER_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_Kp 21.70 -#define DEFAULT_Ki 1.60 -#define DEFAULT_Kd 73.76 -#else +#define DEFAULT_Kp 21.70 +#define DEFAULT_Ki 1.60 +#define DEFAULT_Kd 73.76 +#else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder -//#define DEFAULT_Kp 40.925 -//#define DEFAULT_Ki 4.875 -//#define DEFAULT_Kd 86.085 -#define DEFAULT_Kp 16.13 -#define DEFAULT_Ki 1.1625 -#define DEFAULT_Kd 56.23 -#endif +#define DEFAULT_Kp 16.13 +#define DEFAULT_Ki 1.1625 +#define DEFAULT_Kd 56.23 +#endif //E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Extrude mintemp #define EXTRUDE_MINTEMP 175 -// Quick nozzle change supported -//#define QUICK_NOZZLE_CHANGE - // Extruder cooling fans #define EXTRUDER_0_AUTO_FAN_PIN 8 #define EXTRUDER_AUTO_FAN_TEMPERATURE 50 @@ -360,7 +345,7 @@ /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -383,20 +368,11 @@ #define FILAMENTCHANGE_EXFEED 2 #define FILAMENTCHANGE_ZFEED 15 -//Retract and then extrude some filament to prevent oozing. -//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. -//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. -//#define COMMUNITY_PREVENT_OOZE -#ifdef COMMUNITY_PREVENT_OOZE -#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention -#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention -#endif //End COMMUNITY_PREVENT_OOZE - -#endif +#endif //FILAMENTCHANGEENABLE /*------------------------------------ ADDITIONAL FEATURES SETTINGS - *------------------------------------*/ +*------------------------------------*/ // temperature runaway #define TEMP_RUNAWAY_BED_HYSTERESIS 5 @@ -427,28 +403,16 @@ #include "thermal_model/e3d_v6.h" #define THERMAL_MODEL_DEFAULT E3D_V6 // Default model parameters -/*------------------------------------ - HOST FEATURES - *------------------------------------*/ - -// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD meun. -//#define HOST_SHUTDOWN - -// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. -// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with -// "Print from host" and send '//action:start' instead. -//#define REPLACE_SETREADY - /*------------------------------------ MOTOR CURRENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Motor Current settings for Einsy/tmc = 0..63 #define MOTOR_CURRENT_PWM_RANGE 63 /*------------------------------------ BED SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Define Mesh Bed Leveling system to enable it #define MESH_BED_LEVELING @@ -472,7 +436,7 @@ #define X_PROBE_OFFSET_FROM_EXTRUDER 23 // Z probe to nozzle X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 5 // Z probe to nozzle Y offset: -front +behind #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.4 // Z probe to nozzle Z offset: -below (always!) -#endif +#endif //MESH_BED_LEVELING // Bed Temperature Control // Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis @@ -499,33 +463,32 @@ #define BED_OFFSET_START 40 #define BED_OFFSET_CENTER 50 - #ifdef PIDTEMPBED //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) #if defined(E3D_PT100_BED_WITH_AMP) || defined(E3D_PT100_BED_NO_AMP) // Define PID constants for extruder with PT100 -#define DEFAULT_bedKp 21.70 -#define DEFAULT_bedKi 1.60 -#define DEFAULT_bedKd 73.76 -#else -#define DEFAULT_bedKp 126.13 -#define DEFAULT_bedKi 4.30 -#define DEFAULT_bedKd 924.76 -#endif +#define DEFAULT_bedKp 21.70 +#define DEFAULT_bedKi 1.60 +#define DEFAULT_bedKd 73.76 +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP +#define DEFAULT_bedKp 126.13 +#define DEFAULT_bedKi 4.30 +#define DEFAULT_bedKd 924.76 +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP //120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) //from pidautotune -// #define DEFAULT_bedKp 97.1 -// #define DEFAULT_bedKi 1.41 -// #define DEFAULT_bedKd 1675.16 +//#define DEFAULT_bedKp 97.1 +//#define DEFAULT_bedKi 1.41 +//#define DEFAULT_bedKd 1675.16 // FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles. -#endif // PIDTEMPBED +#endif //PIDTEMPBED /*----------------------------------- PREHEAT SETTINGS - *------------------------------------*/ +*------------------------------------*/ #define PLA_PREHEAT_HOTEND_TEMP 215 #define PLA_PREHEAT_HPB_TEMP 60 @@ -563,7 +526,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -606,16 +569,16 @@ #define TEMP_SENSOR_0 247 #elif defined(E3D_PT100_EXTRUDER_NO_AMP) #define TEMP_SENSOR_0 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_0 5 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #if defined(E3D_PT100_BED_WITH_AMP) #define TEMP_SENSOR_BED 247 #elif defined(E3D_PT100_BED_NO_AMP) #define TEMP_SENSOR_BED 148 -#else +#else //NOT E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_BED 1 -#endif +#endif //E3D_PT100_BED_WITH_AMP || E3D_PT100_BED_NO_AMP #define TEMP_SENSOR_PINDA 1 #define TEMP_SENSOR_AMBIENT 2000 @@ -648,7 +611,6 @@ #define MIN_PRINT_FAN_SPEED 75 - // How much shall the print head be lifted on power panic? // Ideally the Z axis will reach a zero phase of the stepper driver on power outage. To simplify this, // UVLO_Z_AXIS_SHIFT shall be an integer multiply of the stepper driver cycle, that is 4x full step. @@ -704,7 +666,8 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH @@ -712,4 +675,31 @@ //Remove the "AutoLoad filament" LCD menu entry if autoload is enabled. //#define REMOVE_AUTOLOAD_FILAMENT_MENU_ENTRY +// Quick nozzle change supported +//#define QUICK_NOZZLE_CHANGE + +//Retract and then extrude some filament to prevent oozing. +//After the loading sequence and after a print is canceled, the filament is retracted to get it out of the heat zone of the nozzle. +//Then a small extrusion is performed to make sure the filament is close enough for the next print without oozing. +//#define COMMUNITY_PREVENT_OOZE +#ifdef COMMUNITY_PREVENT_OOZE +#define FILAMENTCHANGE_COMMUNITY_ROOZEFEED -10 //E retract distance in mm for ooze prevention +#define FILAMENTCHANGE_COMMUNITY_EOOZEFEED 4 //E extrude distance in mm for ooze prevention +#endif //COMMUNITY_PREVENT_OOZE + +// New first layer cal +//#define NEW_FIRST_LAYER_CAL //from front to back + +/*------------------------------------ + COMMUNITY FEATURES - HOST FEATURES +*------------------------------------*/ + +// Uncomment if the host supports '//action:shutdown'. It will add "Shutdown host" to the LCD menu. +//#define HOST_SHUTDOWN + +// Uncomment if the host doesn't support '//action:ready' & '//action:notready'. +// This will replace the "Set Ready"/"Set not Ready" LCD menu entry with +// "Print from host" and send '//action:start' instead. +//#define REPLACE_SETREADY + #endif //__CONFIGURATION_PRUSA_H From 5e7e48a1ba8ee02f8020a58071ec9eb09cdc8063 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 8 Jan 2025 07:08:53 +0100 Subject: [PATCH 2/4] MAX_OVERSHOOT_PID_AUTOTUNE in all variants --- Firmware/temperature.cpp | 3 --- Firmware/variants/MK25-RAMBo10a.h | 1 + Firmware/variants/MK25-RAMBo13a.h | 1 + Firmware/variants/MK25S-RAMBo10a.h | 1 + Firmware/variants/MK25S-RAMBo13a.h | 1 + Firmware/variants/MK3-E3DREVO.h | 1 + Firmware/variants/MK3.h | 1 + Firmware/variants/MK3S-E3DREVO.h | 1 + Firmware/variants/MK3S.h | 1 + 9 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index cee55b661..4b490e08d 100755 --- a/Firmware/temperature.cpp +++ b/Firmware/temperature.cpp @@ -387,9 +387,6 @@ void __attribute__((noinline)) PID_autotune(float temp, int extruder, int ncycle } } } - #ifndef MAX_OVERSHOOT_PID_AUTOTUNE - #define MAX_OVERSHOOT_PID_AUTOTUNE 20 - #endif if(input > (temp + MAX_OVERSHOOT_PID_AUTOTUNE)) { SERIAL_PROTOCOLLNPGM("PID Autotune failed! Temperature too high"); pid_tuning_finished = true; diff --git a/Firmware/variants/MK25-RAMBo10a.h b/Firmware/variants/MK25-RAMBo10a.h index 88cd5d115..0460e2e19 100644 --- a/Firmware/variants/MK25-RAMBo10a.h +++ b/Firmware/variants/MK25-RAMBo10a.h @@ -189,6 +189,7 @@ #define DEFAULT_Kd 73.76 #else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 #define DEFAULT_Kp 16.13 #define DEFAULT_Ki 1.1625 #define DEFAULT_Kd 56.23 diff --git a/Firmware/variants/MK25-RAMBo13a.h b/Firmware/variants/MK25-RAMBo13a.h index 74fad4e2c..1db1018c3 100644 --- a/Firmware/variants/MK25-RAMBo13a.h +++ b/Firmware/variants/MK25-RAMBo13a.h @@ -189,6 +189,7 @@ #define DEFAULT_Kd 73.76 #else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 #define DEFAULT_Kp 16.13 #define DEFAULT_Ki 1.1625 #define DEFAULT_Kd 56.23 diff --git a/Firmware/variants/MK25S-RAMBo10a.h b/Firmware/variants/MK25S-RAMBo10a.h index 4238f925e..a8f249267 100644 --- a/Firmware/variants/MK25S-RAMBo10a.h +++ b/Firmware/variants/MK25S-RAMBo10a.h @@ -189,6 +189,7 @@ #define DEFAULT_Kd 73.76 #else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 #define DEFAULT_Kp 16.13 #define DEFAULT_Ki 1.1625 #define DEFAULT_Kd 56.23 diff --git a/Firmware/variants/MK25S-RAMBo13a.h b/Firmware/variants/MK25S-RAMBo13a.h index b9c3df828..7e9afd207 100644 --- a/Firmware/variants/MK25S-RAMBo13a.h +++ b/Firmware/variants/MK25S-RAMBo13a.h @@ -189,6 +189,7 @@ #define DEFAULT_Kd 73.76 #else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 #define DEFAULT_Kp 16.13 #define DEFAULT_Ki 1.1625 #define DEFAULT_Kd 56.23 diff --git a/Firmware/variants/MK3-E3DREVO.h b/Firmware/variants/MK3-E3DREVO.h index a5f3351b8..086860423 100644 --- a/Firmware/variants/MK3-E3DREVO.h +++ b/Firmware/variants/MK3-E3DREVO.h @@ -325,6 +325,7 @@ #define DEFAULT_Kd 73.76 #else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for E3D REVO +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 #define DEFAULT_Kp 25.00 #define DEFAULT_Ki 4.8 #define DEFAULT_Kd 32.6 diff --git a/Firmware/variants/MK3.h b/Firmware/variants/MK3.h index 4a27960dd..ea7c66a9d 100644 --- a/Firmware/variants/MK3.h +++ b/Firmware/variants/MK3.h @@ -325,6 +325,7 @@ #define DEFAULT_Kd 73.76 #else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 #define DEFAULT_Kp 16.13 #define DEFAULT_Ki 1.1625 #define DEFAULT_Kd 56.23 diff --git a/Firmware/variants/MK3S-E3DREVO.h b/Firmware/variants/MK3S-E3DREVO.h index d1d7e78a0..287d5ce85 100644 --- a/Firmware/variants/MK3S-E3DREVO.h +++ b/Firmware/variants/MK3S-E3DREVO.h @@ -325,6 +325,7 @@ #define DEFAULT_Kd 73.76 #else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for E3D REVO +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 #define DEFAULT_Kp 25.00 #define DEFAULT_Ki 4.8 #define DEFAULT_Kd 32.6 diff --git a/Firmware/variants/MK3S.h b/Firmware/variants/MK3S.h index 154706f70..452cb4dce 100644 --- a/Firmware/variants/MK3S.h +++ b/Firmware/variants/MK3S.h @@ -325,6 +325,7 @@ #define DEFAULT_Kd 73.76 #else //NOT E3D_PT100_EXTRUDER_WITH_AMP || E3D_PT100_EXTRUDER_NO_AMP // Define PID constants for extruder +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 #define DEFAULT_Kp 16.13 #define DEFAULT_Ki 1.1625 #define DEFAULT_Kd 56.23 From 5a49b78547dfba2709901942b6488cf33e0622b6 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 8 Jan 2025 17:01:50 +0100 Subject: [PATCH 3/4] Update Community_made --- Community_made.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/Community_made.md b/Community_made.md index 982a87117..11b002185 100644 --- a/Community_made.md +++ b/Community_made.md @@ -59,7 +59,55 @@ Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/ # E3D Revo **The E3D REVO support is a community effort thanks to these Contributors, E3D and others.** - Maintainers: **E3D** -- Co-maintainers: +- Co-maintainers: @3d-gussner - Contributors: @alexiri @kromeninja @ulab @JWvP @snafu1282 @matthiazzz @sdh2 @jdrozdz @peschkaj @MarcelTh @zuidwijk @davejhilton @WhiterRice @NightSkySK @D-an-W - [X] **Active** since June 2023 - [X] **Maintained** since April 2023 + +# QUICK Nozzle change +Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/4600) +- Maintainers: @sarusani +- Co-maintainers: @3d-gussner +- Contributors: +- [X] **Community** since Feb 2024 +- [X] **Maintained** since Feb 2024 + +# Prevent oozing after filament load +Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/4534) +- Maintainers: @sarusani +- Co-maintainers: @3d-gussner +- Contributors: +- [X] **Community** since Dec 2023 +- [X] **Maintained** since Dec 2023 + +# Shutdown host +Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/4553) +- Maintainers: @sarusani +- Co-maintainers: @3d-gussner +- Contributors: +- [X] **Community** since Jan 2024 +- [X] **Maintained** since Jan 2024 + +# Allow to replace Set Ready menu entry +Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/4737) +- Maintainers: @sarusani +- Co-maintainers: @3d-gussner +- Contributors: @gudnimg @Ro3Deee @AttilaSVK +- [X] **Community** since Aug 2024 +- [X] **Maintained** since Aug 2024 + +# New First layer +Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/4811) +- Maintainers: @3d-gussner +- Co-maintainers: +- Contributors: @gudnimg @leptun @DRracer @wavexx @ingbrzy @stelgenhof @AttilaSVK @arekm @ErwanAliasr1 @Ilovemyhous +- [X] **Community** since Nov 2024 +- [X] **Maintained** since Nov 2024 + +# New First layer +Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/4821) +- Maintainers: @3d-gussner +- Co-maintainers: +- Contributors: +- [X] **Community** since Dec 2024 +- [X] **Maintained** since Dec 2024 From 1cc110850b093876d1c11076545751f4c6d345cd Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Fri, 10 Jan 2025 16:29:57 +0100 Subject: [PATCH 4/4] Fix copy paste --- Community_made.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Community_made.md b/Community_made.md index 11b002185..70db4b32e 100644 --- a/Community_made.md +++ b/Community_made.md @@ -104,7 +104,7 @@ Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/ - [X] **Community** since Nov 2024 - [X] **Maintained** since Nov 2024 -# New First layer +# Show filename after SD print finished Please read more about it [here](https://github.com/prusa3d/Prusa-Firmware/pull/4821) - Maintainers: @3d-gussner - Co-maintainers: