Aller au contenu principal

Installation du BDsensor-m

Connecter le câble du capteur au port EXP1 de la carte mère

  • Si le câble du capteur est trop court, vous pouvez utiliser le câble d'extension fourni dans l'emballage.
  • Les fils CKL et SDA du BDsensor-m peuvent être connectés à n'importe quelle broche GPIO de la carte. Vous pouvez également connecter directement le câble du capteur BD au port Bltouch, par exemple :
BLtouch    |    BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Entrée)
GND --> GND
Zmin --> SDA (Entrée/Sortie)
  • Certaines broches des connecteurs de la carte mère peuvent ne pas être directement connectées aux GPIO du MCU (par exemple, elles peuvent avoir des condensateurs de filtrage ou être isolées via un MOSFET, une diode ou un optocoupleur, mais si elles sont isolées via une résistance ou une résistance pull-up/pull-down, cela peut fonctionner). Elles ne peuvent donc pas être utilisées avec le BDsensor-m. Le firmware signalera une erreur de connexion. Par exemple :
  • Les connecteurs des ventilateurs et des chauffages sont isolés via un MOSFET.
  • Les connecteurs pour les thermistances de température et les butées/fils de sonde dans certaines cartes sont généralement connectés à la masse via des condensateurs de filtrage.
  1. Installez le capteur BD près de la tête chaude, comme illustré ci-dessous. STL du support, STL_mount_VzBot_Goliath short

    Loading...

Appliquer le correctif au firmware Klipper

  • Ne faites rien qui ne soit pas mentionné dans le tutoriel.

  • Abandonnez les fichiers Klipper modifiés précédemment et mettez à jour Klipper.

    cd
    cd ~/klipper
    git checkout .
    git pull
  • Exécutez la commande git suivante dans le répertoire utilisateur pour cloner le code le plus récent du capteur BD.

    cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • Ensuite, exécutez la commande suivante pour l'installation.

    cd  ~/Bed_Distance_sensor/klipper/
    ./install_BDsensor.sh

Compilation du firmware ici Si un message d'incompatibilité entre le firmware hôte et le microcontrôleur apparaît, alors compilez un nouveau firmware Klipper.

  • Compilez le firmware en suivant le tutoriel de compilation correspondant à votre carte, puis flashez-le.

  • Compilation du firmware :

    cd ~/klipper/  # Accédez au répertoire Klipper
    make menuconfig # Commande pour entrer dans l'interface de compilation de Klipper
    make clean # Commande de nettoyage
    make # Commande de compilation
  • Flashez le firmware sur la carte mère à laquelle le capteur BD est connecté.

Si votre imprimante exécute Moonraker, ajoutez la section suivante à moonraker.conf. Vous pourrez alors mettre à jour le BDsensor en un clic via la page web ou KlipperScreen.

[update_manager BDsensor]
type: git_repo
primary_branch: new
channel: dev
path: ~/Bed_Distance_sensor
origin: https://github.com/markniu/Bed_Distance_sensor.git
install_script: ./klipper/install_BDsensor.sh
is_system_service: False
managed_services: klipper
info_tags:
desc=Bed Distance Sensor

Modifier printer.cfg

  • Copiez cette section dans votre printer.cfg et modifiez [BDsensor] sda_pin scl_pin. N'oubliez pas de désactiver les autres sections de sonde, comme BLtouch. Vous pouvez connecter le capteur BD sur la carte mère ou sur un module CAN de la tête d'outil.

  • Dans [BDsensor], modifiez speed à 0.8. Ceci s'applique uniquement à la commande d'inclinaison Z et à PROBE_ACCURACY. Une valeur plus petite donne une plus grande précision lors du sondage, car le MCU lit le capteur BD dans la boucle principale lors de l'homing, ce qui n'est pas en temps réel comme pour une butée normale. [BDsensor]

  • Pour utiliser le capteur BD comme fin de course lors de l'homing de l'axe Z, modifiez endstop_pin dans [stepper_z] en endstop_pin: probe:z_virtual_endstop

  • Assurez-vous que printer.cfg contient [safe_z_home]

  • Modifiez la valeur horizontal_move_z dans [bed_mesh] et [z_tilt] ou [quad_gantry_level] à 1 (recommandé 0.7-1.0 mm). La valeur par défaut dans Klipper est de 5 mm, sinon cela peut dépasser la plage du capteur.

  • La hauteur de la buse ne doit être ajustée que dans z_adjust:. Une valeur positive rapproche la buse du plateau, une valeur négative l'en éloigne. Les autres réglages de hauteur de buse peuvent causer des bugs.

  • Pour activer le balayage rapide du plateau, supprimez le # devant no_stop_probe:true

  • Voici un exemple de configuration.

    [BDsensor]
    scl_pin:PC6 # Port du signal du servomoteur
    sda_pin:PC3 # Port du signal de fin de course
    delay: 20 # 20us par impulsion, cette valeur doit être >=20 mais inférieure à 50
    z_offset:0 # Ce `z_offset` doit être défini à 0.
    z_adjust:0.0 # Ajustement de l'axe Z, remplace la fonction z_offset. Entre -0.3 et 0.3 mm
    x_offset: -34
    y_offset: 0
    #no_stop_probe:true # Activez ceci pour un sondage rapide, la tête d'outil ne s'arrêtera pas au point de sondage.
    position_endstop: 0.8 # L'axe Z s'arrêtera à cette position (mm) lors de l'homing Z, valeur recommandée 0.4~1.0
    #speed:0.8 # Cette vitesse ne fonctionne que pour la commande d'inclinaison Z et PROBE_ACCURACY.

    [stepper_z]
    endstop_pin: probe:z_virtual_endstop
    #position_endstop: 0.5
    homing_speed: 5
    second_homing_speed: 0.8

    [bed_mesh]
    speed: 200
    horizontal_move_z:1
    algorithm: bicubic

    [quad_gantry_level]
    horizontal_move_z:1

Après l'installation, vérifiez en envoyant les commandes G-code suivantes

M102   S-1     # Lire les informations du capteur
M102 S-2 # Lire une valeur de distance

Vérifier la connexion

  • Envoyez M102 S-1 via la console. Voici un exemple de message de retour. Si le retour est vide ou contient d'autres chaînes, vérifiez la connexion et l'ordre des fils.

    Send: M102 S-1
    Recv: V1.0 pandapi3d.com

Calibration

  • Nettoyez la buse, puis déplacez l'axe Z via la console jusqu'à ce que la buse touche juste le plateau (le BDsensor-m utilisera cette position comme position zéro, donc aucun z_offset n'est nécessaire, c'est pourquoi la valeur est 0 dans la section [BDsensor-m]).
  • Envoyez la commande G-code M102 S-6 via la console. L'imprimante déplacera lentement l'axe Z vers le haut de 0,1 mm à chaque fois, jusqu'à atteindre 4 mm. Ne lancez pas M102 S-6 avant d'avoir installé le capteur, et ne coupez pas l'alimentation de l'imprimante pendant la calibration, sinon les anciennes données de calibration seront effacées. Si cela arrive, recalibrez simplement.
  • Ensuite, vous pouvez vérifier si le capteur BD a été calibré avec succès via M102 S-5, qui renverra les données de calibration brutes stockées dans le capteur BD.

Remarques:

  • La vitesse d'homing de l'axe Z est idéalement de 5.

  • Si la première donnée de calibration brute renvoyée par M102 S-5 est supérieure à 400, cela signifie que le capteur est installé trop haut et doit être réinstallé plus près du plateau. La valeur recommandée pour la première donnée est de 100. Assurez-vous également que la valeur de la deuxième donnée est supérieure d'au moins 10 à la première.

    • FAQ : Si les données de calibration commencent par 1, la deuxième valeur est 9 et la troisième est 24, qu'est-ce que cela signifie ?

    • Cela signifie que la résolution entre 0 et 0,1 mm est seulement de 9, et entre 0,1 et 0,2 mm elle est de 15. Il est donc recommandé de recalibrer pour que la première résolution 0-0,1 mm soit supérieure à 10.

  • N'oubliez pas d'ajuster la hauteur de l'axe Z après avoir exécuté G28 ou pour les commandes Z_tilt et quad_gantry_level.

  • Les noms des sections doivent respecter la casse, sinon Klipper signalera Unknown pin chip name 'probe'

Loading...