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,
-
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_pinscl_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], modifiezspeedà 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_pindans[stepper_z]enendstop_pin: probe:z_virtual_endstop -
Assurez-vous que printer.cfg contient
[safe_z_home] -
Changez la valeur
horizontal_move_zdans[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-1via 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_offsetn'est nécessaire, c'est pourquoi la valeur est 0 dans la section[BDsensor]) - Envoyez la commande Gcode
M102 S-6via 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_tiltetquad_gantry_level -
Les noms des sections doivent être correctement en majuscules/minuscules, sinon Klipper signalera
Unknown pin chip name 'probe'