Aller au contenu principal

Installation du BDsensor-m-m

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

  • Si le câble du capteur est trop court, vous pouvez utiliser la rallonge incluse dans l'emballage.
  • Les lignes CKL et SDA du BDsensor-m-m peuvent être connectées à 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)
  • En raison du fait que 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 par un MOSFET, une diode ou un coupleur optique, mais si elles sont isolées par une résistance ou un tirage vers le haut/bas, elles peuvent également fonctionner), elles ne peuvent pas être utilisées avec le BDsensor-m. Et le firmware signalera une erreur de connexion. Par exemple :

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

  • Certains connecteurs de la carte pour thermistances de température et fins de course/sondes sont généralement connectés à la masse par des condensateurs de filtrage,

  1. Comme illustré ci-dessous, installez le capteur BD à proximité de l'extrémité chaude. STL du support, STL_mount_VzBot_Goliath court

Installer le patch dans le firmware Marlin

Le capteur BD a été intégré à Marlin2.1.x (depuis le 27 août 2022),

Vous pouvez télécharger la version publiée. Mais il est maintenant recommandé de télécharger la version la plus récente avec les corrections d'erreurs : https://github.com/MarlinFirmware/Marlin

Vous aurez besoin 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 //ajouter cette nouvelle ligne pour un nivellement rapide du lit sans arrêt de la buse,

    Seul BD_SENSOR_PROBE_NO_STOP est nécessaire

    Dernière correction d'erreur de Marlin : https://github.com/MarlinFirmware/Marlin

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

  2. Utiliser la sonde pour le retour à l'origine

    Assurez-vous que Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN est désactivé, et activez USE_PROBE_FOR_Z_HOMING 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 vitesse de retour à l'origine Z pour la deuxième fois

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    Ici, nous devons ralentir la vitesse de retour à l'origine de la butée et de l'axe Z, car le stop de la BDsensor-m n'est pas aussi réactif qu'un stop normal.

    Éditer Configuration_adv.h

    #define BABYSTEPPING Activez cette fonction pour permettre le nivellement en temps réel

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 }       // Diviseur de vitesse de butée au retour à l'origine (Divise la vitesse de retour à l'origine)

Éditer pins_boardname.h

Configurez les broches SDA et SCL du BDsensor-m dans le fichier de broches 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 SLK est connecté à votre carte mère
#define I2C_BD_DELAY 20 // La valeur par défaut est 20, devrait être dans la plage [20,50].

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

#define AUTO_BED_LEVELING_BILINEAR

Et modifiez les valeurs comme suit :

#define Z_CLEARANCE_DEPLOY_PROBE   0 // Distance de dégagement Z pour le déploiement/rangement de la sonde
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Distance de dégagement Z entre les points de sondage
#define Z_CLEARANCE_MULTI_PROBE 1 // Distance de dégagement Z entre plusieurs sondages

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

  • Pour les imprimantes avec affichage d'état (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 lit (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.1mm à chaque fois jusqu'à atteindre 4mm. Ne lancez pas M102 S-6 avant d'avoir installé le capteur, et ne coupez pas l'alimentation de l'imprimante pendant la calibration, sinon les anciennes données de calibration seront effacées. Dans ce cas, il faudra simplement recalibrer.

  3. Vous pouvez envoyer M102 S-5 pour vérifier si la calibration du capteur BD a réussi, cela retournera les données de calibration brutes stockées dans le capteur BD.

Il existe également un outil de calibration qui peut faire 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 cinq premiers points (0~0.5mm) ou plus sont dans la plage de 0 à 1000, et que la valeur delta augmente de >=10, cela indique une calibration réussie. Comme illustré dans le graphique ci-dessus.

Si M102 S-5 retourne la première donnée de calibration brute 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.

Test et impression

Menu de la couche du lit

Nivellement automatique du lit

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

Pour activer le nivellement du lit dans Cura, ajoutez le gcode M28 dans la section "G-code de démarrage" des paramètres de la machine d'impression, juste en dessous de G102 (retour à l'origine de tous les axes). Par exemple, en dessous de G28, cela signifie qu'il effectuera le nivellement du lit uniquement lorsque la hauteur Z est inférieure à 0.2mm. M102 S2

Envoyer ou utiliser le capteur BD pour désactiver le nivellement du lit, notez que 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 brutes de calibration
M102 S-6 //Commencer la calibration, assurez-vous que la buse vient de toucher le lit, puis redémarrez l'imprimante. Ne retournez pas à l'origine l'axe 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 par M102 S0.

2. Nivellement automatique du lit avec G29

Une autre méthode de nivellement automatique du lit est comme G29 avec un BLtouch, il suffit d'ajouter une ligne G28 en dessous de G29.

Vidéo d'installation

Vidéo d'installation de la cave de Chris

Vérifier l'interrupteur de fin de course Z avec M119

Avant de vérifier cette étape, ne retournez pas à l'origine Z, sinon la buse pourrait toucher le lit de l'imprimante.

Voici le message de retour après avoir envoyé la commande M119 (rapport d'état 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 désactivé/déverrouillé
  • Déplacez l'axe Z vers le bas à la main jusqu'à ce que la buse touche le lit
  • Envoyez M102 S-2, la valeur retournée devrait être 0.00mm, puis renvoyez M119, vous pouvez voir que l'interrupteur de fin de course Z est maintenant déclenché.
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 de retour, vérifiez la connexion et l'ordre des fils si cela retourne 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 retourner à l'origine l'axe Z.