Installation du BDsensor
Connecter le câble du capteur à la carte mère ou à la carte de tête d'outil CAN.
- Veuillez noter que le SB2040 ne peut pas utiliser le BDsensor
- Veuillez noter que le SHT36 nécessite de connecter le CLK/SCL du BDsensor (Input) au port d'entrée haute tension, et de connecter le cavalier
- Les lignes CLK et SDA du BDsensor 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
5V --> 5V
GND --> GND
S --> CLK/SCL (Input)
GND --> GND
Zmin --> SDA (Input/Output)
-
É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 un MOSFET, une diode ou un photocoupleur, mais si elles sont isolées par une résistance ou une résistance de tirage haut/bas, cela fonctionne aussi), 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 MOSFET,
-
Les connecteurs pour les thermistances de température et les fins de course/sondes sur certaines cartes sont généralement connectés à la GND via des condensateurs de filtrage,
-
Comme montré dans l'image ci-dessous, installez le capteur BD près du hotend. STL of mount, STL_mount_VzBot_Goliath short
Loading...
Installation du correctif 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 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, 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 le homing
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 du deuxième homing Z
#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 16)Ici, nous devons ralentir la vitesse de collision (bump) du homing et la vitesse de homing de l'axe Z, car le signal de fin de course lu depuis le BDsensor n'est pas aussi en temps réel qu'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 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 plateau 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
Affichage de la valeur du capteur BD sur un écran LCD
- Pour les imprimantes dotées d'un affichage d'état (prise en charge de gcode M117), telles que LCD12864 ou certains écrans UART, comme l'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 utilisera cette position comme point zéro, donc aucun z_offset n'est nécessaire, 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'installer 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 retournera 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 données 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 dans la plage de 0 à 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 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 est 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 un 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 juste en dessous du code G28 (homing de tous les axes) dans la section « Start G-code » des paramètres de la machine d'impression. 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), soit dit en passant, 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 par G29
Une autre méthode de nivellement automatique du lit est 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 le homing de Z, sinon la buse pourrait heurter le lit de l'imprimante.
Voici le message retourné après l'envoi de la commande M119 (rapport de l'état des fins 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 éteint/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 retournée devrait être 0.00mm, 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 retourné, si le retour est vide ou contient une autre chaîne, veuillez vérifier la connexion et l'ordre des fils.
Send: M102 S-1
Recv: V1.0 pandapi3d.com