Installation du BDsensor
Connectez le câble du capteur à la carte mère ou à la carte de tête d'outil du bus CAN.
- Veuillez noter que le SB2040 ne peut pas utiliser le BDsensor.
- Veuillez noter que pour le SHT36, vous devez connecter le CLK/SCL (Entrée) du BDsensor à l'entrée haute tension et installer le cavalier.
- Les fils CKL et SDA du BDsensor peuvent être connectés à n'importe quelle broche GPIO de la carte. Vous pouvez également connecter le câble du BDsensor directement au port Bltouch, par exemple :
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Entrée)
GND --> GND
Zmin --> SDA (Entrée/Sortie)
-
Certaines broches du connecteur 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 MOSFET, diode ou optocoupleur, mais si elles sont isolées via des résistances ou des résistances de tirage vers le haut/bas, cela est acceptable). Elles ne peuvent donc pas être utilisées avec le BDsensor. Et le firmware signalera une erreur de connexion. Par exemple :
-
Les connecteurs des ventilateurs et des chauffages sont isolés via MOSFET,
-
Les connecteurs pour thermistances de température et butées/sondes dans certaines cartes sont généralement connectés à la masse via des condensateurs de filtrage,
-
Installez le BDsensor près de la buse chaude, comme indiqué ci-dessous. STL de montage, STL_mount_VzBot_Goliath short
Loading...
Installez le patch dans le firmware Klipper
-
Abandonnez les modifications précédentes de Klipper et mettez à jour Klipper
cdcd ~/klippergit checkout .git pull -
Clonez le dernier code du BDsensor
cd && git clone https://github.com/markniu/Bed_Distance_sensor.git -
Installation
cd ~/Bed_Distance_sensor/klipper/./install_BDsensor.sh -
Compilez le firmware
cd ~/klipper/make menuconfigmake cleanmake -
Flashez le firmware sur le MCU connecté au BDsensor ou sur la carte de tête d'outil du bus CAN
Si votre imprimante utilise Moonraker, ajoutez la section suivante à moonraker.conf, puis vous pourrez mettre à jour le BDsensor en un clic via le 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=Capteur de distance du lit
Modifiez printer.cfg
-
Copiez cette section dans votre printer.cfg et modifiez
[BDsensor]sda_pinscl_pin. N'oubliez pas non plus de désactiver les autres sections de sonde comme BLtouch. Vous pouvez connecter le BDsensor à la carte mère ou au module CAN de la tête d'outil. -
Dans
[BDsensor], modifiezspeedà 0.8. Cela ne fonctionne que pour les commandesz_tiltetPROBE_ACCURACY. Plus la valeur est petite, plus la précision de la sonde est élevée, car le MCU ne lit pas le BDsensor dans la boucle principale lors du déplacement d'origine comme un interrupteur de fin de course normal.[BDsensor] -
Pour utiliser le BDsensor comme interrupteur de fin de course lors de la recherche d'origine de l'axe Z, remplacez
endstop_pindans[stepper_z]parendstop_pin: probe:z_virtual_endstop -
Assurez-vous que
[safe_z_home]est présent dans printer.cfg -
Remplacez la valeur de
[bed_mesh]et[z_tilt]ou[quad_gantry_level]dans[quad_gantry_level]par 1 (0.7-1.0mm recommandé). La valeur par défaut dans Klipper est de 5 mm, sinon il est facile de dépasser la plage du capteur. -
Le réglage de la hauteur de la buse ne doit être effectué que dans
z_adjust:: un nombre positif rapproche la buse du lit chauffant, un nombre négatif l'en éloigne. Tout autre réglage de la hauteur de la buse provoquera des bugs. -
Pour activer le balayage rapide du lit, supprimez le
#devantno_stop_probe:true. -
Voici un exemple de configuration.
[BDsensor]scl_pin:PC6 # Broche du signal du servosda_pin:PC3 # Broche du signal de fin de coursedelay: 20 # 20us par impulsion, cette valeur doit être >=20 mais inférieure à 50z_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 mmx_offset: -34y_offset: 0#no_stop_probe:true # Activez ceci pour une sonde rapide, la tête d'outil ne s'arrêtera pas au point de sonde.position_endstop: 0.8 # L'axe Z s'arrêtera à cette position (mm) lors de la recherche d'origine Z, valeur recommandée : 0,4~1,0#speed:0.8 # Cette vitesse ne fonctionne que pour les commandes z_tilt et PROBE_ACCURACY.[stepper_z]endstop_pin: probe:z_virtual_endstop#position_endstop: 0.5homing_speed: 5second_homing_speed: 0.8[bed_mesh]speed: 200horizontal_move_z:1algorithm: bicubic[quad_gantry_level]horizontal_move_z:1
Après l'installation, vérifiez en envoyant les commandes gcode suivantes
M102 S-1 # Lire les informations du capteur
M102 S-2 # Lire une valeur de distance
Vérifiez la connexion
-
Envoyez
M102 S-1via la console. Voici un exemple de message retourné. Si le retour est vide ou une autre chaîne, vérifiez la connexion et l'ordre des fils.Send: M102 S-1Recv: 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 lit (le BDsensor utilisera cette position comme position zéro, donc aucun
z_offsetn'est nécessaire, c'est pourquoi la valeur dans la section[BDsensor]est 0). - Envoyez la commande gcode
M102 S-6via la console. L'imprimante déplacera alors l'axe Z vers le haut de 0,1 mm à chaque fois, jusqu'à atteindre 4 mm. N'exécutez pasM102 S-6avant 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 se produit, recalibrez simplement. - Ensuite, vous pouvez vérifier si le BDsensor a été calibré avec succès via
M102 S-5. Cela retournera les données brutes de calibration stockées dans le BDsensor.
Remarques:
-
La vitesse de déplacement d'origine de l'axe Z est mieux réglée à 5.
-
Si la première donnée brute de calibration retournée par
M102 S-5est supérieure à 400, cela signifie que le capteur est installé trop haut. Il doit être réinstallé plus près du lit. 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 de plus de 10 à la première.-
FAQ : Que signifie si les données de calibration commencent par 1, la deuxième valeur est 9 et la troisième 24 ?
-
Cela signifie que la résolution entre 0 et 0,1 mm n'est que de 9, tandis que celle entre 0,1 et 0,2 mm 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_tiltetquad_gantry_level. -
Les noms des sections doivent être correctement écrits en majuscules et minuscules, sinon Klipper signalera
Unknown pin chip name 'probe'.