Aller au contenu principal

Guide de connexion MCU

Remarque d'application

Ce guide est destiné à diagnostiquer et résoudre les problèmes de connexion entre le MCU et Klipper.

Préparations et précautions

  • Périphériques hôtes déconseillés : Évitez d'utiliser des appareils tels que les téléphones Redmi, les clés WiFi, les boîtiers TV, etc. Ils utilisent généralement des systèmes personnalisés ou modifiés, ce qui peut empêcher la reconnaissance correcte du MCU.
  • Confirmez le nombre de MCU esclaves : Veuillez confirmer à l'avance le nombre de MCU esclaves (par exemple, les cartes d'outillage) que vous utilisez. Plusieurs MCU esclaves peuvent affecter la connexion.
  • Simplifiez le câblage : Il est recommandé de retirer temporairement tous les câbles, à l'exception du câble de données, de la carte mère et de la carte d'outillage, afin d'éliminer les interférences.
  • Interface recommandée : Il est recommandé d'utiliser l'interface Fluidd, qui affiche plus intuitivement l'état de connexion du MCU.

Étape 1 : Sauvegarder et réinitialiser la configuration

1. Accéder à l'interface de l'hôte

Saisissez l'adresse IP de l'hôte (ex : 192.168.101.179) dans votre navigateur pour y accéder.

Loading...

2. Localiser le fichier de configuration

Accédez à l'interface Web et trouvez l'option de configuration dans la barre latérale gauche :

Utilisateurs de Fluidd : Cliquez sur ..., puis trouvez printer.cfg.

Loading...

Utilisateurs de Mainsail : Cliquez sur Machine, puis trouvez printer.cfg.

Loading...

3. Sauvegarder le fichier de configuration

Faites un clic droit sur le fichier printer.cfg, sélectionnez Duplicate pour le copier, puis renommez la copie en :

printer_Backup.cfg

Exemple de manipulation sous Fluidd :

Loading...

Exemple de manipulation sous Mainsail :

Loading...

4. Réinitialiser le fichier de configuration

Rouvrez printer.cfg, effacez tout son contenu, et collez la configuration de base suivante :

[mcu]
serial: /tmp/klipper_host_mcu

[printer]
kinematics: none
max_velocity: 200
max_accel: 1000

5. Sauvegarder et redémarrer

  • Cliquez sur SAVE & RESTART en haut à droite. Klipper enregistrera la configuration et redémarrera le service.
  • Ignorez temporairement toute erreur éventuelle.
  • Ensuite, mettez tous les appareils (y compris l'hôte et tous les MCU esclaves) hors tension.
  • Important : Assurez-vous que l'alimentation est complètement coupée, sinon les étapes suivantes ne pourront pas être effectuées.

Étape 2 : Détecter les appareils et confirmer le type de firmware

Prérequis

  • Ordre des appareils principaux : Le premier MCU doit être la carte mère, pas la carte d'outillage.
  • Type de firmware : Confirmez que le firmware de votre carte mère FLY est un firmware USB ou un firmware USB bridge CAN. Ce guide ne s'applique pas aux autres types.
  • Méthode de connexion : Veuillez d'abord vous connecter en SSH. Cette opération doit être effectuée via le réseau.

Procédure

  1. Exécuter la détection des appareils

    • Après une connexion SSH réussie, exécutez la commande suivante :
      lsusb
    • Le système listera tous les périphériques USB reconnus.
  2. Gérer les anomalies de commande

    • Si la commande lsusb n'est pas trouvée, installez-la d'abord :
      sudo apt-get install usbutils
    • Si aucun appareil ne s'affiche après l'exécution, il est conseillé de changer d'ordinateur hôte.
  3. Identifier les informations de l'appareil Identifiez votre appareil dans le résultat de lsusb à l'aide du schéma ci-dessous :

    Loading...
    Loading...
  4. Vérifier le type de firmware

    • En fonction du firmware que vous avez flashé, vérifiez les informations clés suivantes dans le résultat de lsusb :
      • Firmware USB : doit afficher 1d50:614e
      • Firmware USB bridge CAN : doit afficher 1d50:606f
      • Firmware USB Katapult : doit afficher 1d50:6177
      • Adaptateur RS232 (avec UTOR ou en utilisant les cartes mères D8 et D8PRO) : doit afficher 1a86:7523 (cette étape n'est pas nécessaire avec G2T)

Étape 3 : Rechercher l'ID de l'appareil

Remarques importantes

  • Recherche d'ID USB : Applicable uniquement au firmware USB, pas au CAN ou au RS232.
  • Recherche d'ID CAN : Applicable uniquement aux appareils sur bus CAN, pas à l'USB ou au RS232.
  • Recherche d'ID RS232 : Applicable uniquement au firmware RS232, pas à l'USB ou au CAN.
  • Spécificité RS232 : Le firmware RS232 est généralement utilisé uniquement pour les cartes d'outillage, pas pour le MCU principal.

Choisir la méthode en fonction du type de firmware

Appareils avec firmware USB Exécutez la commande suivante pour rechercher l'ID du périphérique USB :

ls /dev/serial/by-id/*

Appareils USB bridge CAN En fonction de votre type de système, choisissez la commande correspondante pour rechercher l'ID CAN :

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

Appareils avec firmware RS232 Exécutez la commande suivante pour rechercher le chemin du périphérique RS232 :

ls /dev/serial/by-path/*

Interprétation et traitement des résultats

Résultat de la recherche d'ID USB

Après avoir exécuté la commande, le terminal affichera un ID d'appareil similaire à celui-ci (il s'agit d'un exemple) :

  • Utilisable directement : Si l'ID est marqué comme Klipper après le champ usb-

  • ⚠️ Nécessite un flash du firmware : Si l'ID est marqué comme katapult après le champ usb-

    Loading...

Résultat de la recherche d'ID CAN

Après avoir exécuté la commande, jugez en fonction de la situation réelle :

  • Utilisable directement : Si l'ID affiché est marqué comme Klipper dans le champ Application: à la fin.
  • ⚠️ Nécessite un flash du firmware : Si l'ID affiché est marqué comme CANBOOT ou Katapult dans le champ Application: à la fin.
  • Appareil non trouvé : Si Total 0 uuids found s'affiche, les causes possibles incluent :
    • Erreur de configuration du réseau CAN
    • Inadéquation du débit CAN (assurez-vous que le débit de l'hôte, de la carte mère et de la carte d'outillage est identique)
    • Cet ID est déjà utilisé (doit être masqué dans la configuration, puis éteindre, couper l'alimentation et redémarrer)
Loading...

Résultat de la recherche d'ID RS232

Après avoir exécuté la commande, le terminal affichera le chemin du périphérique RS232 (il s'agit d'un exemple) :

  • /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
Exigences spécifiques pour la configuration RS232

Les périphériques RS232 doivent spécifier le débit en bauds et la méthode de redémarrage lors de la configuration :

[mcu toolboard]
serial: <remplacer ici par le chemin du périphérique RS232 trouvé>
baud: 250000
restart_method: command

Étape 4 : Configurer l'ID du MCU principal

Préparation

Avant de commencer la configuration, assurez-vous que la connexion entre la carte d'outillage et l'hôte ou la carte mère est débranchée afin d'éviter les conflits de reconnaissance des appareils.

Rouvrez le fichier printer.cfg et trouvez la ligne de configuration serial: /tmp/klipper_host_mcu dans la section [mcu].

En fonction de votre type de connexion, référez-vous à la méthode correspondante ci-dessous pour configurer :

Remplacez /tmp/klipper_host_mcu après serial: par l'ID USB trouvé.

Exemple de configuration :

# L'ID USB trouvé est :
# /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00

# Modifier la configuration en :
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00

Enregistrez la configuration et redémarrez le service Klipper.


Étape 5 : Vérifier la connexion du MCU principal

Après avoir configuré le MCU principal, vous devez vérifier que la connexion a réussi :

  1. Ouvrez l'interface Fluidd, cliquez sur System dans le menu de gauche
  2. Consultez les informations du MCU : Trouvez les informations Micro-Controller sous Mcu Information
  3. Vérifiez le modèle du microcontrôleur : Confirmez que le modèle affiché correspond au modèle réel du microcontrôleur de votre carte mère

:::astuce Points de vérification

  • Si votre microcontrôleur est un STM32H723, Micro-Controller doit afficher un modèle lié au H723
  • Si l'affichage est incorrect ou non reconnu, vérifiez les étapes de configuration précédentes :::
Loading...

Étape 6 : Ajouter un MCU de carte d'outillage

Une fois le MCU principal vérifié avec succès, vous pouvez ajouter la carte d'outillage :

  1. Reconnectez la carte d'outillage : Rebranchez le câble de données de la carte d'outillage à l'hôte ou à la carte mère
  2. Modifiez le fichier de configuration : Ajoutez la configuration de la carte d'outillage tout en bas du fichier printer.cfg
  3. Configurez l'ID de la carte d'outillage : En fonction du type de firmware de la carte d'outillage, ajoutez l'ID correspondant dans la nouvelle section de configuration

:::astuce Remarque sur le nommage du MCU Les noms comme mcu1, mcu2 dans la configuration sont uniquement utilisés pour distinguer temporairement différents appareils. Vous pouvez personnaliser ces noms librement, assurez-vous simplement qu'ils restent uniques dans le fichier de configuration. :::

Format de configuration :

[mcu mcu1]
# Ajoutez ici la configuration de l'ID de la carte d'outillage

Exemple de configuration :

[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00

Remarques :

  • Chaque MCU doit avoir un ID unique. Assurez-vous que l'ID de la carte d'outillage est différent de celui du MCU principal et des autres appareils.
  • Le nom du MCU peut être entièrement personnalisé (par exemple toolboard, extruder_mcu, etc.), assurez-vous simplement qu'il reste unique dans la configuration.
  • Veuillez utiliser l'ID de carte d'outillage validé par les étapes précédentes.
  • Les périphériques RS232 doivent être configurés avec les paramètres baud: 250000 et restart_method: command.
  • Lors de la configuration de plusieurs cartes d'outillage, donnez un nom différent à chaque appareil pour les distinguer.

Configuration des broches entre plusieurs cartes d'outillage

Lorsque vous utilisez plusieurs cartes d'outillage, vous pouvez rencontrer des besoins d'affectation des broches entre les cartes. Par exemple, la fonction de chauffe utilise la prise de chauffe de la première carte d'outillage, mais le capteur de température est connecté à la carte mère ou à la deuxième carte d'outillage.

:::astuce Principe fondamental Dans la configuration multi-MCU de Klipper, les broches de n'importe quelle section de configuration peuvent référencer directement les broches de n'importe quel MCU défini en utilisant le format <nom_mcu>:<numéro_de_broche>, sans configuration supplémentaire. Klipper acheminera automatiquement les commandes vers le MCU correspondant via le bus de communication (CAN/USB/RS232). :::

Scénario typique : Chauffage sur la carte d'outillage, capteur de température sur la carte mère

Supposons que la configuration du système soit la suivante :

  • MCU principal : Exécute le firmware hôte Klipper de l'ordinateur hôte, le capteur de température est connecté à la carte mère
  • toolboard1 : Carte d'outillage, la cartouche chauffante et le moteur pas à pas de l'extrudeuse sont connectés à la carte d'outillage

Étape 1 : Définir tous les MCU

[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00

[mcu toolboard1]
canbus_uuid: e51d5c71a901

Étape 2 : Référencer directement les broches entre les cartes dans la configuration

[extruder]
# Le pas à pas et le chauffage utilisent les broches de la carte d'outillage
step_pin: toolboard1:gpio9
dir_pin: toolboard1:gpio10
enable_pin: !toolboard1:gpio7
heater_pin: toolboard1:gpio6 # Cartouche chauffante sur toolboard1
# Le capteur de température utilise les broches de la carte mère (écrire directement gpio ou mcu:gpio)
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA0 # Capteur de température connecté à la carte mère
# Autres paramètres
rotation_distance: 22.44
gear_ratio: 50:17
microsteps: 16
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.75
min_temp: -235
max_temp: 350
max_power: 1.0
min_extrude_temp: 170
control: watermark

:::astuce Règles de nommage des broches

  • Broches de la carte d'outillage : Format <nom_mcu>:<numéro_de_broche>, par exemple toolboard1:gpio6
  • Broches du MCU principal : Vous pouvez écrire directement le nom de la broche (par exemple PA0)
  • Les broches d'une même section de configuration peuvent provenir de différents MCU, Klipper gère automatiquement la communication entre les cartes. :::

Plus d'exemples de configuration entre cartes

Cartouche chauffante sur la première carte d'outillage, capteur de température sur la deuxième carte d'outillage :

[extruder]
step_pin: toolboard1:gpio9
heater_pin: toolboard1:gpio6 # Chauffage sur la première carte d'outillage
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:gpio26 # Capteur de température sur la deuxième carte d'outillage
# ... autres paramètres de l'extrudeuse

:::attention Remarques

  • Lorsque vous référencez des broches entre les cartes, assurez-vous que le MCU correspondant a été correctement défini dans le fichier de configuration via [mcu <nom>].
  • Il est recommandé de connecter des appareils fonctionnellement liés (comme la cartouche chauffante et le capteur de température) sur la même carte d'outillage pour obtenir une meilleure réactivité et fiabilité. :::

Après avoir terminé la configuration, enregistrez et redémarrez le service Klipper.


Étape 7 : Vérifier la connexion de tous les MCU

Après avoir ajouté la carte d'outillage et redémarré Klipper, vous devez revérifier l'état de connexion de tous les MCU :

  1. Ouvrez l'interface Fluidd, cliquez sur System dans le menu de gauche
  2. Consultez les informations du MCU : Sous Mcu Information, confirmez que tous les MCU sont correctement identifiés
  3. Vérifiez l'état de chaque MCU : Assurez-vous que le MCU principal et la carte d'outillage affichent un état connecté

:::astuce Points de vérification

  • Le MCU principal et toutes les cartes d'outillage doivent apparaître dans la liste
  • L'état de connexion de chaque MCU doit être "Connecté"
  • Si un MCU n'apparaît pas ou que la connexion échoue, vérifiez sa configuration et sa connexion physique :::
Loading...

Étape 8 : Vérifier la version du firmware

Après avoir terminé la connexion de tous les MCU, vous devez vérifier la compatibilité des versions du firmware :

  1. Ouvrez l'interface Fluidd, cliquez sur System dans le menu de gauche
  2. Consultez les informations de version : Trouvez le champ Version sous Mcu Information
  3. Vérifiez la cohérence des versions : Confirmez que la version du firmware de tous les MCU correspond à la version de Klipper de l'hôte
Notes sur la compatibilité des versions
  • Firmware compilé personnalisé : À l'exception des appareils personnalisés préconfigurés, tous les firmwares compilés individuellement doivent correspondre à la version de Klipper de l'hôte.
  • Système Fly-FAST : La version du firmware du système FAST est cohérente avec la version du système. Le firmware Klipper compilé est cohérent avec la version du système.
  • Conséquences d'une incompatibilité de version : Des firmwares de versions différentes peuvent entraîner des anomalies fonctionnelles, des échecs de communication ou une instabilité du système.

Points de vérification :

  • Les informations Version du MCU principal et de toutes les cartes d'outillage doivent s'afficher et être cohérentes.
  • Si les versions ne correspondent pas, vous devez reflasher le firmware correspondant.

Étape 9 : Restaurer et mettre à jour le fichier de configuration

Après avoir confirmé que tous les MCU sont connectés correctement, vous devez restaurer le fichier de configuration d'origine et mettre à jour la configuration du MCU :

  1. Supprimer le fichier de configuration actuel

    • Dans l'interface de gestion des fichiers de configuration, trouvez et supprimez le fichier printer.cfg actuel.
  2. Restaurer la configuration de sauvegarde

    • Renommez le fichier printer_Backup.cfg précédemment sauvegardé en printer.cfg.
  3. Mettre à jour la configuration du MCU

    • Ouvrez le fichier printer.cfg restauré.
    • Trouvez la section [mcu] d'origine et mettez-la à jour avec l'ID obtenu lors des étapes précédentes :

    Configuration connexion USB :

    [mcu]
    serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
    # Remplacez par l'ID USB du MCU principal réellement trouvé

    Configuration connexion CAN :

    [mcu]
    canbus_uuid: 688e89f0e401
    # Remplacez par l'UUID CAN du MCU principal réellement trouvé
  4. Mettre à jour la configuration de la carte d'outillage (si applicable)

    • Dans le fichier de configuration, trouvez la section [mcu] correspondant à la carte d'outillage.
    • Mettez à jour avec l'ID de la carte d'outillage réellement trouvé en fonction du type de connexion :

    Carte d'outillage USB :

    [mcu toolboard]
    serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00

    Carte d'outillage CAN :

    [mcu toolboard]
    canbus_uuid: 688e89f0e402

    Carte d'outillage RS232 :

    [mcu toolboard]
    serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
    baud: 250000
    restart_method: command
  5. Sauvegarder et redémarrer

    • Après avoir terminé toutes les mises à jour de la configuration du MCU, cliquez sur SAVE & RESTART pour enregistrer et redémarrer Klipper.
    • Revenez à la page System et confirmez que l'état de connexion de tous les MCU est normal.

:::astuce Rappel important

  • Assurez-vous d'utiliser l'ID correct réellement trouvé lors de ce test de connexion.
  • Si vous configurez plusieurs cartes d'outillage, mettez à jour l'ID de chaque section [mcu] une par une.
  • La carte d'outillage RS232 doit inclure les paramètres baud: 250000 et restart_method: command.
  • Après avoir restauré la configuration, les paramètres d'impression d'origine (comme les réglages des moteurs pas à pas, des interrupteurs de fin de course, etc.) resteront inchangés. :::

Ceci termine le dépannage de la connexion MCU et la restauration de la configuration.

Loading...