Aller au contenu principal

Installation du BDsensor

Brancher 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 BDsensor.
  • Veuillez noter que pour le SHT36, il faut connecter le CLK/SCL (Input) du BDsensor à l'entrée haute tension et mettre le cavalier en place.
  • Les fils CKL et SDA du BDsensor peuvent être connectés à n'importe quelle broche GPIO de la carte. Vous pouvez également brancher le câble du BDsensor directement sur le port Bltouch, par exemple :
BLtouch | BDsensor
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
  • Certaines broches du connecteur de la carte mère peuvent ne pas être directement connectées aux GPIO du MCU (par exemple, elles peuvent avoir des condensateurs de filtrage ou être isolées via un MOSFET, une diode ou un optocoupleur, mais si elles sont isolées via une résistance ou une résistance de tirage/pull-down, cela peut aussi convenir), elles ne peuvent donc pas être utilisées avec le BDsensor. Et le firmware signalera une erreur de connexion. Par exemple :

  • Les connecteurs des ventilateurs et des chauffages sont isolés par un MOSFET.

  • Les connecteurs pour les thermistances et les butées/capteurs de certains circuits sont généralement connectés à GND via des condensateurs de filtrage.

  1. Comme le montre la figure ci-dessous, installez le BDsensor près de la partie chaude. STL du support, STL_mount_VzBot_Goliath court

    Loading...

Installer le patch dans le firmware Marlin

Le BDsensor a été intégré dans Marlin 2.1.x (depuis le 27/08/2022).

Vous pouvez télécharger la version de publication. Mais il est maintenant recommandé de télécharger la dernière version de correction de bugs : https://github.com/MarlinFirmware/Marlin

Ce dont vous avez besoin est de modifier les fichiers de configuration et les fichiers de broches.

Modifier Configuration.h

  1. Activer BD_SENSOR

    Décommentez

    #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

    Seulement BD_SENSOR_PROBE_NO_STOP

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

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

  2. Revenir à l'origine avec la sonde

    Assurez-vous que Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN est désactivé et que USE_PROBE_FOR_Z_HOMING doit être activé comme indiqué ci-dessous :

    //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    // Force l'utilisation de la sonde pour le retour à l'origine de l'axe Z
    #define USE_PROBE_FOR_Z_HOMING
  3. Ralentir la seconde vitesse de retour à l'origine Z

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    Ici, nous devons ralentir la vitesse de retour en butée et la vitesse de retour à l'origine Z, car la lecture de la butée du processus BDsensor n'est pas en temps réel comme une butée normale.

    Modifier Configuration_adv.h

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

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Diviseur de vitesse de re-butée (divise la vitesse d'avance de retour à l'origine)

Modifier pins_boardname.h

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

#define I2C_BD_SDA_PIN PC6 // Veuillez changer par le numéro réel auquel le fil SDA est connecté sur votre carte mère
#define I2C_BD_SCL_PIN PB2 // Veuillez changer par le numéro réel auquel le fil SLK est connecté sur votre carte mère
#define I2C_BD_DELAY 20 // La valeur par défaut est 20, doit être dans la plage [20,50].

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

#define AUTO_BED_LEVELING_BILINEAR

Et modifiez les valeurs comme indiqué ci-dessous

#define Z_CLEARANCE_DEPLOY_PROBE 0 // Jeu en Z pour le déploiement/remisage
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Jeu en Z entre les points de sondage
#define Z_CLEARANCE_MULTI_PROBE 1 // Jeu en Z entre plusieurs sondages

Afficher la valeur du BDsensor sur l'écran LCD

  • Pour les imprimantes avec affichage d'état (supportant le gcode M117), comme LCD12864 ou certains écrans uart, comme ender3V2 ...

Calibrage

  1. Nettoyez la buse, puis déplacez l'axe Z depuis la console jusqu'à ce que la buse touche exactement le plateau (le BDsensor utilisera cette position comme point zéro, donc pas besoin de z_offset, nous définissons la valeur sur 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. N'exécutez pas M102 S-6 avant d'avoir installé le capteur, et n'éteignez pas l'imprimante pendant le calibrage, sinon les anciennes données de calibrage seront supprimées. Si c'est le cas, recalibrez simplement.

  3. Vous pouvez envoyer M102 S-5 pour vérifier si le BDsensor a été calibré avec succès, cela renverra les données de calibrage brutes stockées dans le BDsensor.

Il existe également un outil de calibrage pour le faire : 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 le capteur est hors de portée. Si les 5 premiers points (0~0,5 mm) ou plus sont dans la plage de 0 à 1000 et que le delta de la valeur augmentée est >= 10, cela signifie que le calibrage a réussi. Comme le montre le graphique ci-dessus.

Si la première donnée de calibrage brut 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 a une valeur supérieure d'au moins 10 à la première.

Test et impression

Menu Bed Level

Auto Bed Level

Il existe deux méthodes pour niveler 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 niveau automatique en envoyant des commandes gcode ou en ajoutant du gcode dans le fichier gcode.

Pour activer le nivellement du lit dans Cura, ajoutez la commande G code M102 S2 juste en dessous du code G G28 (Home all axes) dans la section "Démarrer G-code" des paramètres de la machine de l'imprimante. Par exemple, en dessous de G28, cela signifie qu'il ne nivelera le lit que pour les hauteurs d'axe Z inférieures à 0,2 mm.

Envoyer M102 S0 désactivera le nivellement du lit avec le BDsensor, soit dit en passant, il est désactivé par défaut. G28 M18

M102 S-1 // Lire les informations du capteur, et nous pouvons l'utiliser pour vérifier la connexion.
M102 S-2 // Lire la valeur de distance actuelle
M102 S-5 // Lire les données de calibrage brutes
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 de retour à l'origine de l'axe Z avant cela.
M102 S4 // Définir la valeur de hauteur Z ajustable, par ex. M102 S4 signifie qu'il effectuera l'ajustement tant que la hauteur Z <= 0,4 mm, désactivez-le avec M102 S0.

2. G29 Nivellement automatique du lit

Une autre méthode pour niveler automatiquement le lit est comme le BLtouch avec G29, ajoutez simplement une ligne G28 en dessous de G29.

Vidéo d'installation

Vidéo d'installation par Chris Basement

Vérifier la butée Z M119

Avant de vérifier cette étape, ne faites pas de retour à l'origine Z, sinon la buse pourrait heurter le plateau d'impression.

Ceci est le message de retour après l'envoi de la commande M119 (rapport de l'état des butées).

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 l'axe Z manuellement vers le bas jusqu'à ce que la buse touche le lit
  • Envoyez M102 S-2, la valeur de retour doit être de 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

Vérifiez la connexion avec M102 S-1. Voici un exemple de message retourné, veuillez vérifier la connexion et l'ordre des fils pour voir s'il renvoie une chaîne vide ou autre.

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

Si toutes les étapes ci-dessus sont correctes, vous pouvez maintenant effectuer le retour à l'origine de l'axe Z.

Loading...