Merge branch '63-filament-change-filament-gets-stuck' into 'master'

Resolve "FILAMENT CHANGE - FILAMENT GETS STUCK"

Closes #63

See merge request lulzbot3d/marlin!46
This commit is contained in:
Robert Henderson 2021-12-15 13:40:42 +00:00
commit 498fd4b18f
3 changed files with 14 additions and 6 deletions

View File

@ -8,7 +8,7 @@
//#define LULZBOT_KangarooPaw_Experimental //#define LULZBOT_KangarooPaw_Experimental
//#define TazDualZ //#define TazDualZ
//#define LULZBOT_FILAMENT_RUNOUT
/************** Uncomment a Tool Head Option From Below *********************/ /************** Uncomment a Tool Head Option From Below *********************/
#define LULZBOT_UNIVERSAL_TOOLHEAD #define LULZBOT_UNIVERSAL_TOOLHEAD
//#define TOOLHEAD_SL_SE_HE //#define TOOLHEAD_SL_SE_HE
@ -1970,7 +1970,7 @@
* RAMPS-based boards use SERVO3_PIN for the first runout sensor. * RAMPS-based boards use SERVO3_PIN for the first runout sensor.
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc. * For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
*/ */
#if ANY(TAZPro, TAZProXT, Sidekick_289, Sidekick_747) #if ANY(TAZPro, TAZProXT, Sidekick_289, Sidekick_747,LULZBOT_FILAMENT_RUNOUT)
#define FILAMENT_RUNOUT_SENSOR #define FILAMENT_RUNOUT_SENSOR
#endif #endif
#if ENABLED(FILAMENT_RUNOUT_SENSOR) #if ENABLED(FILAMENT_RUNOUT_SENSOR)

View File

@ -2451,9 +2451,9 @@
#define PAUSE_PARK_RETRACT_FEEDRATE 10 // (mm/s) Initial retract feedrate. #define PAUSE_PARK_RETRACT_FEEDRATE 10 // (mm/s) Initial retract feedrate.
#define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract. #define PAUSE_PARK_RETRACT_LENGTH 2 // (mm) Initial retract.
// This short retract is done immediately, before parking the nozzle. // This short retract is done immediately, before parking the nozzle.
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 5 // (mm/s) Unload filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 2 // (mm/s) Unload filament feedrate. This can be pretty fast.
#define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate. #define FILAMENT_CHANGE_UNLOAD_ACCEL 25 // (mm/s^2) Lower acceleration may allow a faster feedrate.
#define FILAMENT_CHANGE_UNLOAD_LENGTH 70 // (mm) The length of filament for a complete unload. #define FILAMENT_CHANGE_UNLOAD_LENGTH 50 // (mm) The length of filament for a complete unload.
// For Bowden, the full length of the tube and nozzle. // For Bowden, the full length of the tube and nozzle.
// For direct drive, the full length of the nozzle. // For direct drive, the full length of the nozzle.
// Set to 0 for manual unloading. // Set to 0 for manual unloading.
@ -2477,8 +2477,11 @@
// Filament Unload does a Retract, Delay, and Purge first: // Filament Unload does a Retract, Delay, and Purge first:
#define FILAMENT_UNLOAD_PURGE_RETRACT 5 // (mm) Unload initial retract length. #define FILAMENT_UNLOAD_PURGE_RETRACT 5 // (mm) Unload initial retract length.
#define FILAMENT_UNLOAD_PURGE_DELAY 1500 // (ms) Delay for the filament to cool after retract. #define FILAMENT_UNLOAD_PURGE_DELAY 1500 // (ms) Delay for the filament to cool after retract.
#define FILAMENT_UNLOAD_PURGE_LENGTH 8 // (mm) An unretract is done, then this length is purged. #define FILAMENT_UNLOAD_PURGE_LENGTH 12 // (mm) An unretract is done, then this length is purged.
#define FILAMENT_UNLOAD_PURGE_FEEDRATE 25 // (mm/s) feedrate to purge before unload #define FILAMENT_UNLOAD_PURGE_FEEDRATE 20 // (mm/s) feedrate to purge before unload
#define FILAMENT_UNLOAD_FAST_LENGTH 15 // (mm) An unretract is done, then this length is purged.
#define FILAMENT_UNLOAD_FAST_FEEDRATE 25 // (mm/s) feedrate to purge before unload
#define LULZBOT_FILAMENT_UNLOAD_DELAY 2000 // (ms) Delay for the filament to cool after retract.
#define PAUSE_PARK_NOZZLE_TIMEOUT 180 // (seconds) Time limit before the nozzle is turned off for safety. #define PAUSE_PARK_NOZZLE_TIMEOUT 180 // (seconds) Time limit before the nozzle is turned off for safety.
#define FILAMENT_CHANGE_ALERT_BEEPS 2 // Number of alert beeps to play when a response is needed. #define FILAMENT_CHANGE_ALERT_BEEPS 2 // Number of alert beeps to play when a response is needed.

View File

@ -344,6 +344,11 @@ bool unload_filament(const_float_t unload_length, const bool show_lcd/*=false*/,
unscaled_e_move(unload_length * mix_multiplier, (FILAMENT_CHANGE_UNLOAD_FEEDRATE) * mix_multiplier); unscaled_e_move(unload_length * mix_multiplier, (FILAMENT_CHANGE_UNLOAD_FEEDRATE) * mix_multiplier);
safe_delay(LULZBOT_FILAMENT_UNLOAD_DELAY); // pausing to allow filament to stiffen up
unscaled_e_move((-FILAMENT_UNLOAD_FAST_LENGTH) * mix_multiplier, // Doing a fast unload to keep filament from deforming by hobbed gear
(FILAMENT_UNLOAD_FAST_FEEDRATE) * mix_multiplier);
#if FILAMENT_CHANGE_FAST_LOAD_ACCEL > 0 #if FILAMENT_CHANGE_FAST_LOAD_ACCEL > 0
planner.settings.retract_acceleration = saved_acceleration; planner.settings.retract_acceleration = saved_acceleration;
#endif #endif