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 d'extension 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 (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 être isolées par des condensateurs de filtrage ou via un MOSFET, une diode ou un couplage optique, mais peuvent aussi être isolées via des résistances de tirage haut/bas), 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 reliés à la masse via des condensateurs de filtrage.
-
Installez le capteur BD près de l'extrudeuse, comme indiqué sur l'image ci-dessous. STL du support, STL_mount_VzBot_Goliath short

Installer le correctif dans le firmware Klipper
-
Ne faites pas ce qui n'est pas mentionné dans ce tutoriel.
-
Abandonnez les modifications précédentes du dossier Klipper et mettez Klipper à jour :
cd
cd ~/klipper
git checkout .
git pull -
Exécutez la commande git suivante depuis votre 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
Compilez le firmware ici uniquement si vous recevez un message indiquant que les firmwares de l'hôte et du microcontrôleur sont incompatibles
-
Reportez-vous au tutoriel de compilation spécifique à votre microcontrôleur pour compiler et flasher le firmware.
-
Compilation du firmware :
cd ~/klipper/ # Accédez au 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. Vous pourrez ainsi mettre à jour BDsensor facilement depuis 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 la section suivante dans votre fichier printer.cfg et éditez les paramètres
sda_pinetscl_pindans[BDsensor]. N'oubliez pas de désactiver les autres sections de sondage, 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], réglezspeedà 0.8. Cela s'applique uniquement aux commandesz_tiltetPROBE_ACCURACY. Plus la valeur est faible, plus la précision de la détection est grande, car le MCU lit les données du capteur BD dans la boucle principale lors du positionnement au zéro, ce qui n'est pas aussi temps réel que pour un fin de course normal.[BDsensor] -
Pour utiliser le capteur BD comme fin de course lors du positionnement au zéro de l'axe Z, modifiez
endstop_pindans[stepper_z]enendstop_pin: probe:z_virtual_endstop. -
Assurez-vous qu'il y a une section
[safe_z_home]dans printer.cfg. -
Modifiez la valeur
[bed_mesh]et[z_tilt]ou[quad_gantry_level]à 1 (recommandé entre 0,7 et 1,0 mm). La valeur par défaut dans Klipper est de 5 mm, ce qui pourrait dépasser la plage du capteur. -
La hauteur de la buse ne doit être ajustée qu'avec
z_adjust:. Une valeur positive rapproche la buse du plateau, une valeur négative l'en éloigne. Toute autre méthode d'ajustement pourrait provoquer des bugs. -
Supprimez le
#devantno_stop_probe:truepour activer le balayage rapide du plateau. -
Voici un exemple de configuration :
[BDsensor]
scl_pin:PC6 # Broche de signal du servo
sda_pin:PC3 # Broche de signal du 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 recommandée entre -0.3 et 0.3 mm
x_offset: -34
y_offset: 0
#no_stop_probe:true # Activez ceci pour un balayage rapide, la tête d'impression ne s'arrête pas aux points de mesure.
position_endstop: 0.8 # L'axe Z s'arrête à cette position (en mm) lors du positionnement au zéro, 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-1via la console, voici un exemple de réponse. Si la réponse est vide ou affiche une chaîne différente, vérifiez vos connexions et l'ordre des câbles :Send: M102 S-1
Recv: V1.0 pandapi3d.com
Calibrage
- Nettoyez la buse, puis déplacez l'axe Z via la console jusqu'à ce que la buse touche légèrement le plateau (le capteur BD utilisera cette position comme position zéro, donc aucun
z_offsetn'est nécessaire, c'est pourquoi la valeur est réglée à 0 dans la section[BDsensor-m]). - Envoyez la commande Gcode
M102 S-6via la console. 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 pasM102 S-6avant d'avoir installé le capteur, et ne coupez pas l'alimentation pendant le calibrage, sinon les données de calibrage existantes seront effacées. Dans ce cas, refaites simplement le calibrage. - Ensuite, vous pouvez vérifier si le capteur BD a été correctement calibré à l'aide de la commande
M102 S-5, ce qui renverra les données de calibrage brutes stockées dans le capteur BD.
Remarques importantes :
-
La vitesse de positionnement au zéro de l'axe Z devrait idéalement être de 5.
-
Si
M102 S-5renvoie une première valeur de calibrage 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 environ 100. Assurez-vous également que la deuxième valeur est supérieure d'au moins 10 unités à la première.-
FAQ : Que signifie-t-il si les données de calibrage commencent par 1, puis 9, puis 24 ?
-
Cela signifie que la résolution entre 0 et 0,1 mm est de 9, et que celle entre 0,1 et 0,2 mm est de 15. Il est donc recommandé de recalibrer afin d'obtenir une résolution supérieure à 10 pour la plage 0 à 0,1 mm.
-
-
N'oubliez pas d'ajuster la hauteur de l'axe Z après l'exécution de
G28ou avant d'utiliser les commandesZ_tiltouquad_gantry_level. -
Les noms des sections doivent respecter exactement la casse indiquée, faute de quoi Klipper affichera une erreur du type
Unknown pin chip name 'probe'.