diff --git a/Community_made.md b/Community_made.md index 982a87117e..70db4b32e3 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 + +# 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: +- Contributors: +- [X] **Community** since Dec 2024 +- [X] **Maintained** since Dec 2024 diff --git a/Firmware/temperature.cpp b/Firmware/temperature.cpp index cee55b6617..4b490e08db 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 891d88385c..871fe27155 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,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 #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 MAX_OVERSHOOT_PID_AUTOTUNE 20 +#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 +233,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 +246,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 +261,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 +289,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 +316,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 +379,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -451,16 +422,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 +463,6 @@ #define MIN_PRINT_FAN_SPEED 75 - #define M600_TIMEOUT 600 //seconds //#define SUPPORT_VERBOSITY @@ -503,6 +473,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,9 +500,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 a94097c41f..43b4a500e7 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,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 #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 MAX_OVERSHOOT_PID_AUTOTUNE 20 +#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 +233,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 +246,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 +261,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 +289,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 +316,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 +379,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -452,16 +422,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 +463,6 @@ #define MIN_PRINT_FAN_SPEED 75 - #define M600_TIMEOUT 600 //seconds //#define SUPPORT_VERBOSITY @@ -504,6 +473,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,9 +503,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 6e0484468b..a7f21a09ec 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,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 #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 MAX_OVERSHOOT_PID_AUTOTUNE 20 +#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 +233,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 +246,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 +261,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 +289,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 +316,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 +379,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -451,16 +422,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 +463,6 @@ #define MIN_PRINT_FAN_SPEED 75 - #define M600_TIMEOUT 600 //seconds //#define SUPPORT_VERBOSITY @@ -530,9 +500,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 1ae556fdb7..91654d3bd9 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,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 #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 MAX_OVERSHOOT_PID_AUTOTUNE 20 +#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 +233,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 +246,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 +261,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 +289,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 +316,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 +379,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -452,16 +422,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 +463,6 @@ #define MIN_PRINT_FAN_SPEED 75 - #define M600_TIMEOUT 600 //seconds //#define SUPPORT_VERBOSITY @@ -531,9 +500,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 4d81d5bb75..36eaf289e7 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,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 -#define DEFAULT_Kp 25.00 -#define DEFAULT_Ki 4.8 -#define DEFAULT_Kd 32.6 -#endif +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 +#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 +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 @@ -420,28 +404,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 +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 @@ -492,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 @@ -556,7 +527,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -599,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 @@ -641,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. @@ -670,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 @@ -689,9 +667,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 9c10541b6b..eb80750a9c 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,9 +667,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 6b759993e3..83b2821a93 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,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 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 MAX_OVERSHOOT_PID_AUTOTUNE 20 +#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 +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 @@ -423,28 +404,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 +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 @@ -495,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 @@ -559,7 +527,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -602,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 @@ -644,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. @@ -673,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 @@ -692,9 +667,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 b6e98348f9..023dd4b3dd 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,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 -#define DEFAULT_Kp 25.00 -#define DEFAULT_Ki 4.8 -#define DEFAULT_Kd 32.6 -#endif +#define MAX_OVERSHOOT_PID_AUTOTUNE 20 +#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 +346,7 @@ /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -380,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 @@ -424,28 +404,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 +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 @@ -496,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 @@ -560,7 +527,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -603,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 @@ -645,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. @@ -701,9 +667,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 048c94faa0..605fdeec9e 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,9 +667,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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 962e74eff8..7ed96e7f32 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,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 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 MAX_OVERSHOOT_PID_AUTOTUNE 20 +#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 +346,7 @@ /*------------------------------------ CHANGE FILAMENT SETTINGS - *------------------------------------*/ +*------------------------------------*/ // Filament change configuration #define FILAMENTCHANGEENABLE @@ -383,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 @@ -427,28 +404,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 +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 @@ -499,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 @@ -563,7 +527,7 @@ /*------------------------------------ THERMISTORS SETTINGS - *------------------------------------*/ +*------------------------------------*/ // //--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table @@ -606,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 @@ -648,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. @@ -704,9 +667,37 @@ /*------------------------------------ COMMUNITY FEATURES - *------------------------------------*/ +*------------------------------------*/ +// Please place all community features here //Show filename instead of print time after SD card print finished //#define SHOW_FILENAME_AFTER_FINISH +// 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