Blockage Detection Optimization
Feature Description
FAST version 1.3.8 optimizes the blockage detection function, providing more precise blockage detection capabilities and flexible configuration options. This feature can monitor the extrusion status of the extruder in real time, automatically pausing printing and notifying the user when a blockage or filament break is detected.
System Version Requirement: This feature requires FlyOS-Fast system version greater than or equal to v1.3.8 to function properly.
Configuration Method
- Add the following configuration to the
printer.cfgfile: - Note that this is a reference configuration; specific parameters may need adjustment based on actual conditions.
[filament_blockage_detection my_sensor]
switch_pin: ^PA10
extruder: extruder
distance_per_edge: 0.232
detection_length: 3
pause_on_runout: True
runout_gcode: M118 Blockage detected during printing
insert_gcode: M118 Restored during idle
Parameter Description:
| Parameter | Description |
|---|---|
switch_pin | Pin for the blockage detection sensor, ^ enables pull-up resistor |
extruder | Name of the associated extruder |
distance_per_edge | Distance of filament movement (in mm) corresponding to each sensor trigger. This parameter is automatically calculated and updated after executing the calibration command; no manual initial value is required |
detection_length | Detection length threshold (in mm); if the sensor is not triggered beyond this distance, a blockage is detected |
pause_on_runout | Whether to automatically pause printing when a blockage is detected |
runout_gcode | G-code command to execute when a blockage is detected |
insert_gcode | G-code command to execute when filament is reinserted |
The distance_per_edge parameter is automatically optimized when the CALIBRATE_FILAMENT_BLOCKAGE calibration command is executed and is permanently saved to the configuration file via the SAVE_CONFIG command. Any initial value entered during configuration will be automatically overwritten after calibration.
Calibration Steps
To ensure detection accuracy, it is recommended to calibrate the sensor before use.
Step 1: Heat the Nozzle
Heat the nozzle to the normal working temperature (recommended 220°C):
M104 S220
M109 S220
Step 2: Execute the Calibration Command
After the nozzle reaches the target temperature, execute the following calibration command:
CALIBRATE_FILAMENT_BLOCKAGE SENSOR=my_sensor TEMPERATURE=220
Command Description:
SENSOR: Sensor name, corresponding to the[filament_blockage_detection my_sensor]in the configurationTEMPERATURE: Nozzle temperature during calibration
Step 3: Save the Calibration Result
After calibration, the system automatically calculates the optimal distance_per_edge parameter. To manually save, execute:
SAVE_CONFIG
Important Reminder
After upgrading to FAST 1.3.8, the lower-level firmware must be updated; otherwise, the blockage detection function may not work correctly.
Please refer to the Screen Firmware Update documentation to complete the firmware upgrade.
Troubleshooting
Issue 1: Blockage Detection Not Triggering
Possible Causes:
- Sensor not properly connected
- Incorrect
switch_pinconfiguration - Lower-level firmware not updated
Solutions:
- Check the sensor hardware connection
- Confirm the pin configuration matches the actual hardware
- Update the lower-level firmware to the latest version
Issue 2: False Blockage Alarms
Possible Causes:
- Inaccurate
distance_per_edgeparameter detection_lengththreshold set too low
Solutions:
- Re-execute the calibration command
- Increase the
detection_lengthvalue appropriately (recommended 3-5mm)
Issue 3: Calibration Failure
Possible Causes:
- Nozzle temperature not reaching the required level
- Sensor hardware malfunction
Solutions:
- Confirm the nozzle is heated to the specified temperature
- Check if the sensor is working properly
- Try restarting the Klipper service
Usage Recommendations
- It is recommended to recalibrate the sensor each time you change the filament brand or diameter
- Regularly check the sensor status to ensure detection accuracy
- If the blockage detection function has not been used for a long time, it is recommended to recalibrate before use