Installation BDsensor-m
Connecter le câble du capteur au connecteur EXP1 de la carte mère
- Si le câble du capteur est trop court, vous pouvez utiliser le câble d'allongement fourni dans l'emballage.
- Les fils CLK et SDA du BDsensor-m peuvent être connectés à n'importe quel broche GPIO sur la carte. Vous pouvez également connecter directement le câble du capteur au port Bltouch, par exemple :
BLtouch | BDsensor-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Entrée)
GND --> GND
Zmin --> SDA (Entrée/Sortie)
- En raison de certains connecteurs sur la carte mère qui ne sont peut-être pas directement connectés aux gpios de la MCU (par exemple, ils pourraient avoir des condensateurs de filtrage ou être isolés par un MOSFET, un diode ou un optocoupleur, mais si elles sont isolées par une résistance ou une résistance de tirage haute/basse), ils ne peuvent pas être utilisés avec
BDsensor-m
. Le firmware signalera une erreur de connexion. Par exemple - Les connecteurs des ventilateurs et des chauffe-éléments sont isolés par MOSFET,
- Certains circuits imprimés ont des connecteurs pour les thermistances de température et les fins de course/têtes de sonde généralement connectés à GND par des condensateurs de filtrage,
-
Installez le capteur BD à proximité du bout chaud comme indiqué dans la figure ci-dessous. STL de montage, STL_mount_VzBot_Goliath short
Appliquer le correctif au firmware Klipper
-
Ne faites rien qui n'est pas mentionné dans le tutoriel.
-
Abandonnez les fichiers Klipper modifiés précédemment et mettez à jour Klipper.
cd
cd ~/klipper
git checkout .
git pull -
Exécutez la commande git ci-dessous dans le répertoire utilisateur pour cloner le code le plus récent du capteur BD.
cd && git clone https://github.com/markniu/Bed_Distance_sensor.git
-
Exécutez ensuite la commande suivante pour installer.
cd ~/Bed_Distance_sensor/klipper/
./install_BDsensor.sh
Compilez le firmware ici seulement si vous recevez un message disant que le firmware principal et le sous-firmware ne sont pas cohérents.
-
Compilez le firmware en suivant le tutoriel de compilation de votre propre firmware.
-
Compilez le firmware
cd ~/klipper/ # Allez dans le répertoire Klipper
make menuconfig # Entrez dans l'interface de configuration de compilation de Klipper
make clean # Commande de nettoyage
make # Commande de compilation -
Branchez le firmware compilé sur la carte mère connectée au BDsensor
Si votre imprimante fonctionne avec Moonraker, ajoutez la section suivante à moonraker.conf, puis vous pourrez mettre à jour BDsensor via le web ou KlipperScreen d'un simple clic.
[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
Éditez le fichier printer.cfg
-
Copiez cette section dans votre printer.cfg et éditez
[BDsensor]
sda_pin
scl_pin
, n'oubliez pas non plus de désactiver les autres parties de sonde, comme BLtouch. Vous pouvez connecter le BDsensor à la carte mère ou au module CAN de la tête d'impression, -
Dans
[BDsensor]
, modifiezspeed
à 0,8. Cette vitesse ne fonctionne que pour la z-tilt et la commande PROBE_ACCURACY. Une valeur plus petite signifie une meilleure précision lors de la détection car le MCU lit le capteur BD pendant le retour à zéro, contrairement aux arrêts normaux qui sont lus en temps réel.[BDsensor]
-
Pour utiliser le BDsensor comme limiteur de fin de course sur l'axe Z lors du retour à zéro, modifiez
endstop_pin
dans[stepper_z]
enendstop_pin: probe:z_virtual_endstop
-
Assurez-vous qu'il y a
[safe_z_home]
dans printer.cfg -
Modifiez les valeurs de
[bed_mesh]
et[z_tilt]
ou[quad_gantry_level]
en1
(recommandation : 0,7-1,0 mm). La valeur par défaut de Klipper est de 5 mm, sinon cela pourrait dépasser la plage du capteur. -
La hauteur de la buse convient uniquement pour l'ajustement
z_adjust:
. Un nombre positif signifie près du lit chaud, tandis qu'un nombre négatif signifie loin du lit chaud. Toutes les autres méthodes d'ajustement de la hauteur de la buse auront des bugs. -
Pour activer la balayage rapide du lit, supprimez le
#
devantno_stop_probe:true
. -
Voici un exemple de configuration.
[BDsensor]
scl_pin:PC6 # Broche de signal servo
sda_pin:PC3 # Broche de signal limite
delay: 20 # 20 us 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 un balayage rapide, la tête d'impression ne s'arrêtera pas au point de détection.
position_endstop: 0.8 # L'axe Z s'arrêtera à cette position (mm) pendant le retour à zéro, recommandation de valeur est 0,4~1,0
#speed:0.8 # cette vitesse ne fonctionne que pour la z tilt et la commande 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 avec les commandes Gcode suivantes
M102 S-1 # Lit les informations du capteur
M102 S-2 # Lit une valeur de distance
Vérifiez la connexion
-
Envoyez
M102 S-1
via le console. Voici un exemple de message de retour. Si le message de retour est vide ou contient 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 contrôlez via la console en déplaçant l'axe Z jusqu'à ce que la buse touche exactement le plateau (BDsensor-m utilisera cette position comme zéro, donc pas besoin de
z_offset
, c'est pourquoi la valeur est de 0 dans la partie[BDsensor-m]
). - Envoyez la commande Gcode
M102 S-6
via la console. L'imprimante montera lentement l'axe Z de 0,1 mm à chaque fois jusqu'à atteindre 4 mm. N'exécutez pas M102 S-6 avant d'installer le capteur ou éteignez l'imprimante pendant le calibrage, sinon les anciennes données de calibration seront supprimées. Si c'est le cas, réévaluez simplement le calibrage. - Après cela, vous pouvez vérifier si le BDsensor a été correctement calibré via
M102 S-5
, qui renvoie les données de calibration originales stockées dans le BDsensor.
Remarques:
-
La vitesse de retour à zéro de l'axe Z doit être idéalement de 5.
-
Si la première donnée de calibration brute retournée par M102 S-5 est supérieure à 400, cela signifie que le capteur est installé trop haut et doit être réinstallé à une position plus proche du lit. La valeur recommandée pour la première donnée est de 100. Assurez-vous également que la deuxième donnée est supérieure à la première d'au moins 10.
-
FAQ: Si les données de calibration commencent à 1, la deuxième valeur est 9 et la troisième est 24, que signifie-t-il ?
-
Cela signifie que la résolution entre 0 et 0,1 mm est de 9, tandis que la résolution entre 0,1 et 0,2 mm est de 15. Il est donc recommandé de recalibrer afin que la résolution entre 0 et 0,1 mm soit supérieure à 10.
-
-
N'oubliez pas de régler l'altitude de l'axe Z après l'exécution de G28 ou de ces commandes
Z_tilt
etquad_gantry_level
. -
Les noms des sections doivent être correctement mis en majuscules et minuscules, sinon Klipper signalera
Unknown pin chip name 'probe'