Aller au contenu principal

Installation de BDsensor-m-m

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

  • Si la longueur du câble du capteur est insuffisante, utilisez le câble d'extension 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 du connecteur de la carte mère peuvent ne pas être connectées directement aux GPIO du MCU (par exemple, elles peuvent avoir des condensateurs de filtrage ou être isolées via des MOSFET, des diodes ou des optocoupleurs, mais si elles sont isolées via des résistances ou des résistances de tirage vers le haut/bas, cela fonctionne également). Elles ne sont donc pas compatibles avec le BDsensor-m, et le firmware signalera une erreur de connexion. Par exemple :

  • Les connecteurs de ventilateur et de chauffage sont isolés via des MOSFET,

  • Les connecteurs pour thermistances et butées/capteurs 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 court

    Loading...

Installer le patch dans le firmware Marlin

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

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

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

    Seulement BD_SENSOR_PROBE_NO_STOP

    Dernière version de correction de bugs 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 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 homing de l'axe Z
    #define USE_PROBE_FOR_Z_HOMING
  3. Ralentir la deuxième vitesse de homing Z

    #define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)

    Ici, nous devons ralentir la vitesse de homing par à-coups et la vitesse de homing Z, car la lecture de la butée du processus BDsensor-m n'est pas en temps réel comme une butée normale.

    Modifier Configuration_adv.h

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

    #define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Diviseur de vitesse de re-à-coups (divise la vitesse de homing)

Modifier 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 modifier 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 le numéro réel de la broche à laquelle le fil SLK est connecté sur votre carte mère
#define I2C_BD_DELAY 20 // La valeur par défaut est 20, doit être comprise entre [20,50].

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

#define AUTO_BED_LEVELING_BILINEAR

Et modifiez les valeurs comme indiqué ci-dessous :

#define Z_CLEARANCE_DEPLOY_PROBE 0 // Jeu Z pour déploiement/stockage
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Jeu Z entre les points de la sonde
#define Z_CLEARANCE_MULTI_PROBE 1 // Jeu Z entre plusieurs sondes

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

  • Pour les imprimantes avec affichage d'état (prenant en charge la commande G-code M117), comme LCD12864 ou certains écrans UART, comme l'Ender 3 V2...

Calibration

  1. Nettoyez la buse, puis déplacez l'axe Z dans la console jusqu'à ce que la buse touche juste le lit (le BDsensor-m utilisera cette position comme point zéro, donc aucun z_offset n'est nécessaire, réglez la valeur à 0).

  2. Envoyez la commande G-code 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. Dans ce cas, il suffit de recalibrer.

  3. Vous pouvez envoyer M102 S-5 pour vérifier si la calibration du capteur BD a réussi. Cela renverra 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 Remarque : Une valeur de données de 1015 ou > 1010 indique que le capteur est hors de sa plage. Si les 5 premiers points (0~0,5 mm) ou plus ont des valeurs comprises entre 0 et 1000 et que le delta de la valeur d'accroissement est >= 10, la calibration est réussie. Comme le montre le graphique ci-dessus.

Si la première donnée de calibration brute renvoyée par M102 S-5 est supérieure à 400, cela signifie que le capteur est monté trop haut et doit être repositionné plus près du lit. Assurez-vous également que la deuxième donnée est supérieure d'au moins 10 à la première.

Test et impression

Lit du menu

Nivellement automatique

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 une commande G-code ou en ajoutant un G-code dans le fichier G-code.

Pour activer le nivellement du lit dans Cura, ajoutez la commande G-code M102 juste en dessous du G-code 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 effectuera le nivellement uniquement en dessous d'une hauteur Z de 0,2 mm. M102 S2

Envoyez ou utilisez M102 S0 pour désactiver le nivellement du lit avec le capteur BD. Il est désactivé par défaut. G28 M18

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

2. G29 Nivellement automatique du lit

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

Vidéo d'installation

Vidéo d'installation de Chris's Basement

Vérifier la butée Z M119

Ne faites pas de homing Z avant de vérifier cette étape, sinon la buse pourrait heurter le lit de l'imprimante.

Voici le message de retour après avoir envoyé la commande M119 (rapporter l'état des butées).

Envoyer : M119
Recevoir : 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é.
  • Abaissez l'axe Z manuellement jusqu'à ce que la buse touche le lit.
  • Envoyez M102 S-2, la valeur de retour doit être 0,00 mm, puis envoyez à nouveau M119, vous verrez que la butée Z est maintenant déclenchée.
Envoyer : M119
Recevoir : 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 pour voir s'il renvoie des espaces vides ou une autre chaîne.

Envoyer : M102 S-1
Recevoir : V1.0 pandapi3d.com

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

Loading...