Installation du capteur BD
Connectez le câble du capteur à la carte mère ou à la carte de tête d'outil CAN bus.
- Veuillez noter que le SB2040 ne peut pas utiliser le capteur BD
- Veuillez noter que le SHT36 nécessite de connecter le CLK/SCL du capteur BD (entrée) à l'entrée à haute tension et de mettre en place le cavalier
- Les lignes CKL et SDA du capteur BD peuvent être connectées à 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 | Capteur BD
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
-
En raison du fait que certaines broches dans les connecteurs de la carte mère peuvent ne pas être directement connectées aux gpios de l'MCU (par exemple, elles peuvent avoir des condensateurs de filtrage ou être isolées par MOSFET, diodes ou coupleurs optiques, mais si elles sont isolées par des résistances ou des résistances pull-up/pull-down, elles peuvent être utilisées), elles ne peuvent pas être utilisées avec le capteur BD. Et le firmware signalera une erreur de connexion. Par exemple :
-
Les connecteurs des ventilateurs et des chauffages sont isolés par MOSFET,
-
Certains connecteurs des cartes utilisés pour les thermistances de température et les fins de course/sondes sont généralement connectés à la masse via des condensateurs de filtrage,
-
Comme illustré ci-dessous, installez le capteur BD à proximité de l'extrémité chaude. STL de montage, STL_montage_VzBot_Goliath court
Installation du patch dans le 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
-
Installation
cd ~/Bed_Distance_sensor/klipper/
./install_BDsensor.sh -
Compilation du firmware
cd ~/klipper/
make menuconfig
make clean
make -
Flashez le firmware sur le MCU ou la carte de tête d'outil CAN bus connectée au capteur BD
Si votre imprimante fonctionne avec Moonraker, ajoutez la section suivante à moonraker.conf, puis vous pourrez mettre à jour le capteur BD d'un simple clic via la page web ou l'écran Klipper.
[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 de Lit
Édition de printer.cfg
-
Copiez cette section dans votre printer.cfg et modifiez
sda_pin
etscl_pin
de[BDsensor]
, et n'oubliez pas de désactiver les autres sections de sondes comme BLtouch. Vous pouvez connecter le capteur BD à la carte mère ou au module CAN de la tête d'outil, -
Dans
[BDsensor]
, modifiezspeed
à 0.8. Cela ne s'applique qu'aux commandes Z TILT et PROBE_ACCURACY. Plus la valeur est faible, plus la précision est élevée lors de la détection, car le MCU ne lit pas le capteur BD en temps réel comme un interrupteur de fin de course.[BDsensor]
-
Pour utiliser le capteur BD comme interrupteur de fin de course lors du retour à zéro de l'axe Z, changez
endstop_pin
dans[stepper_z]
pourendstop_pin: probe:z_virtual_endstop
-
Assurez-vous que printer.cfg contient
[safe_z_home]
-
Modifiez la valeur de
z_offset
dans[bed_mesh]
et[z_tilt]
ou[quad_gantry_level]
à 1 (0.7-1.0mm recommandé), la valeur par défaut de Klipper est de 5 mm, sinon le capteur pourrait dépasser sa portée -
L'ajustement de la hauteur de la buse ne doit être fait que dans
z_adjust:
où un nombre positif rapproche la buse du lit et un nombre négatif l'éloigne. Tout autre réglage de la hauteur de la buse pourrait causer des bugs -
Pour activer le balayage rapide du lit, retirez le # devant
no_stop_probe:true
-
Voici un exemple de configuration.
[BDsensor]
scl_pin:PC6 # Broche de signal de 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 # cette `z_offset` doit être réglée à 0.
z_adjust:0.0 # Ajustement de l'axe Z, remplace la fonction z_offset. entre -0.3 et 0.3mm
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 du retour à zéro de Z, valeur recommandée entre 0.4 et 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 G-Code suivantes
M102 S-1 # Lecture des informations du capteur
M102 S-2 # Lecture d'une valeur de distance
Vérification de la connexion
-
Envoyez
M102 S-1
via la console pour obtenir un exemple de message de retour, si vous recevez un message vide ou une autre chaîne, vérifiez la connexion et l'ordre des filsSend: M102 S-1
Recv: V1.0 pandapi3d.com
Étalonnage
- Nettoyez la buse, puis déplacez l'axe Z via la console jusqu'à ce que la buse touche à peine le lit (le capteur BD utilisera cette position comme position zéro, donc pas besoin de
z_offset
, c'est pourquoi la valeur dans la section [BDsensor] est à 0) - Envoyez la commande G-Code
M102 S-6
via la console, l'imprimante déplacera l'axe Z lentement vers le haut de 0.1mm à chaque fois jusqu'à atteindre 4mm. Ne lancez pas M102 S-6 avant l'installation du capteur, et ne coupez pas l'alimentation de l'imprimante pendant l'étalonnage, sinon les anciennes données d'étalonnage seront effacées. Dans ce cas, recalibrez simplement - Ensuite, vous pouvez vérifier si le capteur BD a été correctement étalonné avec
M102 S-5
, ce qui renverra les données d'étalonnage brutes stockées dans le capteur BD.
Notes :
-
La vitesse de retour à zéro de l'axe Z devrait être de préférence de 5
-
Si le premier ensemble de données d'étalonnage retourné par M102 S-5 est supérieur à 400, cela signifie que le capteur est installé trop haut et doit être repositionné plus près du lit, la valeur recommandée pour le premier ensemble de données est de 100. Assurez-vous également que la deuxième valeur est supérieure de plus de 10 à la première.
-
FAQ : Si les données d'étalonnage commencent par 1, la deuxième valeur est de 9 et la troisième de 24, qu'est-ce que cela signifie ?
-
Cela signifie que la résolution entre 0-0.1mm est seulement de 9, tandis que celle entre 0.1-0.2mm est de 15. Il est donc recommandé de recalibrer pour obtenir une résolution de 0-0.1mm 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
etquad_gantry_level
-
Les noms de sections doivent être correctement en majuscules et minuscules, sinon Klipper signalera
Unknown pin chip name 'probe'