Aller au contenu principal

Installation du BDsensor-m-m

Connecter le câble du capteur au connecteur EXP1 de la carte mère

  • Si le câble du capteur n'est pas assez long, vous pouvez utiliser le câble de rallonge fourni dans l'emballage.
  • Les fils CKL 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 (Entrée)
GND --> GND
Zmin --> SDA (Entrée/Sortie)
  • Certaines broches des connecteurs 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 des résistances de pull-up/pull-down, cela fonctionne également). Elles ne peuvent donc pas être utilisées avec le BDsensor-m. Le firmware signalera une erreur de connexion. Par exemple :

  • Les connecteurs des ventilateurs et des radiateurs sont isolés via des MOSFET.

  • Les connecteurs pour thermistances de température et butées/sondes sur certaines cartes sont généralement connectés à GND via des condensateurs de filtrage.

  1. Comme illustré ci-dessous, installez le capteur BD près de la hotend. STL du support, STL_mount_VzBot_Goliath short

    Loading...

Installer le patch dans le firmware Marlin

Le capteur BD est intégré dans Marlin 2.1.x (depuis le 27/08/2022).

Vous pouvez télécharger la version publiée. Mais il est désormais recommandé de télécharger la version de correction de bugs la plus récente : https://github.com/MarlinFirmware/Marlin

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

Éditer Configuration.h

  1. Activer BD_SENSOR

    Décommentez

    #define BD_SENSOR`
    #define Z_SAFE_HOMING
    #define BD_SENSOR_PROBE_NO_STOP // Ajoutez 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 est activé comme suit :

    //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    // Forcer l'utilisation de la sonde pour le retour à l'origine de l'axe Z
    #define USE_PROBE_FOR_Z_HOMING
  3. Ralentir la deuxième vitesse de retour à l'origine Z

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    Ici, nous devons ralentir la vitesse de retour à l'origine par à-coups et la vitesse de retour à l'origine Z, car la lecture de la butée depuis le processus du BDsensor-m n'est pas en temps réel.

    Éditer Configuration_adv.h

    Activez #define BABYSTEPPING pour la fonction de mise à niveau en temps réel.

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Diviseur de vitesse de re-contact (Divise la vitesse d'avance pour le retour à l'origine)

Éditer pins_boardname.h

Configurez les broches SDA et SCL du BDsensor-m 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 pour le numéro réel auquel le fil SDA est connecté sur votre carte mère
#define I2C_BD_SCL_PIN PB2 // Veuillez changer pour 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 faire un nivellement automatique du lit (G29) avec la sonde avant l'impression, comme un BLtouch normal, décommentez :

#define AUTO_BED_LEVELING_BILINEAR

Et éditez les valeurs comme indiqué ci-dessous :

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

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

  • Pour les imprimantes avec affichage de statut (supportant le gcode M117), comme LCD12864 ou certains écrans UART, comme ender3V2 ...

Calibration

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

  3. Vous pouvez envoyer M102 S-5 pour vérifier si le capteur BD a été calibré avec succès. Cela retournera les données de calibration brutes 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 : 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 ont des valeurs dans la plage 0 à 1000 et que le delta d'augmentation est >= 10, la calibration est réussie. Comme le montre 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 plateau. 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 Plateau

Nivellement automatique du plateau

Il y a deux méthodes pour niveler automatiquement le plateau :

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 des gcodes dans le fichier gcode.

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

Envoyez M102 S0 ou utilisez G28 M18 pour désactiver le nivellement du plateau avec le capteur BD. Soit dit en passant, il est désactivé par défaut.

M102 S-1 //Lire les informations du capteur, 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 calibration brutes
M102 S-6 //Démarrer la calibration. Avant cela, assurez-vous que la buse touche juste le plateau, puis l'imprimante redémarre. Ne faites pas le retour à l'origine Z avant cela.
M102 S4 //Définir la valeur de hauteur Z ajustable, par exemple M102 S4 signifie qu'il ajustera lorsque la hauteur Z <= 0.4mm. Désactivez-le avec M102 S0.

2. Nivellement automatique du plateau G29

Une autre méthode pour niveler automatiquement le plateau est comme avec le BLtouch pour G29, il suffit d'ajouter une ligne G29 en dessous de G28.

Vidéo d'installation

Vidéo d'installation par Chris' Basement

Vérifier la butée Z M119

Ne faites pas le retour à l'origine Z avant de vérifier cette étape, sinon la buse pourrait heurter le plateau de l'imprimante.

Voici le message de retour après avoir envoyé la commande M119 (rapporter 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 désactivé/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 de retour doit être 0.00 mm, puis envoyez à nouveau M119, vous devriez voir 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 du message de retour, vérifiez si la connexion et l'ordre des fils renvoient une chaîne vide ou autre chose.

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

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

Loading...