Installation de BDsensor-m
Connexion du 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 la rallonge incluse dans l'emballage
- Les lignes CLK et SDA du BDsensor-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 (Entrée)
GND --> GND
Zmin --> SDA (Entrée/Sortie)
-
Étant donné que certaines broches des connecteurs de la carte mère peuvent ne pas être directement connectées au GPIO du MCU (par exemple, elles peuvent avoir des condensateurs de filtrage ou être isolées par MOSFET, diode ou optocoupleur, mais si elles sont isolées par résistance ou résistance pull-up/pull-down, cela fonctionne aussi), elles ne peuvent donc pas être utilisées avec le BDsensor-m. Et le firmware signalera une erreur de connexion. Par exemple
-
Les connecteurs du ventilateur et de la résistance chauffante sont isolés par MOSFET,
-
Les connecteurs pour les thermistances de température et les fins de course/sondes sur certaines cartes sont généralement connectés à GND via des condensateurs de filtrage,
-
Comme montré dans l'image ci-dessous, installez le capteur BD près de la hotend. STL du support, STL_mount_VzBot_Goliath short
Loading...
Installation du correctif sur le firmware Marlin
Le capteur BD est intégré dans Marlin2.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
Ce dont vous avez besoin, c'est de modifier les fichiers de configuration et de broches.
Modifier Configuration.h
-
Activer BD_SENSOR
Décommenter
#define BD_SENSOR#define Z_SAFE_HOMING#define BD_SENSOR_PROBE_NO_STOP //adding this new line for fast bed leveling without nozzle stop,Uniquement
BD_SENSOR_PROBE_NO_STOPDernière correction de bugs Marlin : https://github.com/MarlinFirmware/Marlin
Description : https://github.com/MarlinFirmware/Marlin/pull/25847
-
Utiliser la sonde pour la prise d'origine
Assurez-vous que Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN est désactivé, et que
USE_PROBE_FOR_Z_HOMINGest activé comme indiqué ci-dessous//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN// Force the use of the probe for Z-axis homing#define USE_PROBE_FOR_Z_HOMING -
Ralentir la vitesse de la deuxième prise d'origine Z
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)Ici, nous devons ralentir la vitesse de collision (bump) de la prise d'origine et la vitesse de prise d'origine de l'axe Z, car le signal de fin de course lu depuis BDsensor-m n'est pas en temps réel comme un interrupteur de fin de course ordinaire.
Modifier Configuration_adv.h
#define BABYSTEPPINGActiver cette fonction pour la fonction de nivellement en temps réel#define HOMING_BUMP_DIVISOR { 2, 2, 8 } // Re-Bump Speed Divisor (Divides the Homing Feedrate)
Modifier pins_boardname.h
En ajoutant les 3 lignes suivantes, configurez les broches SDA et SCL du BDsensor-m dans le fichier de broches pins_boardname.h (par exemple pins_PANDA_PI_V29.h) :
#define I2C_BD_SDA_PIN PC6 // Please change to the actual number which the SDA wire is connected to your mainboard
#define I2C_BD_SCL_PIN PB2 // Please change to the actual number which the SLK wire is connected to your mainboard
#define I2C_BD_DELAY 20 // default value is 20, should be in the range [20,50].
Si vous souhaitez effectuer un nivellement automatique du lit avec la sonde (G29) avant l'impression comme un BLtouch ordinaire, décommentez
#define AUTO_BED_LEVELING_BILINEAR
et modifiez les valeurs comme indiqué ci-dessous
#define Z_CLEARANCE_DEPLOY_PROBE 0 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES 1 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE 1 // Z Clearance between multiple probes
Afficher les valeurs du capteur BD sur l'écran LCD
- Pour les imprimantes avec affichage d'état (prenant en charge gcode M117), telles que LCD12864 ou certains écrans uart, comme ender3V2 ...
Étalonnage
-
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 0, donc pas besoin de z_offset, nous définissons la valeur à 0).
-
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 l'étalonnage, sinon les anciennes données d'étalonnage seront supprimées. Dans ce cas, il suffit de recalibrer. -
Vous pouvez envoyer
M102 S-5pour vérifier si le capteur BD a été calibré avec succès, cela renverra les données d'étalonnage brutes stockées dans le capteur BD.
Il existe également un outil d'étalonnage qui peut faire cela : https://github.com/markniu/Bed_Distance_sensor/raw/new/marlin/BD_Config_Tool_Marlin.zip Remarque : une valeur de 1015 ou > 1010 indique que la plage du capteur est dépassée. Si les 5 premiers points (0~0,5 mm) ou plus ont des valeurs comprises entre 0 et 1000, et que le delta d'augmentation est >= 10, cela signifie que l'étalonnage est réussi. Comme le montre le graphique ci-dessus.
Si la première donnée d'étalonnage 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 donnée soit supérieure à la première d'au moins 10.
Test et impression
Menu : Nivellement du lit
Nivellement automatique du lit
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 cette fonction de nivellement automatique en envoyant une commande gcode ou en ajoutant du gcode dans le fichier gcode.
Pour activer le nivellement du lit dans Cura, ajoutez le code M102 dans la section « G-code de démarrage » des paramètres de la machine d'impression, juste en dessous du code G28 (homing de tous les axes). Par exemple, en dessous de G28, cela signifie que le nivellement du lit ne sera effectué que lorsque la hauteur de l'axe Z ne dépasse pas 0,2 mm. M102 S2
Envoyez M102 S0 pour désactiver le nivellement en temps réel du capteur BD (G28, M18 le désactiveront également). À noter que cette fonction est désactivée par défaut.
M102 S-1 //Read sensor information, and we can use this for connection checking.
M102 S-2 //Read current distance value
M102 S-5 //Read raw Calibrate data
M102 S-6 //Start Calibrate,before that make sure the nozzle is just touched the bed,and then the printer restarted. don't home z axis before this.
M102 S4 //Set the adjustable Z height value,e.g. M102 S4 means it will do adjusting while the Z height <=0.4mm , disable it by M102 S0.
2. Nivellement automatique du lit avec G29
Une autre méthode de nivellement automatique du lit fonctionne comme le G29 du BLtouch, il suffit d'ajouter une ligne G29 en dessous de G28.
Vidéo d'installation de Chris's Basement
Vérifier la butée Z M119
Avant de vérifier cette étape, ne faites pas de homing sur Z, sinon la buse pourrait heurter le lit de l'imprimante.
Voici le message de retour après l'envoi de la commande M119 (rapport de l'état des interrupteurs de fin de course).
Send: M119
Recv: x:open y:open z:open
Si z min n'est pas déclenché, vérifiez votre configuration. #define Z_MIN_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 lit
- Envoyez
M102 S-2, la valeur de retour devrait être 0,00 mm, puis envoyez à nouveau M119, vous pouvez 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 via M102 S-1. Voici un exemple de message de retour. Si le retour est vide ou contient une autre chaîne, vérifiez la connexion et l'ordre des fils.
Send: M102 S-1
Recv: V1.0 pandapi3d.com