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 CAN bus.

  • Notez que le SB2040 ne peut pas utiliser le BDsensor
  • Notez que le SHT36 nécessite de connecter la broche CLK/SCL (Input) du BDsensor à l'entrée haute tension, et de mettre le cavalier en place
  • Les fils CKL et SDA du BDsensor 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
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 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). Par conséquent, elles ne peuvent 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 un MOSFET,

  • Les connecteurs pour les thermistances de température et les butées/pointes 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...

Appliquez le correctif au firmware Klipper

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

    cd
    cd ~/klipper
    git checkout .
    git pull
  • Clonez le dernier code du capteur BD

    cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
  • Installez

    cd  ~/Bed_Distance_sensor/klipper/
    ./install_BDsensor.sh
  • Compilez le firmware

    cd ~/klipper/
    make menuconfig
    make clean
    make
  • Flashez le firmware sur le MCU ou la carte de tête d'outil CANbus à laquelle le capteur BD est connecté

Si votre imprimante exécute Moonraker, ajoutez la section suivante à moonraker.conf, puis vous pourrez 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

Modifiez 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 le module CAN de la tête d'outil.

  • Dans [BDsensor], modifiez speed à 0.8. Cela s'applique uniquement à la commande d'inclinaison Z et PROBE_ACCURACY. Une valeur plus petite donne une plus grande précision lors de la détection, car le MCU lit le capteur BD dans la boucle principale lors de l'homing, ce n'est pas en temps réel comme un fin de course normal. [BDsensor]

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

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

  • Changez 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: : les valeurs positives rapprochent la buse du lit, les valeurs négatives l'en éloignent. Les autres réglages de hauteur de buse peuvent avoir 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 de signal du servo
    sda_pin:PC3 # Broche de 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 réglé à 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 détection rapide, la tête d'outil ne s'arrêtera pas au point de détection.
    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 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 de retour. 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

Calibrage

  • 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 est 0 dans la section [BDsensor])
  • Envoyez la commande Gcode 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 le calibrage, sinon les anciennes données de calibrage seront supprimées. Dans ce cas, recalibrez simplement à nouveau.
  • 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 calibrage brutes stockées dans le capteur BD.

Remarques:

  • La vitesse d'homing de l'axe Z doit idéalement être de 5

  • Si la première donnée de calibrage 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 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 d'au moins 10 à la première.

    • FAQ : Que signifie si les données de calibrage commencent par 1, la deuxième valeur est 9 et la troisième est 24 ?

    • Cela signifie que la résolution entre 0-0.1 mm est seulement de 9, et entre 0.1-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 être correctement en majuscules/minuscules, sinon Klipper signalera Unknown pin chip name 'probe'

Loading...