Skip to main content

MDM Module Filament Clog Detection

Feature Introduction

The FLY-LLL PLUS Buffer can be used in conjunction with the FLY-MDM Filament Runout/Clog Sensor to achieve real-time monitoring and automatic handling of extruder clog conditions.

Core Features

  • Clog Detection: The MDM module monitors the buffer's filament status to detect clogs.
  • Unified Runout/Clog Handling: Runout detection is also handled by the MDM module, with signals sent via the buffer.

Important Note: When using the MDM module, all runout/clog detection signals are sent to the mainboard via the buffer. The mainboard cannot distinguish whether the signal originates from a runout or a clog.

Firmware Requirements

  • The buffer firmware version must be V1.1.0 or higher.

Hardware Wiring

1. Connecting the MDM Module to the Buffer

The MDM module communicates directly with the buffer for clog detection:

Loading...

2. Connecting the Buffer to the Mainboard (for Signal Forwarding)

The buffer forwards the detection signals from the MDM module to the mainboard:

Loading...

Specific Connection Method:

Buffer PinFunction DescriptionConnection Suggestion
STEPExtruder Stepper Signal MonitoringConnect to an available PWM, RGB, or 12864 interface on the mainboard.
DIRExtruder Direction Signal MonitoringConnect to an available endstop interface on the mainboard.

Tip: The servo port for BL-Touch can also be used for STEP signal monitoring.

Klipper Configuration

Pre-configuration Preparation

Before adding the MDM module configuration, ensure the following are correctly configured:

  • Basic extruder configuration
  • Basic buffer functionality configuration
  • Note: Runout detection now follows the path: MDM module → Buffer → Mainboard.

1. Buffer Monitor Configuration (for Clog Detection)

Add the following configuration to the Klipper configuration file (e.g., printer.cfg) to monitor extruder status:

# Configure extruder motor monitoring (for clog detection)
[extruder_stepper buffer_monitor]
extruder: extruder # Associated main extruder name
step_pin: PE10 # Replace with the actual pin connected to buffer PA5
dir_pin: PD4 # Replace with the actual pin connected to buffer PB11
rotation_distance: 17.472 # Replace with your extruder's actual value
gear_ratio: 50:10 # Replace with your extruder's actual gear ratio
microsteps: 16 # Replace with your extruder's actual microstep setting
full_steps_per_rotation: 200 # Standard stepper motor is 200 steps/revolution

MDM Module Sensor Configuration (via Buffer Signal Forwarding)

# Buffer monitoring extruder (for clog detection)
[extruder_stepper buffer_monitor]
extruder: extruder
step_pin: PE10 # Connected to buffer PA5
dir_pin: PD4 # Connected to buffer PB11
rotation_distance: 17.472
gear_ratio: 50:10
microsteps: 16
full_steps_per_rotation: 200

Complete Configuration Example

# Main extruder configuration
[extruder]
step_pin: PB13
dir_pin: PB12
enable_pin: !PB14
microsteps: 16
rotation_distance: 17.472
gear_ratio: 50:10
nozzle_diameter: 0.4
filament_diameter: 1.75
heater_pin: PA1
sensor_type: ATC Semitec 104GT-2
sensor_pin: PC1
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 280

[extruder_stepper buffer_monitor]
extruder: extruder
step_pin: PE10 # Connected to buffer PA5
dir_pin: PD4 # Connected to buffer PB11
rotation_distance: 17.472
gear_ratio: 50:10
microsteps: 16
full_steps_per_rotation: 200

[filament_switch_sensor Material_breakage_detection]
pause_on_runout: true
switch_pin: ^PA0 # Please replace with the pin you actually use
runout_gcode:
PAUSE
RESPOND MSG="Filament runout detected, printing paused"
insert_gcode:
RESPOND MSG="Filament inserted, preparing to resume printing"
event_delay: 2.0 # Event trigger delay (seconds)
pause_delay: 2.0 # Pause command delay (seconds)
debounce_delay: 2.0 # Debounce delay (seconds)

Buffer Configuration

Get Serial Tool Assistant
  • Connect the module to the computer using a usb cable, open the Serial Tool Assistant, select the corresponding port number, baud rate 115200, and click Connect.
Loading...
Important Notes
  • If there is no gear_ratio in the extruder configuration, change both Driver Gear Count and Driven Gear Count to 1.
Loading...

Parameter Description

Function DescriptionConfiguration Command (Please enter in the serial tool)Default ValueUnitNotes
View all current parameters
Loading...
--Send command to read all current configurations.
Set motor pulse count
Loading...
916-Set the number of pulses required for the motor to move per millimeter.
Set encoder detection distance
Loading...
1.73mmSet the filament movement distance represented by each encoder signal.
Set run timeout duration
Loading...
60000msSet the auto-stop time in an untriggered state to prevent continuous extrusion.
Set error scaling factor
Loading...
2.0-Allowed error = encoder value X scale value.
Example: 1.73 * 2.0 = 3.46 mm
Set speed control command
Loading...
260mmSet the buffer operating speed, maximum 600 (revolutions/minute), firmware needs to be updated to V1.1.1

Operation Notes:

  1. Command Format: In the "Configuration Command" column of the above table, a full line of command (e.g., steps 916) is the content that needs to be fully entered.
  2. Sending Method: Enter the command in the sending area of the serial assistant, then click Send.
  3. Auto Save: Once the command is sent successfully, the parameter will take effect immediately and be automatically saved, no additional save operation is required.
  4. Confirm Configuration: After modifying any parameter, send the info command to query all current parameters to verify whether the configuration is correct.

Function Testing

1. Connection Test

  1. Complete the connection between the MDM module and the buffer.
  2. Complete the signal wire connection between the buffer and the mainboard.
  3. Ensure all connections are secure.

2. Complete Process Test

  1. Start a test print.
  2. Simulate a clog condition (operate carefully).
  3. Observe:
    • Whether the MDM module detects the issue.
    • Whether the buffer forwards the signal.
    • Whether the mainboard receives the signal.
Loading...