Aller au contenu principal

Erreurs de déplacement, de fin de course et de mise à niveau

Cette page répertorie les erreurs liées à la plage de déplacement, l'homing, les fins de course, la sonde, le maillage du lit et la mise à niveau multi-Z. Pour les opérations impliquant le câblage, les connecteurs ou les réglages mécaniques manuels, veuillez d'abord couper l'alimentation avant d'intervenir.

Move out of range

Message d'erreur : Les coordonnées cibles dépassent la plage de mouvement autorisée par Klipper. Le journal affiche généralement un message similaire à Move out of range: X Y Z [E].

Loading...

Causes courantes :

  • Les dimensions de la machine dans le slicer ne correspondent pas à position_min / position_max dans la configuration Klipper.
  • Le G-code de démarrage, le G-code de fin, la macro de changement de filament ou la macro de pause déplacent la machine en dehors de sa plage.
  • Après avoir utilisé une correction d'inclinaison, un décalage de sonde ou une configuration de maillage du lit, les coordonnées calculées deviennent négatives ou dépassent la course maximale.
  • La hauteur du modèle dépasse la course maximale de l'axe Z.

Solutions :

  1. Identifiez quel axe est hors de la plage en fonction des coordonnées dans le message d'erreur.
  2. Vérifiez position_min, position_max pour l'axe concerné et les dimensions de la machine dans le slicer.
  3. Examinez les coordonnées de stationnement dans les macros de démarrage, de fin, de pause et de changement de filament ; évitez de vous arrêter à 0,0 ou aux limites maximales.
  4. Si l'erreur se produit lors du balayage du lit, vérifiez mesh_min, mesh_max dans [bed_mesh] et le décalage de la sonde.
  5. Sauvegardez la configuration, redémarrez Klipper, puis testez à nouveau.

Références de configuration associées : Présentation des macros, Guide d'homing et de calage de la direction.

Unable to parse move / Invalid speed

Message d'erreur : Unable to parse move 'G1 Z', Unable to parse move 'G1 X... Y... Z...', Invalid speed in 'G1 ...', Machine does not support G20 (inches) command, Unknown g-code state: xxx.

Causes courantes :

  • La ligne G-code est incomplète, par exemple G1 Z sans valeur de coordonnée spécifique.
  • Une variable de macro est vide, ce qui entraîne une commande de mouvement sans valeur X, Y, Z, E ou F.
  • Erreurs de saut de ligne, d'accolades, de noms de variables ou de format d'échappement dans le G-code de démarrage/fin du slicer.
  • Le paramètre de vitesse F est vide, nul ou non numérique.
  • Le fichier G-code utilise le mode pouces G20, que Klipper ne prend pas en charge.
  • Les noms utilisés dans les macros SAVE_GCODE_STATE / RESTORE_GCODE_STATE sont incohérents.

Solutions :

  1. Localisez la ligne d'erreur complète dans klippy.log pour identifier la commande G1, G0 ou d'état défectueuse.
  2. Vérifiez les macros de démarrage, de fin, de pause, de reprise et de changement de filament dans le slicer pour vous assurer que toutes les commandes de mouvement ont des valeurs complètes.
  3. Définissez des valeurs par défaut pour les paramètres de macro et convertissez-les en nombres avant utilisation, par exemple params.Z|default(10)|float.
  4. Assurez-vous que l'unité du slicer est le millimètre et n'émettez pas de G20.
  5. Si l'erreur est Unknown g-code state, vérifiez que SAVE_GCODE_STATE NAME= et RESTORE_GCODE_STATE NAME= utilisent le même nom.

Références de configuration associées : Présentation des macros.

Must home axis first

Message d'erreur : L'axe n'a pas été ramené à l'origine, la commande de mouvement actuelle ne peut pas être exécutée.

Causes courantes :

  • G28 n'a pas été exécuté après la mise sous tension ou FIRMWARE_RESTART.
  • Une macro exécute une commande de mouvement avant la commande d'homing.
  • L'état de la machine est réinitialisé après une pause, une reprise ou une annulation d'impression.
  • Une configuration anormale de la macro d'homing, de la macro de sonde ou de l'homing sans fin de course empêche Klipper d'enregistrer correctement l'état d'homing.

Solutions :

  1. Exécutez manuellement G28 avant de déplacer l'axe concerné.
  2. Vérifiez le G-code de démarrage et les macros pour vous assurer que l'homing est terminé avant les commandes de mouvement.
  3. Si Klipper ou le firmware vient d'être mis à jour, vérifiez que les macros d'homing sont toujours compatibles avec la version actuelle.
  4. Si vous utilisez l'homing sans fin de course, vérifiez le courant moteur, la sensibilité et homing_retract_dist.

Références de configuration associées : Guide d'homing et de calage de la direction, Utilisation sans fin de course.

Endstop still triggered after retract

Message d'erreur : Après avoir déclenché la fin de course pendant l'homing et effectué la distance de retrait, la fin de course reste déclenchée.

Causes courantes :

  • La logique normalement ouvert/fermé de l'interrupteur de fin de course est configurée à l'envers.
  • L'interrupteur de fin de course est bloqué, endommagé ou son câblage est incorrect.
  • homing_retract_dist est trop petit, la fin de course est toujours enfoncée après le retrait.
  • La sensibilité de l'homing sans fin de course est trop élevée, le déclenchement est toujours détecté après le retrait.
  • La configuration de enable_pin du pilote, la direction du moteur ou la broche de fin de course est incorrecte, ce qui entraîne un comportement anormal de l'homing.

Solutions :

Couper l'alimentation

Avant de vérifier le connecteur de la fin de course, le câblage du moteur ou de rebrancher les faisceaux, éteignez complètement l'imprimante et débranchez l'alimentation électrique. Pendant les tests sous tension, utilisez uniquement les commandes de la page Web et actionnez mécaniquement les fins de course ; ne touchez pas les bornes.

  1. Exécutez QUERY_ENDSTOPS et confirmez que l'état est open lorsqu'il n'est pas déclenché et TRIGGERED lorsqu'il est actionné manuellement.
  2. Si l'état est inversé, ajustez le ! devant la broche de la fin de course.
  3. Coupez l'alimentation, puis vérifiez l'état mécanique de l'interrupteur de fin de course, le câblage et le connecteur.
  4. Augmentez légèrement homing_retract_dist et testez à nouveau.
  5. Si vous utilisez l'homing sans fin de course, réduisez la sensibilité et assurez-vous que le courant d'homing est approprié.

Références de configuration associées : Fins de course, Utilisation sans fin de course.

No trigger on endstop after full movement

Message d'erreur : No trigger on x after full movement, No trigger on y after full movement ou un message similaire indiquant que la fin de course ne s'est pas déclenchée.

Causes courantes :

  • La direction d'homing est mal configurée, le moteur se déplace loin de la fin de course.
  • L'interrupteur de fin de course n'est pas connecté, le connecteur est desserré ou la broche est mal configurée.
  • position_endstop, position_min, position_max ne correspondent pas à la course mécanique réelle, la distance d'homing est insuffisante.
  • La sensibilité de l'homing sans fin de course est trop faible, le choc contre la butée mécanique n'est pas détecté comme un déclenchement.
  • Le câblage ou la configuration de la direction du moteur est incorrect, ce qui fait que l'axe se déplace dans la direction opposée à celle prévue.

Solutions :

  1. Exécutez QUERY_ENDSTOPS et appuyez manuellement sur la fin de course pour confirmer que l'état passe de open à TRIGGERED.
  2. Déplacez l'axe sur une petite distance pour confirmer sa direction, puis vérifiez si le ! devant dir_pin doit être ajusté.
  3. Assurez-vous que homing_positive_dir correspond à la direction où se trouve la fin de course.
  4. Vérifiez que position_endstop, position_min, position_max correspondent à la course mécanique réelle.
  5. Dans le scénario d'homing sans fin de course, réduisez la vitesse d'homing et ajustez la sensibilité TMC.

Références de configuration associées : Guide d'homing et de calage de la direction, Fins de course.

Dépannage de l'homing sans fin de course (Sensorless Homing)

L'homing sans fin de course utilise le signal DIAG du pilote TMC pour détecter le blocage du moteur, remplaçant ainsi les interrupteurs de fin de course physiques. Une configuration ou une sensibilité inappropriée peut entraîner les erreurs suivantes. Pour une vérification complète de la compatibilité, des configurations de référence et des méthodes de réglage de la sensibilité, voir Utilisation sans fin de course.

Déclenchement non détecté : No trigger on x after full movement

Message d'erreur : Lors de l'homing avec virtual_endstop, le message No trigger on x after full movement ou No trigger on y after full movement apparaît, et le chariot ne s'arrête pas lorsqu'il atteint la butée.

Causes courantes :

  • Seuil de sensibilité inapproprié : driver_SGTHRS trop bas (pas assez sensible) pour TMC2209, ou driver_SGT trop élevé pour TMC5160 / TMC2240 / TMC2130.
  • Le cavalier DIAG n'est pas installé sur les cartes mères de classe B, ou un autre périphérique est toujours connecté au port de fin de course correspondant.
  • Il manque le symbole de tirage vers le haut ^ sur diag_pin, le signal à drain ouvert ne peut pas être déclenché de manière stable.
  • Vitesse d'homing trop faible, courant moteur trop faible, la variation de courant de blocage est insuffisante pour déclencher le signal DIAG.
Couper l'alimentation

Avant de vérifier les cavaliers, le câblage des ports de fin de course ou de brancher/débrancher les faisceaux, éteignez d'abord l'imprimante et débranchez l'alimentation. Ne touchez pas les bornes et ne branchez/débranchez pas les faisceaux sous tension.

Solutions :

  1. Suivez la méthode Utilisation sans fin de course · Test de sensibilité pour ajuster progressivement SGTHRS / sgt en commençant par la sensibilité la plus élevée.
  2. Assurez-vous que diag_pin a un tirage vers le haut ^ (ex: diag_pin: ^PD9) ; pour les pilotes à double broche DIAG comme TMC5160, confirmez si diag0_pin ou diag1_pin est utilisé.
  3. Sur les cartes mères de classe B, confirmez que le cavalier DIAG est installé et qu'aucun autre périphérique n'est connecté au port de fin de course correspondant.
  4. Augmentez légèrement le courant et la vitesse d'homing, puis testez à nouveau.

Erreur de configuration : Nom de puce de broche inconnu

Message d'erreur : Au démarrage, Nom de puce de broche inconnu 'tmc5160 stepper_x', Nom de puce de broche inconnu '^awd', etc. Klipper ne peut pas passer en état ready.

Causes courantes :

  • Espace malencontreux entre le nom du pilote et le nom de l'axe dans endstop_pin, par exemple écrit tmc5160 stepper_x:virtual_endstop ; la syntaxe correcte doit utiliser un trait de soulignement tmc5160_stepper_x:virtual_endstop.
  • Faute d'orthographe dans le nom de broche diag_pin / diag0_pin / diag1_pin ou caractères illégaux inclus.

Solutions :

  1. Vérifiez endstop_pin de [stepper_x], confirmez le format tmcXXXX_stepper_x:virtual_endstop, le nom du pilote et de l'axe sont séparés par un trait de soulignement et non un espace.
  2. Le nom de section de configuration du pilote [tmcXXXX stepper_x] utilise un espace en interne, mais endstop_pin doit utiliser un trait de soulignement lors de la référence ; les deux noms doivent correspondre.
  3. Vérifiez l'orthographe du nom de broche diag_pin, seuls les préfixes ^ et ! suivis d'un nom de broche valide sont autorisés.

Erreur de configuration : Impossible de trouver une section de configuration du pilote TMC

Message d'erreur : Impossible de trouver une section de configuration du pilote TMC pour 'stepper_x' requis par l'auto-réglage TMC.

Causes courantes :

  • endstop_pin référence tmcXXXX_stepper_x:virtual_endstop, mais il n'y a pas de section de pilote [tmcXXXX stepper_x] correspondante dans la configuration, ou le nom de la section de pilote ne correspond pas.
  • La section de pilote est commentée, a une faute d'orthographe ou le nom de l'axe ne correspond pas.

Solutions :

  1. Assurez-vous qu'il existe une section de configuration de pilote qui correspond exactement à la référence endstop_pin, par exemple endstop_pin: tmc2209_stepper_x:virtual_endstop doit avoir [tmc2209 stepper_x].
  2. Vérifiez si la section de pilote est commentée ou si le nom de l'axe est mal écrit (ne confondez pas stepper_x et stepper_y).

Arrêt d'urgence lors du retour à l'origine : Échec du retour à l'origine en raison d'un arrêt de l'imprimante

Message d'erreur : Pendant le retour à l'origine, l'imprimante passe en shutdown, indiquant Échec du retour à l'origine en raison d'un arrêt de l'imprimante.

Causes courantes :

  • Ce n'est pas une panne exclusive à l'absence de fin de course, mais un autre arrêt (comme un déclenchement intempestif du signal DIAG, une erreur de pilote, un redémarrage du service) provoquant l'arrêt d'urgence pendant le retour à l'origine.
  • La cause réelle doit être trouvée dans klippy.log : la première erreur d'arrêt avant Échec du retour à l'origine.

Solutions :

  1. Ouvrez klippy.log, recherchez la première erreur shutdown au-dessus de Échec du retour à l'origine en raison d'un arrêt de l'imprimante, et diagnostiquez selon la catégorie correspondante.
  2. Si le message ci-dessus est Impossible de réinitialiser l'heure lorsque le moteur pas à pas est actif, suivez Erreurs système, de performance et de service.
  3. S'il s'agit d'un déclenchement intempestif dû aux fluctuations du signal DIAG, vérifiez la résistance de tirage de diag_pin et le cavalier, et réduisez la sensibilité de manière appropriée.

Documents connexes : Utilisation sans fin de course, Aucun déclenchement sur fin de course après un mouvement complet, Résolution des erreurs TMC

Problèmes de sonde et de nivellement

Couper l'alimentation

Avant de vérifier le câblage, les connecteurs ou l'ordre des broches des sondes BLTouch, Probe, TAP, Klicky, EDDY, etc., éteignez complètement l'imprimante et débranchez l'alimentation électrique. N'effectuez que des commandes de requête ou observez l'état sous tension, ne débranchez pas les faisceaux.

Sonde déclenchée avant le mouvement

Message d'erreur : Avant le début du mouvement de retour à l'origine ou de détection, la sonde est déjà dans un état déclenché.

Causes de l'erreur :

  • La sonde est dans l'état par défaut TRIGGERED après la mise sous tension ou la réinitialisation.
  • Ordre des broches de la sonde incorrect ou mauvais contact, entraînant un signal toujours à l'état déclenché.
  • Panne mécanique de la sonde, par exemple la pointe du BLTouch coincée et impossible à rétracter.
  • L'axe Z est déjà en position la plus basse, ce qui comprime la sonde.

Solutions :

  1. Exécutez QUERY_PROBE sans toucher le lit pour confirmer que l'état est open.
  2. Exécutez QUERY_ENDSTOPS pour confirmer que les signaux de fin de course/sonde sont corrects.
  3. Pour BLTouch : BLTOUCH_DEBUG COMMAND=pin_up pour vous assurer que la pointe de la sonde est rétractée, puis QUERY_PROBE pour confirmer.
  4. Vérifiez la position actuelle de l'axe Z, soulevez-le si nécessaire.
  5. Après la coupure du courant, vérifiez le câblage de la sonde et la configuration sensor_pin.

Référence de configuration connexe : Relatif aux fins de course, Instructions de débogage courantes.

Aucun déclenchement de la sonde après un mouvement complet

Message d'erreur : La sonde ne s'est pas déclenchée pendant toute la course de détection vers le bas.

Causes courantes :

  • Câblage, alimentation ou configuration de broche de la sonde incorrects.
  • Hauteur d'installation de la sonde inappropriée, impossible de déclencher pendant la course vers le bas.
  • Direction de l'axe Z, décalage de la sonde ou configuration de la zone de nivellement incorrects.
  • Panne de la sonde elle-même, ou mauvais contact du faisceau lors des déplacements.

Solutions :

  1. Exécutez QUERY_PROBE, déclenchez manuellement la sonde, confirmez que l'état peut changer normalement.
  2. Après la coupure du courant, vérifiez l'alimentation de la sonde, les lignes de signal et la broche de configuration.
  3. Vérifiez la hauteur d'installation de la sonde, assurez-vous qu'elle est dans la plage de déclenchement avant la détection vers le bas.
  4. Vérifiez si les points de détection dans [probe], [bed_mesh], [z_tilt] ou [quad_gantry_level] dépassent du lit.
  5. Si le problème se produit uniquement à certains endroits, concentrez-vous sur la vérification du tirage du faisceau et du décalage de la sonde.

Référence de configuration connexe : Relatif aux fins de course, Introduction aux macros.

Les échantillons de la sonde dépassent samples_tolerance

Message d'erreur : Les échantillons de la sonde dépassent samples_tolerance, ou dans le journal, Les échantillons de la sonde dépassent la tolérance. Nouvelle tentative... apparaît de manière répétée.

Causes courantes :

  • Faible répétabilité de la sonde, la différence de hauteur Z entre plusieurs échantillons dépasse samples_tolerance.
  • Montage instable du lit, du portique, de la buse ou de la sonde, provoquant des oscillations lors de la détection.
  • Vitesse de la sonde trop élevée, ou distance de détection/retrait inappropriée.
  • Sondes inductives, à courants de Foucault ou de pression affectées par la dérive de température ou les interférences électromagnétiques.

Solutions :

  1. Vérifiez que la sonde, l'extrémité chaude, le plateau du lit et la structure du portique sont solidement fixés.
  2. Réduisez la speed dans [probe], augmentez sample_retract_dist de manière appropriée.
  3. Assouplissez temporairement samples_tolerance pour les tests, par exemple de 0.01 à 0.03 ou 0.05.
  4. Si vous utilisez une sonde inductive/à courants de Foucault, attendez que la température du lit et de la buse se soit stabilisée avant le nivellement.
  5. Si le problème se produit uniquement dans une zone spécifique, vérifiez la surface du lit, le tapis magnétique, le tirage du faisceau et le décalage de la sonde dans cette zone.

Référence de configuration connexe : Calibrage de la machine, Introduction aux macros.

Retour à l'origine requis avant la sonde

Message d'erreur : Retour à l'origine requis avant la sonde.

Causes courantes :

  • Exécution de PROBE, BED_MESH_CALIBRATE, Z_TILT_ADJUST ou QUAD_GANTRY_LEVEL sans avoir exécuté G28 au préalable.
  • Les macros appelant des commandes de nivellement ne garantissent pas que XY/Z sont déjà retournés à l'origine.
  • Après FIRMWARE_RESTART, arrêt d'urgence ou reprise après erreur, Klipper a effacé l'état de retour à l'origine.

Solutions :

  1. Exécutez d'abord G28, puis la commande de sonde ou de nivellement.
  2. Ajoutez une vérification du retour à l'origine ou G28 au début de la macro de nivellement.
  3. Si vous utilisez une sonde Z indépendante, confirmez que endstop_pin: probe:z_virtual_endstop et la configuration [probe] sont complets.

Référence de configuration connexe : Guide de retour à l'origine et d'étalonnage de la direction, Introduction aux macros.

BLTouch n'a pas pu vérifier l'état du capteur

Message d'erreur : BLTouch n'a pas pu vérifier l'état du capteur ; nouvelle tentative. Erreur après plusieurs tentatives. Causes fréquentes :

  • Le BLTouch piraté/cloné ne peut pas être vérifié par le capteur interne de Klipper.
  • sensor_pin n'est pas configuré avec une résistance de tirage vers le haut (absence du préfixe ^).
  • Câblage incorrect de la broche de commande ou de la broche du capteur du BLTouch.
  • L'auto-test de la sonde a échoué, clignotement rouge.

Solutions :

  1. Exécutez d'abord BLTOUCH_DEBUG COMMAND=pin_down, BLTOUCH_DEBUG COMMAND=touch_mode et QUERY_PROBE pour confirmer l'état.
  2. Si le test manuel réussit mais que l'auto-homing/détection rapporte toujours une erreur, ajoutez dans [bltouch] :
pin_up_touch_mode_reports_triggered: False
  1. Assurez-vous que sensor_pin est configuré avec une résistance de tirage vers le haut, par exemple sensor_pin: ^PC4.
  2. Vérifiez si l'auto-test du BLTouch est normal : après la mise sous tension, la sonde se rétracte et s'étend plusieurs fois, et la lumière rouge reste allumée en continu, ce qui est normal.

Échec du déploiement du BLTouch

Message d'erreur : BLTouch failed to deploy.

Causes fréquentes :

  • La sonde du BLTouch est mécaniquement bloquée et ne peut pas s'étendre.
  • Câblage ou configuration incorrecte de control_pin, la sonde ne reçoit pas le signal d'extension.
  • Incompatibilité temporelle du BLTouch piraté/cloné.
  • Alimentation insuffisante de la sonde (utilisation du 3.3 V de la carte mère au lieu du 5 V).

Solutions :

  1. Testez manuellement la commande de la sonde : BLTOUCH_DEBUG COMMAND=pin_down, observez si la sonde s'étend.
  2. Confirmez que control_pin et sensor_pin dans [bltouch] sont cohérents avec la documentation de la carte mère.
  3. Vérifiez si l'alimentation du BLTouch est en 5 V (certaines cartes mères nécessitent un cavalier pour la sélection).
  4. Si la sonde ne réagit pas du tout, coupez l'alimentation, vérifiez le câblage et les connecteurs, et remplacez le module de sonde si nécessaire.

Échec du relèvement de la sonde du BLTouch

Message d'erreur : Après le homing ou la détection, Klipper détecte que la sonde du BLTouch n'a pas été rétractée avec succès.

Causes fréquentes :

  • Les anciennes versions des BLTouch clonés ne peuvent pas rapporter l'état de rétraction de la sonde.
  • La sonde est mécaniquement bloquée, noyau magnétique déplacé ou vis desserrée.
  • Câblage ou configuration incorrecte de control_pin.

Solutions :

  1. Testez la fonction de commande de la sonde : BLTOUCH_DEBUG COMMAND=pin_down et BLTOUCH_DEBUG COMMAND=pin_up.
  2. Si l'action est normale mais que l'erreur est signalée, ajoutez dans [bltouch] :
pin_up_reports_not_triggered: False
  1. Si la sonde est bloquée, il est recommandé de remplacer le module de sonde ou de contacter le service après-vente. Ne démontez pas l'équipement sous tension.

Guide complet : Les instructions de configuration complètes pour le câblage, les tests, la compatibilité des clones et les modes de sortie du BLTouch se trouvent dans Configuration et dépannage du BLTouch.

Délai d'attente de communication lors du homing

Message d'erreur : Communication timeout during homing x, Communication timeout during homing y, etc.

Causes fréquentes :

  • Pendant le homing, le bus CAN est soumis à des interférences électromagnétiques générées par le mouvement du moteur, entraînant une perte de paquets de communication.
  • Mauvais contact du câble de communication USB, déconnexion lors des mouvements brusques.
  • Surcharge du MCU (par exemple, déclenchement d'un grand nombre de requêtes de capteurs en même temps que le homing).

Solutions :

  1. Vérifiez le routage des câbles de communication CAN/USB, assurez-vous qu'ils sont éloignés des câbles moteur, des câbles chauffants et des câbles d'alimentation.
  2. Assurez-vous que les connecteurs des câbles de communication sont bien serrés et remplacez-les par des câbles blindés de meilleure qualité.
  3. Confirmez que les versions du firmware de tous les MCU sont cohérentes.
  4. Si l'erreur ne se produit que lors du homing d'un axe spécifique, vérifiez particulièrement le blindage et la mise à la terre du faisceau de câbles du moteur de cet axe et du fin de course.

Dépannage connexe : Perte de communication avec le MCU, Dépannage des erreurs CAN

horizontal_move_z ne peut pas être inférieur à z_offset de la sonde

Message d'erreur : horizontal_move_z can't be less than probe's z_offset.

Causes fréquentes :

  • Le z_offset enregistré après PROBE_CALIBRATE est supérieur à horizontal_move_z dans la configuration du nivellement.
  • Après le remplacement de la buse, du support de sonde ou de la tête chaude, la hauteur d'installation de la sonde a considérablement changé.
  • horizontal_move_z ou z_offset est configuré en double dans plusieurs fichiers include.

Solutions :

  1. Recherchez tous les horizontal_move_z et z_offset, confirmez la configuration finale effective.
  2. Définissez horizontal_move_z dans la configuration de nivellement associée à une valeur de sécurité supérieure au z_offset de la sonde.
  3. Si z_offset est anormalement élevé, revérifiez la hauteur d'installation de la sonde et exécutez PROBE_CALIBRATE.
  4. Après la sauvegarde, exécutez RESTART, puis retestez BED_MESH_CALIBRATE ou la commande de nivellement.

Référence de configuration connexe : Calibrage de la machine, Introduction aux macros.

bed_mesh : ne peut pas dépasser un probe_count de 6

Message d'erreur : bed_mesh: cannot exceed a probe_count of 6 when using lagrange interpolation.

Cause de l'erreur : L'interpolation lagrange est sujette aux oscillations avec un nombre d'échantillons élevé. Klipper limite le nombre de points de détection par axe à 6 lors de l'utilisation de cet algorithme.

Solutions :

  1. Si une grille plus dense 7x7, 9x9 est nécessaire, définissez dans [bed_mesh] :
algorithm: bicubic
  1. Si une grille dense n'est pas nécessaire, réduisez probe_count à 6,6 ou moins.
  2. Lorsque le maillage adaptatif transmet PROBE_COUNT via le slicer ou la macro, assurez-vous également que le nombre final de points correspond à l'algorithme.
  3. Après la modification, enregistrez et exécutez RESTART.

Référence de configuration connexe : Introduction aux macros.

bed_mesh : Profil inconnu

Message d'erreur : bed_mesh: Unknown profile [xxx] ou le chargement de la configuration du maillage du lit indique que le profil est introuvable.

Causes fréquentes :

  • BED_MESH_PROFILE LOAD=xxx est exécuté dans le G-code de début ou la macro, mais ce nom n'a jamais été enregistré.
  • BED_MESH_CLEAR a été exécuté ou les données du maillage dans la zone d'enregistrement automatique ont été supprimées.
  • SAVE_CONFIG n'a pas été exécuté après la fin de l'étalonnage du maillage.
  • La casse ou les espaces dans le nom du profil ne correspondent pas.

Solutions :

  1. Exécutez BED_MESH_OUTPUT ou vérifiez la zone d'enregistrement automatique à la fin de la configuration pour confirmer le nom du profil existant.
  2. Si le profil requis n'existe pas, réexécutez BED_MESH_CALIBRATE, puis exécutez SAVE_CONFIG.
  3. Modifiez BED_MESH_PROFILE LOAD= dans le G-code de début pour que le nom corresponde au nom réellement enregistré.
  4. Si le lit est scanné à nouveau avant chaque impression, vous pouvez supprimer la commande de chargement de profil inutile.

Référence de configuration connexe : Introduction aux macros.

Erreur de configuration avancée de bed_mesh

Messages d'erreur : bed_mesh: ERROR, fade_target lies outside of mesh z range, bed_mesh: Mesh extends outside of the fade range, bed_mesh: Cannot probe zero reference position, bed_mesh: invalid min/max points, bed_mesh: malformed 'xxx' value.

Causes fréquentes :

  • fade_target dépasse la plage de hauteur Z actuelle du maillage, ou l'écart global des données du maillage est trop important.
  • mesh_min, mesh_max, zero_reference_position et le décalage de la sonde après calcul se trouvent dans une zone non détectable.
  • faulty_region couvre le point de référence zéro, empêchant Klipper de détecter la position de référence.
  • Le format de la liste de coordonnées est incorrect, il manque une virgule ou la ponctuation chinoise est utilisée.
  • MESH_MIN / MESH_MAX transmis par la macro de maillage adaptatif ne correspondent pas aux dimensions de la machine ou au décalage de la sonde.

Solutions :

  1. Vérifiez mesh_min, mesh_max, probe_count, fade_start, fade_end, fade_target dans [bed_mesh].
  2. Si vous ne comprenez pas la signification de fade_target, supprimez d'abord cet élément pour laisser Klipper utiliser le comportement par défaut.
  3. Assurez-vous que tous les points de détection, compte tenu de x_offset / y_offset de [probe], se trouvent toujours dans la plage de déplacement de la machine.
  4. Si zero_reference_position ou faulty_region est configuré, confirmez que le point de référence zéro ne tombe pas dans la zone défectueuse.
  5. En cas d'erreur de maillage adaptatif, testez d'abord avec un mesh_min / mesh_max fixe pour confirmer que la configuration du maillage de base est normale avant de restaurer la macro.

Référence de configuration connexe : Introduction aux macros, Calibrage de la machine.

Z_TILT_ADJUST / QUAD_GANTRY_LEVEL Erreur

Message d'erreur : Z_TILT_ADJUST: Le point X,Y n'est pas accessible avec le décalage actuel de la sonde, QUAD_GANTRY_LEVEL: Le réglage maximal X.XXXX dépasse la limite ou l'écart reste trop important après le nivellement du portique.

Causes fréquentes :

  • La configuration du décalage de la sonde est incorrecte, ce qui fait que le point de mesure calculé dépasse la zone du plateau.
  • L'écart du portique pour les multiples axes Z dépasse la plage autorisée par max_adjust.
  • Les directions des moteurs Z ne sont pas cohérentes, ce qui fait pencher le portique dans la direction opposée.
  • La hauteur d'installation des butées d'origine n'est pas uniforme, ce qui entraîne une différence trop importante des positions de départ des axes Z après le repositionnement.
  • La structure mécanique du portique est desserrée, la courroie patine ou le jeu de l'écrou de la vis mère est excessif.

Solutions :

Opération hors tension

Avant de régler manuellement la vis mère Z, la courroie synchrone, l'accouplement ou de vérifier l'installation des butées du portique, éteignez complètement l'imprimante et débranchez l'alimentation. Ne forcez pas la rotation de la vis mère ou de la courroie synchrone lorsque le moteur est sous tension et maintient son couple.

  1. Vérifiez x_offset, y_offset dans [probe], ainsi que points dans [z_tilt] ou [quad_gantry_level].
  2. Si l'écart dépasse max_adjust, éteignez complètement, ajustez manuellement le portique pour le mettre approximativement à niveau, puis remettez sous tension, repositionnez et effectuez le nivellement.
  3. Exécutez STEPPER_BUZZ STEPPER=stepper_z et STEPPER_BUZZ STEPPER=stepper_z1 (selon les noms réels) pour confirmer que chaque moteur Z tourne dans la même direction.
  4. Après avoir coupé l'alimentation, vérifiez si la hauteur d'installation des butées d'origine à chaque angle du portique est cohérente, et si l'écrou de la vis mère, la tension de la courroie synchrone et l'accouplement ne patinent pas.
  5. Si la limitation max_adjust est simplement trop petite, vous pouvez augmenter la valeur de manière appropriée, mais ne dépassez pas 2 à 3 fois la valeur par défaut.

Référence de configuration connexe : Guide d'étalonnage de l'origine et de la direction.

no samples between time

Message d'erreur : no samples between time X.X and X.X, apparaît généralement après l'exécution de BED_MESH_CALIBRATE.

Causes fréquentes :

  • La version du firmware de la sonde à flux continu (comme EDDY ou Cartographer) ne correspond pas à celle du Klipper sur l'ordinateur hôte.
  • Le flux de données de la sonde est interrompu pendant l'échantillonnage du maillage du plateau (gigue de communication CAN, bande passante USB insuffisante).
  • Le firmware du module de la sonde n'a pas été mis à jour de manière synchrone après la mise à jour de Klipper.
  • La charge CPU de l'ordinateur hôte est trop élevée, ce qui entraîne des timestamps de données d'échantillonnage anormaux.

Solutions :

  1. Assurez-vous que la version du firmware du module de la sonde (EDDY, Cartographer, etc.) correspond à la version actuelle de Klipper, et reflashez le firmware de la sonde si nécessaire.
  2. Vérifiez l'état du bus CAN et confirmez que bytes_retransmit et bytes_invalid n'augmentent pas continuellement.
  3. Désactivez temporairement la caméra, KlipperScreen et d'autres services à forte charge, puis réexécutez le calibrage du maillage du plateau.
  4. Si l'erreur ne se produit que dans une zone spécifique, vérifiez si cette zone dépasse la plage de détection effective de la sonde.
  5. Essayez de réduire la vitesse d'échantillonnage du maillage (en diminuant le paramètre speed) puis refaites le test.

Relatif à la sonde EDDY : FAQ EDDY

SVD did not converge in Linear Least Squares

Message d'erreur : numpy.linalg.LinAlgError: SVD did not converge in Linear Least Squares, se produit généralement lors de l'exécution de BED_MESH_CALIBRATE ou ACCEPT, provoquant un shutdown.

Causes fréquentes :

  • Les données des points d'échantillonnage du maillage du plateau sont anormales (toutes identiques, contiennent des NaN ou des sauts extrêmes), numpy est incapable de terminer l'ajustement de la matrice.
  • La sonde déclenche une exception pendant l'échantillonnage (par exemple, interruption du flux de données EDDY, Cartographer hors de la plage du modèle).
  • Il y a un objet métallique étranger sur la surface du plateau ou la surface de détection de la sonde est contaminée, ce qui entraîne des lectures gravement déviées pour certains points.
  • La version de numpy sur l'ordinateur hôte est trop ancienne ou l'installation est corrompue.

Solutions :

  1. Réexécutez BED_MESH_CALIBRATE et observez si l'échec se produit toujours au même point.
  2. Vérifiez si la surface du plateau est propre et si la surface de détection de la sonde a des résidus de filament ou des fragments métalliques.
  3. Si la sonde est de type EDDY / Cartographer, confirmez que la version du firmware correspond à Klipper et vérifiez la stabilité de la communication CAN.
  4. Essayez de réduire probe_count (par exemple, de 7x7 à 5x5) puis refaites le test pour exclure l'impact d'un point anormal.
  5. Si le problème persiste, essayez de mettre à jour numpy sur l'ordinateur hôte : pip install --upgrade numpy.
  6. Vérifiez dans klippy.log s'il y a des erreurs préalables comme Toolhead stopped outside model range ou un délai d'attente de la sonde avant l'apparition de l'erreur.
Loading...