I have the Smart Filament Sensor v2 connected to the SKR mini E3 v3 running Marlin bugfix-2.1.x. Whenever I start a print, usually during the nozzle wipe, I get a Filament Runout TO. After resuming it is fine. I cannot figure out why I am getting the filament runout at this point.
define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.
define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present.
define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
//#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.
//#define WATCH_ALL_RUNOUT_SENSORS // Execute runout script on any triggering sensor, not only for the active extruder.
// This is automatically enabled for MIXING_EXTRUDERs.
// Override individually if the runout sensors vary
//#define FIL_RUNOUT1_STATE LOW
//#define FIL_RUNOUT1_PULLUP
//#define FIL_RUNOUT1_PULLDOWN
// Commands to execute on filament runout.
// With multiple runout sensors use the %c placeholder for the current tool in commands (e.g., "M600 T%c")
// NOTE: After 'M412 H1' the host handles filament runout and this script does not apply.
define FILAMENT_RUNOUT_SCRIPT "M600"
// After a runout is detected, continue printing this length of filament
// before executing the runout script. Useful for a sensor at the end of
// a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
define FILAMENT_RUNOUT_DISTANCE_MM 3
ifdef FILAMENT_RUNOUT_DISTANCE_MM
// Enable this option to use an encoder disc that toggles the runout pin
// as the filament moves. (Be sure to set FILAMENT_RUNOUT_DISTANCE_MM
// large enough to avoid false positives.)
#define FILAMENT_MOTION_SENSOR
#if ENABLED(FILAMENT_MOTION_SENSOR)
#define FILAMENT_SWITCH_AND_MOTION
#if ENABLED(FILAMENT_SWITCH_AND_MOTION)
#define NUM_MOTION_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_MOTION#_PIN for each.
#define FIL_MOTION1_PIN PC2
// Override individually if the motion sensors vary
//#define FIL_MOTION1_STATE LOW
//#define FIL_MOTION1_PULLUP
//#define FIL_MOTION1_PULLDOWN
//#define FIL_MOTION2_STATE LOW
//#define FIL_MOTION2_PULLUP
//#define FIL_MOTION2_PULLDOWN
//#define FIL_MOTION3_STATE LOW
//#define FIL_MOTION3_PULLUP
//#define FIL_MOTION3_PULLDOWN
//#define FIL_MOTION4_STATE LOW
//#define FIL_MOTION4_PULLUP
//#define FIL_MOTION4_PULLDOWN
//#define FIL_MOTION5_STATE LOW
//#define FIL_MOTION5_PULLUP
//#define FIL_MOTION5_PULLDOWN
//#define FIL_MOTION6_STATE LOW
//#define FIL_MOTION6_PULLUP
//#define FIL_MOTION6_PULLDOWN
//#define FIL_MOTION7_STATE LOW
//#define FIL_MOTION7_PULLUP
//#define FIL_MOTION7_PULLDOWN
//#define FIL_MOTION8_STATE LOW
//#define FIL_MOTION8_PULLUP
//#define FIL_MOTION8_PULLDOWN
#endif
#endif
I have the Smart Filament Sensor v2 connected to the SKR mini E3 v3 running Marlin bugfix-2.1.x. Whenever I start a print, usually during the nozzle wipe, I get a Filament Runout TO. After resuming it is fine. I cannot figure out why I am getting the filament runout at this point.
I have plugged in the coonections following page 13 in this document -https://github.com/bigtreetech/smart-filament-detection-module/V2.0/Manual/SFS V2.0 User Manual_20231123.pdf
I have configure Marlin according to this https://github.com/bigtreetech/smart-filament-detection-module
Here is my Configuration.h
`#define FILAMENT_RUNOUT_SENSOR
if ENABLED(FILAMENT_RUNOUT_SENSOR)
define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.
define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present.
define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
//#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. //#define WATCH_ALL_RUNOUT_SENSORS // Execute runout script on any triggering sensor, not only for the active extruder. // This is automatically enabled for MIXING_EXTRUDERs.
// Override individually if the runout sensors vary //#define FIL_RUNOUT1_STATE LOW //#define FIL_RUNOUT1_PULLUP //#define FIL_RUNOUT1_PULLDOWN
//#define FIL_RUNOUT2_STATE LOW //#define FIL_RUNOUT2_PULLUP //#define FIL_RUNOUT2_PULLDOWN
//#define FIL_RUNOUT3_STATE LOW //#define FIL_RUNOUT3_PULLUP //#define FIL_RUNOUT3_PULLDOWN
//#define FIL_RUNOUT4_STATE LOW //#define FIL_RUNOUT4_PULLUP //#define FIL_RUNOUT4_PULLDOWN
//#define FIL_RUNOUT5_STATE LOW //#define FIL_RUNOUT5_PULLUP //#define FIL_RUNOUT5_PULLDOWN
//#define FIL_RUNOUT6_STATE LOW //#define FIL_RUNOUT6_PULLUP //#define FIL_RUNOUT6_PULLDOWN
//#define FIL_RUNOUT7_STATE LOW //#define FIL_RUNOUT7_PULLUP //#define FIL_RUNOUT7_PULLDOWN
//#define FIL_RUNOUT8_STATE LOW //#define FIL_RUNOUT8_PULLUP //#define FIL_RUNOUT8_PULLDOWN
// Commands to execute on filament runout. // With multiple runout sensors use the %c placeholder for the current tool in commands (e.g., "M600 T%c") // NOTE: After 'M412 H1' the host handles filament runout and this script does not apply.
define FILAMENT_RUNOUT_SCRIPT "M600"
// After a runout is detected, continue printing this length of filament // before executing the runout script. Useful for a sensor at the end of // a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
define FILAMENT_RUNOUT_DISTANCE_MM 3
ifdef FILAMENT_RUNOUT_DISTANCE_MM
endif
endif`
Any help is appreciated!