Aller au contenu principal

Installer BDsensor-m-m

Connecter le câble du capteur à l'interface EXP1 de la carte mère

*Si la longueur du câble du capteur est insuffisante, vous pouvez utiliser le câble d'extension fourni dans l'emballage.

  • Les fils CLK et SDA du BDsensor-m-m 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-m
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
  • Certaines broches du connecteur de la carte mère ne sont peut-être pas directement connectées aux GPIO du MCU (elles peuvent par exemple comporter des condensateurs de filtrage ou être isolées via un MOSFET, une diode ou un coupleur optique, mais peuvent aussi être isolées via une résistance ou une résistance de tirage/pull-down), et ne peuvent donc pas être utilisées avec le BDsensor-m. Le firmware signalera alors une erreur de connexion. Par exemple :

  • Les connecteurs pour ventilateurs et chauffage sont isolés via un MOSFET,

  • Sur certaines cartes, les connecteurs destinés aux thermistances de température et aux butées/probes sont généralement reliés à la masse via des condensateurs de filtrage,

  1. Installez le capteur BD à proximité de l'extrémité chaude comme indiqué sur l'image. STL du support, STL_mount_VzBot_Goliath short

Appliquer le correctif au firmware Marlin

Le capteur BD est intégré à Marlin2.1.x (depuis le 2022.08.27),

Vous pouvez télécharger la version stable. Toutefois, nous recommandons actuellement de télécharger la dernière version corrigée : https://github.com/MarlinFirmware/Marlin

Vous devez modifier les fichiers de configuration et les fichiers de brochage.

Modifier le fichier Configuration.h

  1. Activer BD_SENSOR

    Décommentez les lignes suivantes :

    #define BD_SENSOR`
    #define Z_SAFE_HOMING
    #define BD_SENSOR_PROBE_NO_STOP //ajouter cette nouvelle ligne pour un nivellement rapide du lit sans arrêt de la buse

    Uniquement BD_SENSOR_PROBE_NO_STOP

    Dernière correction Marlin : https://github.com/MarlinFirmware/Marlin

    Description : https://github.com/MarlinFirmware/Marlin/pull/25847

  2. Utiliser la sonde pour le homing

    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 de la sonde pour le homing de l'axe Z
    #define USE_PROBE_FOR_Z_HOMING
  3. Réduire la vitesse de homing Z en deuxième phase

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    Ici, nous devons ralentir la vitesse de heurt et celle du homing Z, car le capteur BDsensor-m ne réagit pas en temps réel comme un capteur normal.

    Modifier le fichier Configuration_adv.h

    Activez #define BABYSTEPPING pour activer la fonction de nivellement en temps réel.

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 }       // Diviseur de vitesse pour le heurt (divise la vitesse de homing)

Modifier le fichier pins_boardname.h

Dans le fichier de brochage pins_boardname.h, configurez les broches SDA et SCL du BDsensor-m en ajoutant les trois lignes suivantes (par exemple pour pins_PANDA_PI_V29.h) :

#define  I2C_BD_SDA_PIN    PC6   // Veuillez modifier avec le numéro réel de la broche à laquelle le fil SDA est connecté sur votre carte mère
#define I2C_BD_SCL_PIN PB2 // Veuillez modifier avec le numéro réel de la broche à laquelle le fil SCL est connecté sur votre carte mère
#define I2C_BD_DELAY 20 // valeur par défaut 20, doit être comprise entre [20,50].

Si vous souhaitez effectuer un nivellement automatique du lit (G29) avant l'impression, comme avec un BLtouch normal, décommentez :

#define AUTO_BED_LEVELING_BILINEAR

Et modifiez les valeurs comme suit :

#define Z_CLEARANCE_DEPLOY_PROBE   0 // Espace Z pour déployer/ranger la sonde
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Espace Z entre les points de mesure
#define Z_CLEARANCE_MULTI_PROBE 1 // Espace Z entre plusieurs mesures

Afficher la valeur du capteur BD sur l'écran LCD

  • Pour les imprimantes disposant d'un affichage d'état (supportant la commande Gcode M117), comme LCD12864 ou certains écrans UART tels qu'Ender3V2 ...

Calibrage

  1. Nettoyez la buse, puis déplacez manuellement l'axe Z jusqu'à ce que la buse touche légèrement le plateau (le BDsensor-m utilisera cette position comme point zéro, donc aucun z_offset n'est nécessaire, nous réglons la valeur à 0).

  2. Envoyez la commande Gcode M102 S-6, 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 pendant le calibrage, sinon les anciennes données de calibrage seront supprimées. Si cela arrive, recalibrez simplement.

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

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

Remarque : Une valeur de données de 1015 ou > 1010 indique que la valeur dépasse la plage du capteur. Si les 5 premiers points (0~0,5 mm) ou plus ont des valeurs comprises entre 0 et 1000, et que l'augmentation (delta) est >=10, cela signifie que le calibrage a réussi. Comme indiqué dans le graphique ci-dessus.

Si la première donnée 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 plateau. Assurez-vous également que la deuxième valeur est au moins 10 unités supérieure à la première.

Test et impression

Menu lit

Nivellement automatique du lit

Deux méthodes permettent de nivellement automatiquement le lit :

1.Utiliser 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 l'ajoutant au fichier Gcode.

Pour activer le nivellement du lit dans Klipper, ajoutez la commande M28 Gcode juste après la commande G28 (home de tous les axes) dans la section "Gcode de démarrage" des paramètres de l'imprimante. Par exemple, après G28, cela signifie qu'il nivellera le lit uniquement lorsque la hauteur Z est inférieure à 0,2 mm. M102 S2

Envoyer ou ajouter M102 S0 désactivera le nivellement du lit, notez que par défaut, il est désactivé. G28 M18

M102   S-1     //Lire les informations du capteur, nous pouvons l'utiliser pour vérifier la connexion.
M102 S-2 //Lire la distance actuelle
M102 S-5 //Lire les données brutes de calibrage
M102 S-6 //Démarrer le calibrage, avant cela, assurez-vous que la buse touche juste le lit, puis redémarrez l'imprimante. Ne faites pas le home de l'axe Z avant cela.
M102 S4 //Définir la valeur ajustable de hauteur Z, par exemple M102 S4 signifie qu'il effectuera l'ajustement lorsque la hauteur Z <=0,4 mm, désactivez-le avec M102 S0.

2. G29 Nivellement automatique du lit

Une autre méthode pour le nivellement automatique du lit est similaire à celle du BLtouch avec G29, il suffit d'ajouter une ligne G28 sous G29.

Vidéo d'installation

Vidéo d'installation de Chris's Basement

Vérifier la butée Z M119

Ne faites pas le home de Z avant d'effectuer cette étape, sinon la buse pourrait toucher le plateau d'impression.

Voici le message renvoyé après avoir envoyé la commande M119 (rapport de l'état des fins 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é
  • Déplacez manuellement l'axe Z vers le bas jusqu'à ce que la buse touche le plateau
  • Envoyez M102 S-2, la valeur renvoyée devrait être 0,00 mm, puis envoyez à nouveau M119, vous verrez que la butée Z est maintenant déclenchée.
Send: M119
Recv: x:open y:open z:TRIGGERED

Vérifier la connexion

Utilisez M102 S-1 pour vérifier la connexion. Voici un exemple de message renvoyé, vérifiez si la connexion et l'ordre des fils sont corrects si rien ou une autre chaîne est renvoyée.

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

Si toutes les étapes ci-dessus ont été correctement effectuées, vous pouvez maintenant faire le home de l'axe Z.

Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -