Aller au contenu principal

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,

  1. 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

    cd
    cd ~/klipper
    git 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 menuconfig
    make clean
    make
  • 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_pin scl_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], modifiez speed à 0.8. Cela ne fonctionne que pour les commandes z_tilt et PROBE_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_pin dans [stepper_z] par endstop_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 # devant no_stop_probe:true.

  • Voici un exemple de configuration.

    [BDsensor]
    scl_pin:PC6 # Broche du signal du servo
    sda_pin:PC3 # Broche 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 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.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 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-1 via 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-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 lit (le BDsensor utilisera cette position comme position zéro, donc aucun z_offset n'est nécessaire, c'est pourquoi la valeur dans la section [BDsensor] est 0).
  • Envoyez la commande gcode M102 S-6 via 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 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 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-5 est 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_tilt et quad_gantry_level.

  • Les noms des sections doivent être correctement écrits en majuscules et minuscules, sinon Klipper signalera Unknown pin chip name 'probe'.

Loading...