Aller au contenu principal

Test des périphériques et des pilotes

Cet article permet de vérifier si des modules périphériques tels que le pilote pas à pas et la carte à outils CAN fonctionnent correctement. L'approche de test est la même que celle des tests d'E/S de base : utiliser une configuration Klipper minimale pour isoler un seul matériel.

Si vous devez tester la connexion MCU, le capteur de température, la sortie du ventilateur ou les ports d'entrée, veuillez d'abord consulter Méthodes de test matériel.

Test du pilote

Objectif du test

Vérifier, avec la configuration Klipper la plus simple, qu'un seul pilote TMC (mode UART ou SPI) peut communiquer normalement avec la carte mère et confirmer que le moteur peut être commandé.

Conditions préalables

Opération hors tension

Veuillez d'abord éteindre complètement l'imprimante et débrancher l'alimentation avant d'effectuer les opérations suivantes. Il est interdit de brancher/débrancher les modules de pilotage ou les câbles du moteur pas à pas sous tension.

  1. L'imprimante est complètement hors tension.
  2. Le pilote TMC à tester est correctement inséré dans le socket correspondant de la carte mère, en vérifiant le bon sens.
  3. Pour un pilote en mode UART (comme le TMC2209), vérifiez que le cavalier UART du port de pilotage correspondant est installé.
  4. Ne connectez qu'un seul moteur pas à pas au port de pilotage à tester ; les autres ports de pilotage restent vides pour l'instant.
  5. Préparez une configuration printer.cfg minimale ne contenant que le pilote à tester. Il est recommandé de sauvegarder le fichier de configuration complet d'origine.

Configuration minimale pour un seul pilote

Utilisez la configuration minimale suivante pour remplacer printer.cfg, en ne conservant que les sections [printer], [mcu], le [manual_stepper Drive0] à tester et la section [tmcXXXX manual_stepper Drive0] correspondante. La section [manual_stepper] nécessite toujours une section [printer] minimale (kinematics: none), plus simple que la configuration des axes de mouvement, et adaptée à la vérification purement matérielle.

[printer]
kinematics: none
max_velocity: 200.00
max_accel: 40000.00

[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxx

[manual_stepper Drive0]
# Veuillez modifier les trois éléments suivants en fonction des broches réelles de la carte mère
step_pin: PE2
dir_pin: PC5
enable_pin: !PF11
# Les paramètres suivants n'ont pas besoin d'être modifiés
microsteps: 16
rotation_distance: 40
velocity: 500
accel: 10000
position_min: 0
position_max: 1000

[tmc2209 manual_stepper Drive0]
# Veuillez modifier uart_pin en fonction des broches réelles de la carte mère
# Veuillez modifier sense_resistor en fonction des données du fabricant du pilote
uart_pin: PC4
interpolate: False
run_current: 0.8
sense_resistor: <driver_sense_resistor>
stealthchop_threshold: 0
Explication de la configuration
  • serial : remplacez par l'ID réel du port série de la carte mère (visible via ls /dev/serial/by-id/).
  • step_pin / dir_pin / enable_pin : remplacez par les broches de la carte mère correspondant au port de pilotage à tester.
  • uart_pin (mode UART) / cs_pin + spi_bus (mode SPI) : remplacez par les broches réelles et le numéro de bus SPI.
  • sense_resistor : doit être renseigné selon les paramètres fournis par le fabricant du pilote, ne pas simplement deviner en fonction du modèle de la puce. Différentes cartes de pilotage TMC5160 peuvent avoir des valeurs 0.075, 0.033, 0.022 ou autres ; les paramètres de détection des pilotes TMC2240 peuvent également être différents. Si les données du fabricant ne sont pas claires, veuillez d'abord consulter le fabricant ou utiliser son exemple de configuration officiel.
  • La configuration ne contient aucun chauffage ni ventilateur, elle est uniquement destinée à la vérification de la communication du pilote.

Méthode de test pour plusieurs pilotes

Si vous devez vérifier un par un plusieurs ports de pilotage sur une carte mère, vous pouvez nommer chaque port de pilotage comme Drive0, Drive1, Drive2 indépendamment, en vous référant à la méthode de dénomination de la configuration de test :

[manual_stepper Drive1]
step_pin: PE3
dir_pin: PF13
enable_pin: !PF14
microsteps: 16
rotation_distance: 40
velocity: 500
accel: 10000
position_min: 0
position_max: 1000

[tmc2209 manual_stepper Drive1]
uart_pin: PF12
interpolate: False
run_current: 0.8
sense_resistor: <driver_sense_resistor>
stealthchop_threshold: 0

Lors du test, ne connectez le moteur qu'au port de pilotage actuellement testé. Après avoir confirmé un port, mettez hors tension, puis passez au port suivant.

Étapes du test

  1. Enregistrez la configuration minimale ci-dessus dans printer.cfg.

  2. Après avoir confirmé que le moteur et le pilote sont bien branchés, mettez sous tension et démarrez Klipper.

  3. Saisissez les commandes suivantes dans la console Mainsail / Fluidd pour activer le moteur et définir la position actuelle à 0 :

    MANUAL_STEPPER STEPPER=Drive0 ENABLE=1
    MANUAL_STEPPER STEPPER=Drive0 SET_POSITION=0
    • Si le moteur a un couple de maintien après activation, cela signifie que enable_pin est fondamentalement efficace.
    • Si le moteur peut encore tourner librement, mettez hors tension et vérifiez enable_pin, la direction du pilote, le cavalier et l'alimentation.
  4. Effectuez un test de déplacement manuel :

    MANUAL_STEPPER STEPPER=Drive0 MOVE=100 SPEED=100
    MANUAL_STEPPER STEPPER=Drive0 MOVE=0 SPEED=100
    • MOVE= est la position cible, pas le déplacement relatif. Après avoir exécuté MOVE=100, puis MOVE=0, le moteur reviendra en sens inverse au point de départ.
    • Si le moteur est toujours connecté au mécanisme de mouvement de la machine, il est suggéré de modifier d'abord MOVE=10 SPEED=5 lors du premier test, puis d'augmenter la vitesse après avoir confirmé la sécurité de la direction et de la course.
    • Si le moteur tourne de manière stable sans à-coups, cela signifie que le pilote, le moteur et les broches d'impulsion/direction sont fondamentalement normaux.
    • Si le moteur ne réagit pas, vibre seulement ou a une direction anormale, mettez hors tension et vérifiez la configuration des broches, le câblage du moteur, la direction du pilote et le cavalier.
  5. Vérifiez l'état de la communication TMC :

    DUMP_TMC STEPPER=Drive0

    Si les informations des registres peuvent être retournées normalement, cela signifie que la communication UART/SPI est fondamentalement normale ; si une erreur de lecture des registres est signalée, veuillez consulter Dépannage des erreurs TMC.

  6. À la fin du test, désactivez le moteur :

    MANUAL_STEPPER STEPPER=Drive0 ENABLE=0

Résultats attendus

Élément de testRésultat normalComportement anormal
Déplacement manuelLe moteur se déplace en avant et en arrière selon la commandeNe bouge pas, vibre, a des à-coups ou une direction anormale
Communication TMCDUMP_TMC retourne les informations des registresImpossible de lire les registres UART/SPI
Couple de maintienL'axe du moteur ne peut pas tourner librement après ENABLE=1L'axe peut tourner facilement (non activé)

Si les trois éléments ci-dessus sont normaux, cela signifie que la communication entre le pilote et la carte mère ainsi que le câblage du moteur sont sans problème. Vous pouvez alors restaurer le fichier printer.cfg d'origine et continuer à vérifier les autres composants matériels.


Test minimal de la carte à outils CAN

Objectif du test

Confirmer que la carte à outils CAN a été reconnue par Klipper et vérifier la température, le ventilateur, l'accéléromètre ou les ports d'entrée sur la carte à outils.

Configuration minimale

[mcu tool]
canbus_uuid: xxxxxxxxxxxx

[temperature_sensor ToolBoard]
sensor_type: temperature_mcu
sensor_mcu: tool

[output_pin tool_FAN0]
pin: tool:gpio13
pwm: True
cycle_time: 0.010
value: 0
shutdown_value: 0

Étapes du test

  1. Suivez Configuration du réseau CAN et recherche d'ID pour rechercher et remplir canbus_uuid.
  2. Après avoir redémarré Klipper, vérifiez si la température ToolBoard s'affiche normalement.
  3. Utilisez SET_PIN PIN=tool_FAN0 VALUE=1 pour tester la sortie du ventilateur basse tension de la carte à outils, puis exécutez SET_PIN PIN=tool_FAN0 VALUE=0 après le test.
  4. Si vous devez tester l'accéléromètre ou les ports d'entrée de la carte à outils, vous pouvez ajouter la configuration correspondante en vous référant aux sections ci-dessus.
Indice de dépannage CAN

L'ordre des fils CANH/CANL, la résistance de terminaison, les cavaliers et l'organisation du câblage doivent tous être effectués hors tension. Ne débranchez pas les câbles CAN et n'ajustez pas la résistance de terminaison sous tension.


Anomalies courantes et prochaines étapes

Comportement anormalMots-clés courants dans klippy.logVérification prioritaireProchaine étape
Klipper ne peut pas se connecter au MCUUnable to connect, Connect error, Serial connection closedserial / canbus_uuid, firmware, connexion USB/CANAperçu des erreurs courantes
Affichage anormal de la températureADC out of range, temperature, not heatingsensor_type, sensor_pin, fiche de la sondeErreurs de température, de chauffage et d'extrusion
Arrêt du chauffage ou du litVerify heater, not heating at expected rateContact de la sonde, PID, puissance du chauffage, SSRErreurs de température, de chauffage et d'extrusion
Le ventilateur ne tourne pasAucune erreur (les ports de sortie ne génèrent pas de journal)pin, spécifications de tension du ventilateur, compatibilité PWMTest croisé en changeant de ventilateur ou de port
L'état d'entrée ne change pasAucune erreur (les ports d'entrée ne génèrent pas de journal)Tirage ^, câblage, type d'interrupteurVérifiez la fiche et le port après la mise hors tension
Aucune donnée de l'accéléromètreInvalid adxl345 id, Invalid lis2dw id, timeoutcs_pin, spi_bus, câblage, modèle du moduleTest et calibrage de l'accéléromètre
Échec du test de résonanceNo data, Insufficient axis data, Frequency rangeFixation du capteur, tension de la courroie, vibrations du ventilateurTest et calibrage de l'accéléromètre
Le moteur ne bouge pasUnable to read tmc uart, Unable to write tmc spistep_pin, dir_pin, enable_pin, configuration TMCDépannage des erreurs TMC
Impossible de lire les registres TMCDRV_STATUS, read register, GSTATBroches UART/SPI, cavalier, alimentation du pilote, modèle du piloteDépannage des erreurs TMC
La carte à outils CAN est hors lignebytes_invalid, Network is down, No buffer space, Timer too closeOrdre des fils CAN, résistance de terminaison, alimentation, UUIDConfiguration du réseau CAN et recherche d'ID
À-coups/pertes aléatoires pendant l'impressionStepper too far in past, Rescheduled timer, Lost communicationCharge de l'ordinateur hôte, interférences des câbles de communication, vitesse/accélérationErreurs système, de performance et de service
Impossible de sauvegarder la configurationUnable to write, Option conflict, CRC does not matchPermissions de fichier, conflit dans la zone de sauvegarde automatique, FIRMWARE_RESTARTErreurs de configuration

Extraits de configuration de référence

Lors de la maintenance de la configuration de test, vous pouvez extraire des fragments des modèles de carte mère/carte à outils correspondants en fonction du type de matériel :

  • Test de la carte mère : temperature_sensor, manual_stepper DriveN, tmcXXXX manual_stepper DriveN, output_pin FANx, gcode_button IOx.
  • Test de la carte à outils : temperature_sensor, adxl345 / lis2dw, manual_stepper Drive0, output_pin FANx, gcode_button.
  • Test de plusieurs pilotes : conservez la dénomination Drive0, Drive1, Drive2, et le STEPPER= dans la commande de test doit correspondre au nom de la section de configuration.
  • Test de sortie basse tension : choisissez de préférence des charges basse tension telles que les ventilateurs, les RGB, les avertisseurs sonores ; n'utilisez pas de cartouche chauffante ou de lit chauffant comme output_pin de test ordinaire.

Si un module ne parvient pas à passer le test minimal ci-dessus, veuillez d'abord restaurer la configuration d'origine, puis combiner l'erreur spécifique pour continuer à dépanner dans la page FAQ correspondante.

Loading...