Installation BDsensor
Branchez le câble du capteur sur la carte mère ou sur la carte tête d'impression CAN.
- Notez que SB2040 ne peut pas utiliser Bdsensor
- Notez que SHT36 nécessite que le CLK/SCL (Entrée) de Bdsensor soit connecté à l'entrée haute tension et que le pont soit raccordé
- Les fils CKL et SDA de Bdsensor peuvent être connectés à n'importe quel broche GPIO du circuit imprimé. Vous pouvez également connecter directement le câble du capteur Bds à l'emplacement Bltouch, par exemple :
BLtouch | Bdsensor
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 peuvent ne pas être directement connectés aux gpios du MCU (par exemple, ils peuvent avoir des condensateurs de filtrage ou être isolés via un MOSFET, une diode ou un couplage optique, mais s'ils sont isolés via une résistance ou une résistance de tirage en haut/tirage en bas aussi), ils ne peuvent pas être utilisés avec Bdsensor. Et le firmware signalera une erreur de connexion. Par exemple
-
Les connecteurs pour les ventilateurs et les chauffe-éléments sont isolés via MOSFET,
-
Certains circuits imprimés ont des connecteurs pour les thermistances de température et les arrêts/sondes qui sont généralement connectés au GND via des condensateurs de filtrage,
-
Comme indiqué dans l'image ci-dessous, installez le capteur Bds près de l'extrémité chaude. STL du support, STL_support_VzBot_Goliath court
Installez le correctif dans le firmware Marlin
Le Bdsensor est intégré à Marlin2.1.x (à partir du 27 août 2022),
Vous pouvez télécharger la version publiée. Mais il est maintenant recommandé de télécharger la dernière version corrigée : https://github.com/MarlinFirmware/Marlin
Ce dont vous avez besoin est de modifier les fichiers de configuration et de broches.
Éditez configuration.h
-
Activez BSENSOR
Décommentez
#define BD_SENSOR`
`#define Z_SAFE_HOMING
#define BD_SENSOR_PROBE_NO_STOP //ajout de cette nouvelle ligne pour un nivellement rapide du lit sans arrêt de la buse,Seule
BD_SENSOR_PROBE_NO_STOP
Dernière correction de Marlin : https://github.com/MarlinFirmware/Marlin
Description : https://github.com/MarlinFirmware/Marlin/pull/25847
-
Avec le sondeur de positionnement
Assurez-vous que
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
est désactivé et qu'il doit être activé comme suitUSE_PROBE_FOR_Z_HOMING
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// Forcer l'utilisation du sondeur pour le positionnement de l'axe Z
#define USE_PROBE_FOR_Z_HOMING -
Ralentissez la deuxième vitesse de positionnement Z
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)
Ici, nous devons ralentir la vitesse de positionnement du bouchon et de l'axe Z car les arrêts obtenus à partir du processus de lecture du Bdsensor ne sont pas aussi réactifs que les arrêts normaux.
Éditez Configuration_adv.h
#define BABYSTEPPING
activez cette fonctionnalité pour permettre le nivellement en temps réel#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Diviseur de vitesse de rebond (divise la vitesse d'avance du positionnement)
Éditez pins_boardname.h
En ajoutant les 3 lignes suivantes dans le fichier de broches pins_boardname.h, configurez les broches SDA et SCL du Bdsensor (par exemple) : pins_PANDA_PI_V29.h
#define I2C_BD_SDA_PIN PC6 // Veuillez changer par le numéro réel auquel le fil SDA est connecté à votre carte mère
#define I2C_BD_SCL_PIN PB2 // Veuillez changer par le numéro réel auquel le fil SCL est connecté à votre carte mère
#define I2C_BD_DELAY 20 // valeur par défaut est 20, elle doit être dans la plage [20,50].
Si vous souhaitez faire un nivellement automatique du lit avant l'impression comme un BLtouch normal, décommentez
#define AUTO_BED_LEVELING_BILINEAR
Et éditez les valeurs comme suit
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Espace Z pour déploiement/rangement
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Espace Z entre les points de sondage
#define Z_CLEARANCE_MULTI_PROBE 1 // Espace Z entre plusieurs sondages
Affichez la valeur du capteur Bds sur l'écran LCD
- Pour les imprimantes ayant un écran d'état (supportent le code gcode M117), comme LCD12864 ou certaines écrans UART comme ender3V2 ...
Calibration
-
Nettoyez la buse, puis déplacez l'axe Z via le panneau de contrôle jusqu'à ce que la buse touche juste le plateau (le Bdsensor utilisera cette position comme point 0, donc pas besoin de z_offset, nous mettons la valeur à 0).
-
Envoyez la commande gcode
M102 S-6
, l'imprimante montera lentement l'axe Z de 0,1 mm à chaque fois jusqu'à atteindre 4 mm. Ne pas exécuter M102 S-6 avant d'installer le capteur, et ne pas éteindre l'alimentation de l'imprimante pendant la calibration, sinon les anciennes données de calibration seront supprimées. Si c'est le cas, refaites simplement la calibration. -
Vous pouvez envoyer
M102 S-5
pour vérifier si le capteur Bds a été correctement calibré, cela retournera les données de calibration brutes stockées dans le capteur Bds.
Il existe également un outil de calibration pour cela : https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip
Remarque : les valeurs de données 1015 ou supérieures à 1010 indiquent que le capteur est hors de portée. Si les cinq premières valeurs (0~0,5 mm) ou plus sont comprises entre 0 et 1000 et que les valeurs delta augmentées sont >=10, cela signifie que la calibration a réussi. Comme illustré dans le graphique ci-dessus.
Si la première donnée brute de calibration 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. Assurez-vous également que la deuxième donnée est supérieure de plus de 10 à la première donnée.
Test et impression
Menu de la couche
Nivellement automatique du lit
Il existe deux méthodes pour effectuer le nivellement automatique du lit :
1. Utiliser M102 pour effectuer un nivellement en temps réel des premières couches
Nous pouvons facilement activer ou désactiver ce nivellement automatique en envoyant une commande gcode ou en ajoutant une commande gcode dans un fichier gcode.
Pour activer le nivellement du lit dans Klipper, ajoutez la commande G-code M28 juste en dessous de la section "Début de G-code" dans les paramètres de l'imprimante machine. Par exemple, juste après G28, cela signifie qu'il ne se produira que lorsque la hauteur de l'axe Z est inférieure à 0,2 mm.M102 S2
Envoyez ou utilisez M102 S0 pour désactiver le nivellement du lit, au passage, il est désactivé par défaut. M102 S0``G28``M18
M102 S-1 //Lire les informations du capteur, et nous pouvons utiliser cela pour vérifier la connexion.
M102 S-2 //Lire la valeur de distance actuelle
M102 S-5 //Lire les données de calibration brutes
M102 S-6 //Commencer la calibration, assurez-vous que la buse est juste touchée le lit, puis redémarrez l'imprimante. Ne faites pas revenir l'axe Z avant cela.
M102 S4 //Définir la valeur de hauteur ajustable Z, par exemple M102 S4 signifie qu'il fera des ajustements pendant que la hauteur Z <=0,4mm, désactivez-le par M102 S0.
2. Nivellement automatique du lit avec G29
Une autre méthode de nivellement automatique du lit est comme celui de BLtouch avec G29, il suffit d'ajouter une ligne G28 juste en dessous de G29.
Vidéo d'installation de Chris dans le sous-sol
Vérification de la finition de l'axe ZM119
Avant de faire revenir l'axe Z, assurez-vous de ne pas le faire, sinon la buse pourrait s'écraser sur le lit d'impression.
Voici le message retourné après l'envoi de la commande M119 (rapport de l'état des arrêts de fin de course).
Send: M119
Recv: x:open y:open z:open
Si z min n'est pas ouvert, vérifiez votre configuration. #define Z_MAX_ENDSTOP_HIT_STATE HIGH
- Assurez-vous que le moteur Z est éteint/déverrouillé
- Poussez manuellement l'axe Z vers le bas jusqu'à ce que la buse ferme le lit
- Envoyez
M102 S-2
, la valeur retournée doit être de 0,00 mm, puis envoyez à nouveau M119, vous verrez que la finition de l'axe Z est maintenant déclenchée.
Send: M119
Recv: x:open y:open z:TRIGGERED
Vérification de la connexion
Vérifiez la connexion via M102 S-1
. Voici un exemple du message retourné, vérifiez que la connexion et l'ordre des fils retournent un espace vide ou une autre chaîne.
Send: M102 S-1
Recv: V1.0 pandapi3d.com