Aller au contenu principal

Installation BDsensor-m-m

Connectez 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 un câble d’allongement fourni dans l'emballage.
  • Les fils CKL et SDA de BDsensor-m-m peuvent être connectés à n'importe quel broche GPIO de la carte. Vous pouvez également connecter directement le câble du capteur BD 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 peuvent ne pas être directement connectés aux gpios du MCU (par exemple, ils peuvent avoir des condensateurs de filtrage ou être isolés par des MOSFET, des diodes ou des optocoupleurs, mais s'ils sont isolés par des résistances ou des résistances montées en pull-up/down, ils peuvent aussi être utilisés). Cela peut entraîner une erreur de connexion signalée par le firmware. Par exemple

  • Les connecteurs des ventilateurs et des chauffe-éléments sont isolés par MOSFET,

  • Certains connecteurs sur les cartes de circuit imprimé pour les thermistances de température et les arrêts/détecteurs sont généralement connectés à la terre via des condensateurs de filtrage,

  1. Comme indiqué dans la figure ci-dessous, installez le capteur BD à proximité de l'extrémité chaude. STL de montage, STL_mount_VzBot_Goliath short

Installez le correctif dans le firmware Marlin

Le capteur BD 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 des erreurs : https://github.com/MarlinFirmware/Marlin

Vous devez apporter des modifications aux fichiers de configuration et de brochage.

Éditez Configuration.h

  1. Activez BD_SENSOR

    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

  2. Utilisez le capteur pour le recalage de la position Z

    Assurez-vous que Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN est désactivé et activez USE_PROBE_FOR_Z_HOMING comme suit :

    //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    // Forcer l'utilisation du capteur pour le recalage de l'axe Z
    #define USE_PROBE_FOR_Z_HOMING
  3. Ralentissez la deuxième vitesse de recalage Z

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    Ici, nous devons ralentir la vitesse de recalage de la butée et de l'axe Z car les arrêteurs lus depuis le processus BDsensor-m ne sont pas aussi réactifs en temps réel que les arrêteurs normaux.

    Éditez Configuration_adv.h

    #define BABYSTEPPING Activez cette fonctionnalité pour permettre la fonctionnalité de nivellement en temps réel

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 }       // Diviseur de vitesse de recalage (divise la vitesse de recalage)

Éditez pins_boardname.h

Configurez les broches SDA et SCL du BDsensor-m dans le fichier de brochage pins_boardname.h en ajoutant les 3 lignes suivantes (par exemple) : pins_PANDA_PI_V29.h

#define  I2C_BD_SDA_PIN    PC6   // Veuillez changer pour le numéro réel auquel le fil SDA est connecté à votre carte mère
#define I2C_BD_SCL_PIN PB2 // Veuillez changer pour le numéro réel auquel le fil SCL est connecté à votre carte mère
#define I2C_BD_DELAY 20 // valeur par défaut 20, doit être comprise entre 20 et 50.

Si vous souhaitez faire un nivellement automatique du lit avant l'impression comme avec un BLtouch ordinaire, décommentez

#define AUTO_BED_LEVELING_BILINEAR

Et éditez les valeurs comme indiqué ci-dessous

#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 les valeurs du capteur BD sur l'écran LCD

  • Pour les imprimantes ayant un affichage d'état (supportant le gcode M117), comme LCD12864 ou certaines écrans UART, comme ender3V2 ...

Calibration

  1. Nettoyez la buse, puis déplacez l'axe Z via le panneau de contrôle jusqu'à ce que la buse soit juste en contact avec le plateau (BDsensor-m utilisera cette position comme point 0, donc pas besoin de z_offset, nous mettons la valeur à 0).

  2. 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 le courant de l'imprimante pendant le calibrage, sinon les anciennes données de calibrage seront effacées. Si c'est le cas, vous devrez simplement recalibrer

  3. Vous pouvez envoyer M102 S-5 pour vérifier si le capteur BD a été correctement calibré, cela retournera les données de calibration originales stockées dans le capteur BD.

Il existe également un outil de calibration pour cela : https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip img

Remarque : Les valeurs de données supérieures à 1015 ou supérieures à 1010 indiquent que le capteur est hors de sa plage. Si les cinq premières valeurs (0~0,5mm) ou plus sont comprises entre 0 et 1000, et que la différence de valeur delta est supérieure ou égale à 10, alors la calibration est réussie. Comme indiqué dans le graphique ci-dessus.

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é plus près du lit. Assurez-vous également que la deuxième donnée est supérieure à la première d'au moins 10

Test et impression

Menu du plateau

Nivellement automatique du lit

Deux méthodes pour le nivellement automatique du lit :

1. Utilisez M102 pour le 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 commande G102 (home all axes) dans la section "G-code startup" des paramètres de l'imprimante. Par exemple, juste en dessous de G28, cela signifie qu'il ne se produira que lorsqu'un niveau de hauteur Z de 0,2mm sera atteint. M102 S2

Envoyez ou utilisez BDsensor pour désactiver le nivellement du lit, au passage, par défaut il est désactivé. 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 en contact avec le lit, puis redémarrez l'imprimante. Ne faites pas home z axis avant cela.
M102 S4 //Définir la valeur de hauteur Z ajustable, par exemple, M102 S4 signifie qu'il effectuera l'ajustement lorsque la hauteur Z sera inférieure ou égale à 0,4mm, désactivez-le en utilisant M102 S0.

2. Nivellement automatique du lit avec G29

Une autre méthode pour le nivellement automatique du lit est comme le BLtouch avec G29, ajoutez simplement une ligne sous G29.

Vidéo d'installation

Vidéo d'installation de Kris Basement

Vérification de la butée Z M119

Avant de faire home Z, assurez-vous de ne pas faire home Z, sinon la buse pourrait finir par imprimer sur le lit.

Voici le message renvoyé après l'envoi de la commande M119 (rapport de l'état des arrêts):

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é
  • Faites descendre manuellement l'axe Z jusqu'à ce que la buse soit fermée sur le lit
  • Envoyez M102 S-2, la valeur renvoyée doit être 0,00mm, puis envoyez à nouveau M119, on verra que la butée Z est maintenant activée.
Send: M119
Recv: x:open y:open z:TRIGGERED

Vérification de la connexion

Vérifiez la connexion en envoyant M102 S-1. Voici un exemple de message renvoyé, vérifiez la connexion et l'ordre des fils pour s'assurer qu'il n'y a pas de message vide ou d'autres chaînes.

Send: M102 S-1
Recv: V1.0 pandapi3d.com

Si toutes les étapes ci-dessus sont correctement effectuées, vous pouvez maintenant faire home Z.