Aller au contenu principal

Débogage du mode EDDY TAP

Cette page décrit le processus de débogage, l'ordre des vérifications et le dépannage des problèmes courants pour l'EDDY en mode TAP. Le mode TAP utilise un contact léger de la buse sur le lit pour déterminer le seuil de déclenchement. Lors du débogage, il faut surveiller l'état de la buse, du lit chauffant et du mouvement de l'axe Z.

Opération hors tension

Avant de commencer, éteignez complètement l'imprimante et débranchez l'alimentation électrique. Ne branchez pas ou ne débranchez pas les faisceaux de câbles, ne réorganisez pas le câblage des interfaces et ne touchez pas les bornes lorsque l'appareil est sous tension.

Instructions d'utilisation
  • Cette page est une explication de la méthode de débogage, pas un fichier printer.cfg complet à copier-coller directement.
  • canbus_uuid, serial, les broches de la sonde, la direction de référence, la course de l'axe Z et les décalages doivent être modifiés en fonction du matériel réel.
  • Avant la première activation, assurez-vous que l'EDDY, la carte d'outil, la carte mère et la structure mécanique de l'axe Z sont en bon état de fonctionnement.

Portée

  • Utilise le capteur à courant de Foucault EDDY / LDC1612, nécessite l'utilisation de METHOD=tap ou d'un mode de déclenchement par seuil TAP.
  • Convient aux cartes d'outil avec support EDDY telles que FLY SHT36 V3, SB2040 V3, etc.
  • Le câblage EDDY de base et l'étalonnage de hauteur standard ont été effectués, une activation ou un dépannage supplémentaire du mode TAP est nécessaire.

Configuration requise

Mise à jour de version
  • Utilisation du système FLY FAST : assurez-vous que la version du système est >= V1.3.9.
  • Utilisation d'autres systèmes : assurez-vous que Klipper a été mis à jour vers la dernière version.
  • Le micrologiciel de la carte d'outil ou du microcontrôleur associé doit également être mis à jour vers la dernière version, sinon l'hôte peut prendre en charge les commandes TAP mais le micrologiciel du MCU peut ne pas répondre.

Configuration nécessaire

En prenant l'exemple du SHT36 V3 ou du SB2040 V3, la configuration frequency: 40000000 doit être présente dans [probe_eddy_current fly_eddy_probe], sinon l'utilisation normale de l'EDDY pourrait être impossible.

[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
# Les i2c_mcu, i2c_bus, et décalages ci-dessous doivent être modifiés en fonction de la carte d'outil et de la position d'installation réelles
i2c_mcu: SHT36
i2c_bus: i2c1e
i2c_speed: 400000
frequency: 40000000
x_offset: 0
y_offset: 21.42
descend_z: 2.5
tap_z_offset: 0

# Commentez avant l'étalonnage automatique du seuil TAP ; il sera écrit par SAVE_CONFIG après un étalonnage réussi
# tap_threshold: 40000

Après la configuration, vous devez réexécuter l'étalonnage du courant d'attaque et l'étalonnage de la hauteur conformément à la documentation du produit correspondant.

Documentation associée : Utilisation de l'EDDY SHT36 V3

Vérifications avant configuration

Opération hors tension

Avant de vérifier le faisceau EDDY, les connecteurs de la carte d'outil, les vis de fixation de la sonde, la buse et la structure autour du lit chauffant, éteignez complètement l'imprimante et débranchez l'alimentation électrique. Ne branchez pas ou ne débranchez pas les faisceaux de câbles et ne réglez pas les bornes lorsque l'appareil est sous tension.

  1. La buse et la surface du lit sont propres, sans résidu de filament, bosses de colle ou corps étrangers.
  2. L'EDDY est solidement fixé, la position d'installation de la bobine est sans jeu.
  3. L'axe Z peut se déplacer de haut en bas normalement, sans blocage, coincement ou collision avec le châssis.
  4. Pour les machines multi-Z, terminez d'abord le nivellement mécanique de base.
  5. La configuration de base de l'EDDY est terminée et les données du capteur peuvent être lues normalement.

Extrait de configuration de référence

La configuration suivante ne conserve que les parties courantes de l'EDDY TAP. Les noms mcu, le bus I2C, les décalages, la méthode de nivellement et les paramètres de la macro de démarrage doivent être modifiés en fonction de la situation réelle de la machine. Il est recommandé de la placer dans un fichier de configuration séparé, puis de l'inclure via printer.cfg.

[respond]

[force_move]
enable_force_move: true

[probe_eddy_current fly_eddy_probe]
sensor_type: ldc1612
i2c_address: 42
i2c_mcu: SHT36
i2c_bus: i2c1e
i2c_speed: 400000
frequency: 40000000
x_offset: 0
y_offset: 21.42
descend_z: 2.5
speed: 5
samples: 3
sample_retract_dist: 5.0
samples_tolerance: 0.05
samples_tolerance_retries: 3
tap_z_offset: 0

# Commentez avant la recherche automatique du seuil TAP ; il sera écrit par SAVE_CONFIG après un étalonnage réussi
# tap_threshold: 40000

Macro de réglage Z à partir de la sonde TAP

SET_Z_FROM_PROBE METHOD=tap est utilisé pour mettre à jour la coordonnée Z actuelle après un déclenchement TAP. Il est recommandé de l'exécuter plusieurs fois de suite et d'observer si les résultats sont proches ; si l'écart est important, n'enregistrez pas tout de suite, retournez vérifier la buse, la surface du lit, le jeu de l'axe Z et le seuil TAP.

[gcode_macro _RELOAD_Z_OFFSET_FROM_PROBE]
description: Rafraîchit la coordonnée Z actuelle en fonction du dernier résultat PROBE
gcode:
{% set Z = printer.toolhead.position.z %}
{% set position_endstop = 0 %}
{% set raw_config = printer.configfile.config %}
{% if 'stepper_z' in raw_config and 'position_endstop' in raw_config.stepper_z %}
{% set position_endstop = raw_config.stepper_z.position_endstop|trim|float %}
{% endif %}
{% set setZ = Z - printer.probe.last_probe_position.z + position_endstop %}
SET_KINEMATIC_POSITION Z={setZ}
RESPOND MSG="position_Z={'%0.3f' | format(Z)} probe_Z={'%0.3f' | format(printer.probe.last_probe_position.z)} position_endstop={'%0.3f' | format(position_endstop)} set_Z={'%0.3f' | format(setZ)}"

[gcode_macro SET_Z_FROM_PROBE]
description: Définit le décalage Z en mode TAP, utilisation : SET_Z_FROM_PROBE METHOD=tap
gcode:
{% set METHOD = params.METHOD | default("automatic") %}
G0 Z5 F300
PROBE METHOD={METHOD} SAMPLES=3
_RELOAD_Z_OFFSET_FROM_PROBE
G0 Z5 F300

Si vous utilisez cette macro pour enregistrer et réutiliser position_endstop, assurez-vous que la configuration contient une valeur stepper_z position_endstop enregistrable. Pour le débogage initial, vous pouvez d'abord la définir sur 0, puis confirmer la valeur réelle via le décalage Z manuel et le résultat de la première couche.

Appel de la macro de début d'impression

Dans la macro de début, il suffit d'appeler le réglage Z TAP après que la machine a terminé le chauffage, le homing et le nivellement nécessaire. La température de la buse peut être maintenue basse avant qu'elle n'atteigne la température d'impression pour éviter que le filament ne coule et n'affecte le TAP.

[gcode_macro PRINT_START]
gcode:
{% set BED = params.BED|default(60)|int %}
{% set EXTRUDER = params.EXTRUDER|default(200)|int %}
{% set X_CENTER = printer.toolhead.axis_maximum.x|float / 2 %}
{% set Y_CENTER = printer.toolhead.axis_maximum.y|float / 2 %}

SET_GCODE_OFFSET Z=0
G21
G90
G28

G1 X{X_CENTER} Y{Y_CENTER} Z15 F9000
M190 S{BED}
M109 S150

# Conservez votre processus de préparation avant impression normal ici
# ...

# S'il y a une macro de nettoyage de buse, il est recommandé de nettoyer la buse avant TAP
# CLEAN_NOZZLE
SET_Z_FROM_PROBE METHOD=tap

# Après TAP, continuez le processus de préparation d'impression normal

M109 S{EXTRUDER}
G92 E0

Si la buse a tendance à goutter, vous pouvez exécuter un nettoyage de buse avant et après SET_Z_FROM_PROBE METHOD=tap, et répéter SET_Z_FROM_PROBE METHOD=tap une fois pour améliorer la stabilité.

Étalonnage automatique du seuil TAP

Klipper prend en charge la mesure automatique du seuil TAP depuis le 2026-05-02. Avant utilisation, commentez d'abord le tap_threshold saisi manuellement, puis recherchez le seuil via la commande suivante.

Commande d'étalonnage du seuil TAP : PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=xxx. Les valeurs courantes sont guess, refine, verify.

Préparation à l'arrêt d'urgence

Les étapes suivantes feront descendre la buse vers le lit et provoqueront un contact léger. Avant de commencer, assurez-vous de pouvoir exécuter un arrêt d'urgence (M112) à tout moment. Si la buse continue de descendre après avoir touché le lit, arrêtez d'urgence immédiatement.

① guess : seuil initial approximatif

Assurez-vous que la buse et la surface du lit sont propres. Après le homing, déplacez la tête d'outil près du centre du lit, la buse étant à 3~10mm du lit.

PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=guess

Cette commande analyse les données d'étalonnage de la sonde principale pour obtenir une valeur initiale approximative de tap_threshold, puis effectue un test de contact léger. Idéalement, la sonde descend jusqu'à ce que la buse touche le lit, puis se soulève et signale un résultat de détection valide.

② refine : affinage du seuil

Après le succès de TAP=guess, maintenez la buse à 3~10mm près du centre du lit et exécutez :

PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=refine

Cette commande utilise les données du dernier sondage réussi pour déterminer un seuil plus précis.

③ verify : vérification de la stabilité

Après le succès de TAP=refine, exécutez :

PROBE_EDDY_CURRENT_TAP_CALIBRATE TAP=verify

Cette commande sonde le lit cinq fois de suite. Le test est réussi si les cinq sondages sont effectués normalement et que les résultats sont stables.

④ Sauvegarde de la configuration

Après la réussite de toutes les étapes ci-dessus, exécutez :

SAVE_CONFIG

Sauvegardez et redémarrez Klipper. Seul le seuil TAP est sauvegardé à ce stade. Vous devez encore confirmer le décalage Z.

Recherche manuelle du seuil

Si l'étalonnage automatique signale un seuil inapproprié, ou s'il y a un déclenchement prématuré ou un non-arrêt après le contact avec le lit, ne continuez pas à exécuter les commandes automatiques de manière répétée. Utilisez plutôt PROBE_ACCURACY pour une recherche manuelle :

PROBE_ACCURACY METHOD=tap tap_threshold=40000

Lors des réglages manuels, commencez par tester près de 40000 :

  • Déclenchement sans contact avec le lit → seuil trop bas, augmentez-le.
  • Non-arrêt après contact avec le lit → seuil trop élevé, arrêtez d'urgence immédiatement et réduisez-le.
  • Avant chaque test, assurez-vous que la buse et la surface du lit sont propres et que la buse est à 3~10mm du lit.

Une fois le seuil manuel stable, vous pouvez revenir à TAP=refine et TAP=verify de l'étalonnage automatique pour validation.

Réglage du décalage Z

Une fois le seuil TAP validé, utilisez la méthode TAP de Klipper pour définir le décalage Z :

SET_Z_FROM_PROBE METHOD=tap

Il est recommandé de l'exécuter plusieurs fois de suite et d'observer si les résultats sont proches. Si l'écart est important, n'enregistrez pas tout de suite ; vérifiez la propreté de la buse, la rigidité du lit chauffant, le jeu de l'axe Z et le seuil TAP.

Réglage fin de l'écart

Dans les nouvelles versions de Klipper, tap_z_offset peut être utilisé pour le réglage fin de l'écart TAP. La première couche réelle doit toujours être confirmée en fonction de l'effet d'impression, et non uniquement sur une seule valeur de sondage.

Confirmation manuelle du décalage Z

Après avoir validé le seuil TAP et SET_Z_FROM_PROBE METHOD=tap, vous devez encore confirmer manuellement l'écart réel entre la buse et le lit :

  1. Nettoyez la buse et la surface du lit, déplacez la buse près du centre du lit chauffant.
  2. Exécutez SET_Z_FROM_PROBE METHOD=tap et confirmez qu'il n'y a pas d'anomalie.
  3. Utilisez une feuille de papier ou un test de première couche pour vérifier l'écart réel de la buse, et ajustez finement le décalage Z dans l'interface web.
  4. Une fois la première couche satisfaisante, sauvegardez la configuration.
  5. Après avoir modifié la buse, la hotend, la position d'installation de l'EDDY ou la structure du lit, vous devez reconfirmer le décalage.

Problèmes courants

Impossible d'utiliser normalement après configuration

  1. Vérifiez que la version du système FAST est >= V1.3.9 (ou que Klipper a été mis à jour vers la dernière version).
  2. Assurez-vous que le micrologiciel du microcontrôleur a été mis à jour vers la dernière version.
  3. Vérifiez que frequency: 40000000 est configuré dans [probe_eddy_current fly_eddy_probe].
  4. Vérifiez que i2c_speed n'est pas trop élevé ; pour SHT36 V3 / SB2040 V3, testez d'abord avec 400000.
  5. Réexécutez l'étalonnage du courant d'attaque et l'étalonnage de la hauteur.
  6. Consultez klippy.log pour la première erreur liée à EDDY ou TAP et résolvez le problème en fonction du message d'erreur.

Résultats de sondage TAP instables

  1. Nettoyez la buse et la surface du lit.
  2. Vérifiez que la fixation de l'EDDY n'est pas desserrée.
  3. Vérifiez que l'axe Z n'a pas de à-coups ou de jeu.
  4. Réexécutez TAP=refine et TAP=verify.

L'erreur de requête I2C du MCU 'xxx' à l'adresse 42 signale BUS_TIMEOUT

La communication entre le MCU où se trouve l'EDDY et le LDC1612 a échoué ou est instable.

Opération hors tension

Avant de vérifier le faisceau EDDY, l'interface I2C, le sertissage des bornes ou de remplacer le faisceau, éteignez complètement l'imprimante et débranchez l'alimentation électrique. Ne branchez pas ou ne débranchez pas les faisceaux de câbles et ne réglez pas les bornes lorsque l'appareil est sous tension.

  1. Vérifiez que i2c_mcu, i2c_bus ou les broches I2C logicielles correspondent à la carte d'outil réelle.
  2. Réduisez d'abord i2c_speed à 400000 pour tester.
  3. Vérifiez que le faisceau EDDY, les bornes et les connecteurs de la carte d'outil ne sont pas desserrés.
  4. Assurez-vous que le micrologiciel de l'EDDY et de la carte d'outil ont été mis à jour vers une version prenant en charge le Klipper actuel.

Impossible de détecter le tap : pente delta insuffisante

Erreur typique :

!! Impossible de détecter le tap : pente delta insuffisante (-36983.054918 vs 30633.703000)

Le tap_threshold actuel est inapproprié, ou les données de sondage ne forment pas un point d'inflexion TAP suffisamment distinct.

  1. Nettoyez la buse et la surface du lit.
  2. N'exécutez pas l'étalonnage automatique de manière répétée. Utilisez plutôt PROBE_ACCURACY METHOD=tap tap_threshold=40000 pour rechercher manuellement le seuil.
  3. Une fois le seuil manuel stable, revenez à TAP=refine et TAP=verify pour validation.

Impossible de détecter le tap : distance d'enfoncement invalide

Erreur typique :

!! Impossible de détecter le tap : distance d'enfoncement invalide (0.020411 vs 0.030000:0.250000)

La distance d'enfoncement déterminée par Klipper n'est pas dans la plage attendue (0.03~0.25mm). Causes courantes : rigidité insuffisante du lit chauffant, processus de contact de la buse instable, jeu de l'axe Z ou seuil TAP inapproprié.

  1. Vérifiez que la buse, la surface du lit chauffant et le lit magnétique sont propres et plats.
  2. Vérifiez que le support du lit chauffant, la structure de l'axe Z et le montage de la sonde ne présentent pas de jeu apparent.
  3. Réduisez la vitesse de homing Z et de sondage, puis revalidez.
  4. Si la même erreur se produit plusieurs fois, n'enregistrez pas les paramètres TAP pour le moment. Concentrez-vous d'abord sur la résolution des problèmes de rigidité mécanique et de seuil.
  5. Il est déconseillé aux utilisateurs ordinaires de modifier directement klippy/extras/probe_eddy_current.py pour assouplir la plage d'erreur ; cela ne doit être évalué par un personnel familier avec le code source de Klipper qu'après avoir confirmé que le matériel et le seuil sont normaux.

Eddy : fréquence CLKIN trop basse

Erreur typique :

!! Eddy : fréquence CLKIN trop basse : 0.001 < 0.002

La communication I2C est instable, l'intervalle de temps d'acquisition des points de données est anormal.

  1. Vérifiez que i2c_mcu, i2c_bus ou les broches I2C logicielles sont correctement renseignés.
  2. Testez d'abord avec i2c_speed à 400000, n'utilisez pas une valeur trop élevée au départ.
  3. Vérifiez que le faisceau EDDY, les bornes et les connecteurs de la carte d'outil ne sont pas desserrés.
  4. Si vous utilisez I2C logiciel, assurez-vous que les GPIO correspondants ne sont pas utilisés par d'autres fonctions et qu'aucun circuit périphérique n'affecte le signal.
Loading...