mirror of
https://github.com/MarlinFirmware/Configurations.git
synced 2025-07-07 23:17:38 -06:00
New MMU settings
This commit is contained in:
parent
172189ca0f
commit
d3bd6e7795
420 changed files with 13335 additions and 13560 deletions
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload from the LCD menu.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -159,33 +159,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3531,11 +3531,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3553,44 +3566,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3598,8 +3596,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3615,11 +3612,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -196,33 +196,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3522,11 +3522,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3544,44 +3557,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3589,8 +3587,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3606,11 +3603,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -196,33 +196,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3521,11 +3521,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3543,44 +3556,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3588,8 +3586,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3605,11 +3602,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3522,11 +3522,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3544,44 +3557,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3589,8 +3587,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3606,11 +3603,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -159,33 +159,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -159,33 +159,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -162,33 +162,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -159,33 +159,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -163,33 +163,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3524,11 +3524,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3546,44 +3559,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3591,8 +3589,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3608,11 +3605,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -166,33 +166,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3528,11 +3528,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3550,44 +3563,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3595,8 +3593,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3612,11 +3609,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -159,33 +159,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -167,33 +167,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -165,33 +165,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3526,11 +3526,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3548,44 +3561,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3593,8 +3591,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3610,11 +3607,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3523,11 +3523,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3545,44 +3558,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3590,8 +3588,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3607,11 +3604,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3521,11 +3521,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3543,44 +3556,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload from the LCD menu.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3588,8 +3586,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3605,11 +3602,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
|
@ -158,33 +158,19 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
|
* Multi-Material Unit
|
||||||
|
* Set to one of these predefined models:
|
||||||
*
|
*
|
||||||
* This device allows one stepper driver on a control board to drive
|
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
|
||||||
* two to eight stepper motors, one at a time, in a manner suitable
|
* PRUSA_MMU2 : Průša MMU2
|
||||||
* for extruders.
|
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
|
||||||
*
|
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
|
||||||
* This option only allows the multiplexer to switch on tool-change.
|
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
|
||||||
* Additional options to configure custom E moves are pending.
|
|
||||||
*/
|
|
||||||
//#define MK2_MULTIPLEXER
|
|
||||||
#if ENABLED(MK2_MULTIPLEXER)
|
|
||||||
// Override the default DIO selector pins here, if needed.
|
|
||||||
// Some pins files may provide defaults for these pins.
|
|
||||||
//#define E_MUX0_PIN 40 // Always Required
|
|
||||||
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
|
||||||
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Průša Multi-Material Unit v2
|
|
||||||
*
|
*
|
||||||
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
|
||||||
* Requires EXTRUDERS = 5
|
* See additional options in Configuration_adv.h.
|
||||||
*
|
|
||||||
* For additional configuration see Configuration_adv.h
|
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2
|
//#define MMU_MODEL PRUSA_MMU2
|
||||||
|
|
||||||
// A dual extruder that uses a single stepper motor
|
// A dual extruder that uses a single stepper motor
|
||||||
//#define SWITCHING_EXTRUDER
|
//#define SWITCHING_EXTRUDER
|
||||||
|
|
|
@ -3520,11 +3520,24 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Průša Multi-Material Unit v2
|
* Průša Multi-Material Unit (MMU)
|
||||||
* Enable in Configuration.h
|
* Enable in Configuration.h
|
||||||
|
*
|
||||||
|
* These devices allow a single stepper driver on the board to drive
|
||||||
|
* multi-material feeders with any number of stepper motors.
|
||||||
*/
|
*/
|
||||||
#if ENABLED(PRUSA_MMU2)
|
#if HAS_PRUSA_MMU1
|
||||||
|
/**
|
||||||
|
* This option only allows the multiplexer to switch on tool-change.
|
||||||
|
* Additional options to configure custom E moves are pending.
|
||||||
|
*
|
||||||
|
* Override the default DIO selector pins here, if needed.
|
||||||
|
* Some pins files may provide defaults for these pins.
|
||||||
|
*/
|
||||||
|
//#define E_MUX0_PIN 40 // Always Required
|
||||||
|
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
|
||||||
|
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
|
||||||
|
#elif HAS_PRUSA_MMU2
|
||||||
// Serial port used for communication with MMU2.
|
// Serial port used for communication with MMU2.
|
||||||
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
|
||||||
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
|
||||||
|
@ -3542,44 +3555,29 @@
|
||||||
|
|
||||||
// Add an LCD menu for MMU2
|
// Add an LCD menu for MMU2
|
||||||
//#define MMU2_MENUS
|
//#define MMU2_MENUS
|
||||||
|
#if EITHER(MMU2_MENUS, HAS_PRUSA_MMU2S)
|
||||||
|
// Settings for filament load / unload from the LCD menu.
|
||||||
|
// This is for Průša MK3-style extruders. Customize for your hardware.
|
||||||
|
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
||||||
|
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
||||||
|
{ 7.2, 1145 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 36.0, 1393 }, \
|
||||||
|
{ 14.4, 871 }, \
|
||||||
|
{ 50.0, 198 }
|
||||||
|
|
||||||
// Settings for filament load / unload.
|
#define MMU2_RAMMING_SEQUENCE \
|
||||||
// This is for Průša MK3-style extruders. Customize for your hardware.
|
{ 1.0, 1000 }, \
|
||||||
#define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0
|
{ 1.0, 1500 }, \
|
||||||
#define MMU2_LOAD_TO_NOZZLE_SEQUENCE \
|
{ 2.0, 2000 }, \
|
||||||
{ 7.2, 1145 }, \
|
{ 1.5, 3000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ 2.5, 4000 }, \
|
||||||
{ 36.0, 1393 }, \
|
{ -15.0, 5000 }, \
|
||||||
{ 14.4, 871 }, \
|
{ -14.0, 1200 }, \
|
||||||
{ 50.0, 198 }
|
{ -6.0, 600 }, \
|
||||||
|
{ 10.0, 700 }, \
|
||||||
#define MMU2_RAMMING_SEQUENCE \
|
{ -10.0, 400 }, \
|
||||||
{ 1.0, 1000 }, \
|
{ -50.0, 2000 }
|
||||||
{ 1.0, 1500 }, \
|
|
||||||
{ 2.0, 2000 }, \
|
|
||||||
{ 1.5, 3000 }, \
|
|
||||||
{ 2.5, 4000 }, \
|
|
||||||
{ -15.0, 5000 }, \
|
|
||||||
{ -14.0, 1200 }, \
|
|
||||||
{ -6.0, 600 }, \
|
|
||||||
{ 10.0, 700 }, \
|
|
||||||
{ -10.0, 400 }, \
|
|
||||||
{ -50.0, 2000 }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* MMU Extruder Sensor
|
|
||||||
*
|
|
||||||
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
|
||||||
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
|
||||||
* sensor less than 38mm from the gears.
|
|
||||||
*
|
|
||||||
* During loading the extruder will stop when the sensor is triggered, then do a last
|
|
||||||
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
|
||||||
* If all attempts fail, a filament runout will be triggered.
|
|
||||||
*/
|
|
||||||
//#define MMU_EXTRUDER_SENSOR
|
|
||||||
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
|
||||||
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3587,8 +3585,7 @@
|
||||||
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
* This mode requires a MK3S extruder with a sensor at the extruder idler, like the MMU2S.
|
||||||
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
* See https://help.prusa3d.com/en/guide/3b-mk3s-mk2-5s-extruder-upgrade_41560, step 11
|
||||||
*/
|
*/
|
||||||
//#define PRUSA_MMU2_S_MODE
|
#if HAS_PRUSA_MMU2S
|
||||||
#if ENABLED(PRUSA_MMU2_S_MODE)
|
|
||||||
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
#define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries)
|
||||||
|
|
||||||
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
#define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min)
|
||||||
|
@ -3604,11 +3601,29 @@
|
||||||
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
#define MMU2_CAN_LOAD_INCREMENT_SEQUENCE \
|
||||||
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
{ -MMU2_CAN_LOAD_INCREMENT, MMU2_CAN_LOAD_FEEDRATE }
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MMU1 Extruder Sensor
|
||||||
|
*
|
||||||
|
* Support for a Průša (or other) IR Sensor to detect filament near the extruder
|
||||||
|
* and make loading more reliable. Suitable for an extruder equipped with a filament
|
||||||
|
* sensor less than 38mm from the gears.
|
||||||
|
*
|
||||||
|
* During loading the extruder will stop when the sensor is triggered, then do a last
|
||||||
|
* move up to the gears. If no filament is detected, the MMU2 can make some more attempts.
|
||||||
|
* If all attempts fail, a filament runout will be triggered.
|
||||||
|
*/
|
||||||
|
//#define MMU_EXTRUDER_SENSOR
|
||||||
|
#if ENABLED(MMU_EXTRUDER_SENSOR)
|
||||||
|
#define MMU_LOADING_ATTEMPTS_NR 5 // max. number of attempts to load filament if first load fail
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define MMU2_DEBUG // Write debug info to serial output
|
//#define MMU2_DEBUG // Write debug info to serial output
|
||||||
|
|
||||||
#endif // PRUSA_MMU2
|
#endif // HAS_PRUSA_MMU2
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Advanced Print Counter settings
|
* Advanced Print Counter settings
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue