Aller au contenu principal

Installation de BDsensor-m

Connecter le câble du capteur à l'interface EXP1 de la carte mère

*Si la longueur du câble du capteur est insuffisante, vous pouvez utiliser le câble de rallonge fourni dans l'emballage

  • Les câbles CLK 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 à un port BLtouch, par exemple :
BLtouch    |    BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
  • Certaines broches des connecteurs de la carte mère peuvent ne pas être directement reliées aux GPIO du MCU (elles peuvent par exemple comporter des condensateurs de filtrage ou être isolées via un MOSFET, une diode ou un coupleur optique, mais aussi via des résistances de tirage), et ne peuvent donc pas être utilisées avec le BDsensor-m. Le firmware signalera alors une erreur de connexion. Par exemple :
  • Les connecteurs de ventilateur et de chauffage sont isolés via un MOSFET,
  • Sur certaines cartes, les connecteurs destinés aux thermistances de température et aux fins de course/probes sont généralement connectés à la masse via des condensateurs de filtrage,
  1. Installez le capteur BD à proximité de la buse comme indiqué sur l'image. STL of mount, STL_mount_VzBot_Goliath short

Installer le correctif dans le firmware klipper

  • Ne faites que les opérations décrites dans ce tutoriel

  • Abandonnez les modifications précédentes du fichier klipper et mettez à jour klipper

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

    cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • Ensuite, exécutez les commandes suivantes pour installer

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

Il faut seulement recompiler le firmware si un message indique une incompatibilité entre firmware et MCU

  • Pour compiler le firmware, référez-vous au tutoriel de compilation propre à votre carte

  • Compiler le firmware

    cd ~/klipper/  # Aller dans le répertoire klipper
    make menuconfig # Commande pour accéder à l'interface de configuration de klipper
    make clean # Commande de nettoyage
    make # Commande de compilation
  • Flasher le firmware sur la carte mère connectée au capteur BD

Si votre imprimante utilise Moonraker, ajoutez la section suivante à moonraker.conf, ensuite vous pourrez mettre à jour le BDsensor en un clic via l'interface 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 le fichier 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'impression.

  • Dans [BDsensor], définissez speed à 0.8. Cela s'applique uniquement aux commandes z_tilt et PROBE_ACCURACY. Plus la valeur est petite, plus la précision est élevée lors du sondage, car le MCU lit les valeurs du capteur BD dans la boucle principale pendant le positionnement, sans la réactivité temps réel d'une fin de course normale. [BDsensor]

  • Pour utiliser le capteur BD comme fin de course lors du positionnement Z, il faut modifier endstop_pin dans [stepper_z] avec endstop_pin: probe:z_virtual_endstop

  • Assurez-vous qu'il y a une section [safe_z_home] dans printer.cfg

  • Modifiez la valeur [quad_gantry_level] dans [bed_mesh] et [z_tilt] ou [quad_gantry_level] à 1 (valeur recommandée entre 0,7 et 1,0 mm). La valeur par défaut de Klipper est de 5 mm, ce qui pourrait sortir du champ du capteur.

  • La hauteur de la buse doit être ajustée uniquement avec z_adjust:. Une valeur positive rapproche la buse du plateau, une valeur négative l'en éloigne. Tout autre réglage de hauteur de buse peut entraîner des bugs.

  • Pour activer le balayage rapide du lit, retirez le # devant no_stop_probe:true

  • Voici un exemple de configuration.

    [BDsensor] 
    scl_pin:PC6 # Broche du signal de servomoteur
    sda_pin:PC3 # Broche du signal de fin de course
    delay: 20 # 20 µs par impulsion, cette valeur doit être >=20 mais inférieure à 50
    z_offset:0 # Ce `z_offset` doit être réglé à 0.
    z_adjust:0.0 # Ajustement de l'axe Z, remplace la fonction z_offset. Valeur entre -0,3 et 0,3 mm
    x_offset: -34
    y_offset: 0
    #no_stop_probe:true # Activez cette option pour un balayage rapide, la tête d'impression ne s'arrête pas à chaque point de mesure.
    position_endstop: 0.8 # L'axe Z s'arrête à cette position (en mm) lors du positionnement Z, valeur recommandée entre 0,4 et 1,0
    #speed:0.8 # Cette vitesse n'affecte que les commandes z_tilt 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 à l'aide des commandes gcode 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 depuis la console, voici un exemple de réponse. Si la réponse est vide ou affiche une autre chaîne, vérifiez la connexion et l'ordre des câbles

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

Calibrage

  • Nettoyez la buse, puis déplacez manuellement l'axe Z via la console jusqu'à ce que la buse touche légèrement le plateau (BDsensor-m utilisera cette position comme zéro, il n'est donc pas nécessaire d'utiliser z_offset, c'est pourquoi la valeur est à 0 dans la section [BDsensor-m])
  • Depuis la console, envoyez la commande Gcode M102 S-6. L'imprimante déplacera lentement l'axe Z vers le haut par incréments de 0,1 mm jusqu'à atteindre 4 mm. N'exécutez pas M102 S-6 avant d'avoir installé le capteur, ni ne coupez l'alimentation pendant le calibrage, car les données de calibrage existantes seraient effacées. Dans ce cas, recalibrez simplement.
  • Ensuite, vous pouvez vérifier si le capteur BD a été correctement calibré avec M102 S-5, ce qui renverra les données brutes de calibrage stockées dans le capteur BD.

Remarques importantes :

  • La vitesse de positionnement de l'axe Z devrait idéalement être de 5

  • Si M102 S-5 retourne une première valeur de données brutes supérieure à 400, cela signifie que le capteur est installé trop haut et doit être réinstallé plus près du plateau. La première valeur devrait idéalement être proche de 100. Assurez-vous également que la deuxième valeur est au moins 10 unités supérieure à la première.

    • FAQ : Si les données de calibrage 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-0,1 mm est de 9, tandis que la résolution entre 0,1-0,2 mm est de 15. Il est donc recommandé de recalibrer pour obtenir une résolution supérieure à 10 dans la plage 0-0,1 mm.

  • N'oubliez pas d'ajuster la hauteur Z après avoir exécuté G28 ou ces commandes Z_tilt et quad_gantry_level

  • Les majuscules et minuscules des noms des sections doivent être respectées, sinon klipper renverra l'erreur Unknown pin chip name 'probe'

Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -