Aller au contenu principal

Optimisation de la détection de blocage

Description de la fonctionnalité​

La version FAST 1.3.8 optimise la fonction de détection de blocage, offrant une capacité de détection de blocage plus précise et des options de configuration flexibles. Cette fonctionnalité surveille en temps réel l'extrusion de l'extrudeuse et met automatiquement en pause l'impression et avertit l'utilisateur en cas de détection de blocage ou de rupture de filament.

Remarque importante

Exigence de version du système : Cette fonctionnalité nécessite une version du système FlyOS-Fast supérieure ou égale à v1.3.8 pour fonctionner correctement.


Méthode de configuration​

  • Ajoutez la configuration suivante dans le fichier printer.cfg :
  • Veuillez noter qu'il s'agit d'une configuration de référence, les paramètres spécifiques peuvent nécessiter des ajustements selon la situation réelle
[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 打印中堵料
insert_gcode: M118 空闲时恢复

Paramètres de base :

ParamètreValeur par défautDescription
switch_pinObligatoireLa broche du capteur de détection de blocage, ^ indique l'activation de la résistance de tirage
extruderextruderLe nom de l'extrudeur associé
distance_per_edgeObligatoireLa distance de déplacement du filament correspondant à chaque impulsion du capteur (mm), mise à jour automatiquement après calibration
detection_length7.0La distance de glissement dépassant ce seuil (mm) et confirmée plusieurs fois consécutivement est considérée comme un blocage
recovery_lengthdetection_length * 0.5Lorsque la distance de glissement redescend en dessous de cette valeur (mm), le retour à l'état normal est effectué
pause_on_runout—Indique si la impression doit être automatiquement mise en pause lors de la détection d'un blocage
runout_gcode—Le G-code exécuté lors de la détection d'un blocage
insert_gcode—Le G-code exécuté lors de la détection de la reprise du filament

Paramètres avancés (il suffit généralement d'utiliser les valeurs par défaut) :

ParamètreValeur par défautDescription
window_lengthdetection_length * 3Longueur de la fenêtre glissante (mm)
retraction_min_delta0.050Le déplacement d'extrusion minimal pour déterminer un mouvement de rétraction (mm), en dessous de cette valeur il est considéré comme statique
blockage_sample_count2Nombre de confirmations consécutives de dépassement du seuil, après quoi un blocage est déterminé (1-5)
Explication de la calibration automatique

Le paramètre distance_per_edge calcule automatiquement la valeur optimale après l'exécution de la commande de calibration CALIBRATE_FILAMENT_BLOCKAGE, et est sauvegardé de manière permanente dans le fichier de configuration via la commande SAVE_CONFIG. Lors de la configuration initiale, une valeur quelconque peut être saisie, elle sera automatiquement écrasée après la calibration.


Étapes de calibration​

Pour garantir la précision de la détection, il est recommandé d'effectuer une calibration du capteur avant utilisation.

Étape 1 : Chauffer la buse​

Chauffez la buse à sa température de fonctionnement normale (220 ℃ recommandé) :

M104 S220
M109 S220

Étape 2 : Exécuter la commande de calibration​

Une fois la buse à la température cible, exécutez la commande de calibration suivante :

CALIBRATE_FILAMENT_BLOCKAGE SENSOR=my_sensor TEMPERATURE=220

Paramètres de la commande :

ParamètreValeur par défautDescription
SENSORObligatoireNom du capteur, correspondant à [filament_blockage_detection my_sensor] dans la configuration
TEMPERATUREObligatoireTempérature de la buse lors de la calibration (℃)
DISTANCE30.0Longueur d'extrusion par cycle de calibration (mm)
COUNT5Nombre de cycles de calibration (1-20), moyenne sur plusieurs cycles
SPEED2.0Vitesse d'extrusion (mm/s)
SETTLE_TIME0.375Temps de stabilisation en secondes après chaque extrusion pour attendre le rapport du capteur
MIN_EDGES1Nombre minimum d'impulsions capturées par cycle, en dessous duquel une erreur est signalée

Pendant la calibration, le système effectue automatiquement plusieurs cycles d'extrusion, compte les impulsions de l'encodeur pour chaque cycle, calcule le distance_per_edge optimal et affiche le résultat.

Exemple de sortie de calibration :

Filament blockage sensor my_sensor calibration round 1/5:
edge_count_delta: 130
implied_distance_per_edge: 0.230769 mm
...
Filament blockage sensor my_sensor calibration result:
samples: 130, 129, 131, 130, 128
average_edge_count: 129.600
calibrated_distance_per_edge: 0.231481 mm
The SAVE_CONFIG command will update the printer config file
with this parameter and restart the printer.

Étape 3 : Sauvegarder le résultat de calibration​

Une fois la calibration terminée, exécutez la commande suivante pour sauvegarder le nouveau distance_per_edge dans le fichier de configuration et redémarrer Klipper :

SAVE_CONFIG

Vérifier l'état du capteur​

La commande QUERY_FILAMENT_BLOCKAGE permet de consulter en temps réel les données de mesure du capteur, notamment la longueur d'extrusion, la distance mesurée par l'encodeur et le glissement.

QUERY_FILAMENT_BLOCKAGE SENSOR=my_sensor

Description des champs retournés :

ChampDescription
total_extruded_distanceDistance totale commandée à l'extrudeur (mm) — c'est-à-dire la longueur totale d'avance commandée par Klipper
total_measured_distanceDistance totale réellement mesurée par l'encodeur (mm) — la quantité de déplacement du filament réellement détectée par le capteur
raw_measured_distanceDistance brute mesurée par l'encodeur (mm) — valeur cumulée sans détermination de direction
expected_distanceDistance d'extrusion attendue depuis le dernier changement de direction (mm)
measured_distanceDistance réellement mesurée dans la fenêtre actuelle (mm)
slip_distanceDistance de glissement (mm) — différence entre la distance attendue et la distance mesurée ; dépasse detection_length déclenche la détection de blocage
measured_speedVitesse de mesure actuelle (mm/s)
edge_countNombre cumulé d'impulsions de l'encodeur
pending_blockage_countNombre actuel de confirmations consécutives de dépassement de seuil ; atteint blockage_sample_count pour déterminer un blocage
in_retractionIndique si une rétraction est en cours (True/False)
blockedIndique si un blocage a été déterminé (True/False)
printingIndique si une impression est en cours (True/False)

Cas d'utilisation :

  • Diagnostiquer les fausses alertes de blocage : comparer total_extruded_distance et total_measured_distance ; si l'écart continue d'augmenter, cela signifie que le déplacement du filament détecté par l'encodeur est en retard sur la commande d'extrusion, ce qui peut indiquer un patinage
  • Vérifier le bon fonctionnement du capteur : consulter measured_speed pendant l'impression ; une extrusion normale doit afficher une lecture de vitesse stable
  • Suivre la tendance du glissement : lorsque slip_distance s'approche de detection_length, il faut être vigilant ; si le dépassement persiste, suspendre l'impression

Dépannage​

Problème 1 : La détection de blocage ne se déclenche pas​

Causes possibles :

  • Le capteur n'est pas correctement connecté
  • Configuration incorrecte de switch_pin
  • Firmware de la carte de contrôle non mis à jour

Solutions :

  1. Vérifiez la connexion matérielle du capteur
  2. Confirmez que la configuration de la broche correspond au matériel réel
  3. Mettez à jour le firmware de la carte de contrôle vers la dernière version

Problème 2 : Fausse détection de blocage​

Causes possibles :

  • Paramètre distance_per_edge inexact
  • Seuil detection_length réglé trop bas

Solutions :

  1. Réexécutez la commande de calibration
  2. Augmentez la valeur de detection_length de manière appropriée (recommandé : 3-5 mm)

Problème 3 : Échec de la calibration​

Causes possibles :

  • La température de la buse n'atteint pas la valeur requise
  • Panne matérielle du capteur

Solutions :

  1. Vérifiez que la buse est chauffée à la température spécifiée
  2. Vérifiez si le capteur fonctionne correctement
  3. Essayez de redémarrer le service Klipper

Recommandations d'utilisation​

  • Il est recommandé de recalibrer le capteur à chaque changement de marque ou de diamètre de filament
  • Vérifiez régulièrement l'état du capteur pour garantir la précision de détection
  • Si la fonction de détection de blocage n'a pas été utilisée pendant une longue période, il est recommandé de recalibrer avant utilisation

Conseils d'utilisation​

  • Il est recommandé de recalibrer le capteur à chaque changement de marque ou de diamètre de consommable
  • Vérifiez régulièrement l'état du capteur pour garantir la précision de détection
  • Si la fonction de détection de bourrage n'a pas été utilisée pendant une longue période, il est recommandé de recalibrer avant de l'utiliser à nouveau

Loading...