Installation d’un BLTouch sur l’Alfawise U30 Pro

Je vous avais déjà présenté mon Alfawise U30 Pro (avec quelques améliorations, notamment au niveau du bruit) dans un précédent article. Pour commencer, je tiens à préciser que l’ajout d’un BLTouch sur une imprimante 3D n’est pas absolument indispensable. Cependant, cette modification simplifie vraiment la vie :

  • Vous n’êtes plus obligé de niveler le plateau (quasiment) à chaque impression
  • La 1ère couche est généralement parfaite, car le BLTouch compense automatiquement les grosses irrégularités du plateau
Le BLTouch sur l'Alfawise U30 Pro

Pour en arriver là, il faut quand même un peu d’efforts. Mais ne vous inquiétez pas. En suivant pas à pas ce tuto tout devrait bien se passer.

Si vous possédez une autre imprimante (avec un firmware Marlin), le principe reste identique. Mais il faudra certainement adapter certains détails (support, menus…).

Choix du système de nivellement

J’ai préféré acheter un BLTouch original. Je n’ai pas essayé les autres modèles mais les forums spécialisés sont remplis d’utilisateurs déçus qui détaillent les problèmes qu’ils ont rencontrés avec certains clones chinois. Finalement, ils ont été obligés de racheter ensuite un vrai BLTouch (après avoir perdu beaucoup de temps et un peu d’argent).
Si le sujet vous intéresse, vous pouvez regarder cette vidéo du GüeroLoco qui en a testé plusieurs.

Installation

J’ai simplement téléchargé et imprimé ce support (depuis Thingiverse). Il suffit ensuite de fixer dessus le BLTouch (avec les vis fournies) et d’installer le tout sur la tête d’impression (en utilisant les vis d’origine).

Gros plan sur la fixation du BLTouch

Vous pouvez aussi retirer le capteur de fin de course de l’axe Z puisse qu’il sera remplacé par le BLTouch et qu’il risque de vous gêner par la suite.

Le capteur de fin de course de l'axe Z  de l'Alfawise U30 Pro

Branchement

Pour le branchement, suivrez le schéma ci-dessous. Les fils noirs et blancs remplacent le capteur de fin de course de l’axe Z que l’on vient de retirer. Il vous faudra certainement fabriquer une rallonge et souder (ou sertir) les fils.

Branchenent du BLTouch sur  l'Alfawise U30 Pro

Prenez tout votre temps pour réaliser cette étape. En cas d’erreur de branchement, vous pouvez rencontrer de gros problèmes (pouvant aller jusqu’à la destruction de la carte mère ou du BLTouch).

Modifications de Marlin

Téléchargez ici la dernière version de Marlin et ouvrez le fichier Marlin.ino avec l’IDE Arduino. Vous trouverez plus de détails sur la procédure ici. Puis allez dans l’onglet Configuration.h et utilisez la fonction de recherche (Edition – Trouver ou CTRL + F) pour dé-commenter les lignes suivantes (supprimer les caractères // au début de la ligne) :

//#define ENDSTOPPULLUP_ZMIN_PROBE
//#define BLTOUCH
//#define Z_MIN_PROBE_REPEATABILITY_TEST
//#define AUTO_BED_LEVELING_BILINEAR
//#define RESTORE_LEVELING_AFTER_G28
//#define GRID_MAX_POINTS_X 3
//#define Z_SAFE_HOMING
//#define SOFT_ENDSTOPS_MENU_ITEM

Commentez (en ajoutant les caractères // au début de ligne) la ligne :

#define MIN_SOFTWARE_ENDSTOP_Z

Remplacez (ligne par ligne) :

#define Z_MIN_PROBE_ENDSTOP_INVERTING false
#define X_PROBE_OFFSET_FROM_EXTRUDER -30
#define Y_PROBE_OFFSET_FROM_EXTRUDER -3
#define LEFT_PROBE_BED_POSITION  50
#define RIGHT_PROBE_BED_POSITION 210
#define FRONT_PROBE_BED_POSITION 47
#define BACK_PROBE_BED_POSITION  247

par :

#define Z_MIN_PROBE_ENDSTOP_INVERTING true
#define X_PROBE_OFFSET_FROM_EXTRUDER -35
#define Y_PROBE_OFFSET_FROM_EXTRUDER -5
#define LEFT_PROBE_BED_POSITION  10
#define RIGHT_PROBE_BED_POSITION 185
#define FRONT_PROBE_BED_POSITION 10
#define BACK_PROBE_BED_POSITION  210

Ensuite, vous pouvez enregistrer le fichier Marlin.ino et lancer le téléversement. Attendez que le message « Téléversement terminé » s’affiche pour continuer.

Modification de Marlin sur l'Alfawise U30 Pro

Vérification du Home Z

Commencez par faire un Home X/Y en allant dans le menu Move et en appuyant sur l’icone jaune, en forme de maison.

Home X/Y sur l'Alfawise U30 Pro

La buse se positionne au dessus du coin avant gauche du plateau

Ensuite vous pouvez faire un Home Z en appuyant sur l’icone bleue, en forme de maison.

Home Z sur l'Alfawise U30 Pro

Le BLTouch se positionne au centre du plateau, puis la tête d’impression descend jusqu’à ce qu’elle touche le plateau (une fois rapidement et une seconde fois plus lentement).

Normalement, la buse ne touche pas le plateau (elle s’arrête quelques millimètres au dessus). Mais si vous avez commis une erreur aux étapes précédentes, il peut y avoir un risque que votre buse s’écrase sauvagement sur le plateau. Je vous conseille donc un minimum de prudence. Moi, j’ai choisi de mettre un couvercle de boite d’œuf pour simuler le plateau et vérifier que la tête d’impression s’arrête bien lorsque le BTTouch détecte un contact.

Home Z sur une boite d'oeuf

Si tout se passe bien, vous pouvez retirer la boite d’œuf et recommencez avec le plateau le Home Z directement sur le plateau.

Réglage du Z offset

Pour réaliser cette étape, il faut comprendre à quoi servent les valeurs offset. C’est très simple, le BLTouch est censé mesurer la distance entre la buse et le plateau, mais ils ne sont situé exactement au même endroit. Il faut donc tenir compte de ce décalage et c’est le rôle des valeurs offset (en X, Y et Z).

Pour les axes X et Y, cela dépend de votre support. Si vous utilisez celui que j’ai indiqué un peu plus haut, vous devriez avoir environ – 35 en X et – 5 en Y (on n’est pas à 1 ou 2 millimètre près). Evidemment, cela correspond aux valeurs que nous avions précédemment indiquées dans le Marlin.

#define X_PROBE_OFFSET_FROM_EXTRUDER -35
#define Y_PROBE_OFFSET_FROM_EXTRUDER -5
Les valeurs d'offset des axes X et Y

Pour l’axe Z, la valeur n’est pas absolument identique pour tout le monde. Il suffit que vous ayez ajouté une rondelle en fixant le BLTouch ou que la buse soit un peu usée pour que l’offset soit différent. Car là, il faut être extrêmement précis. Une différence de 0,05 millimètres peut avoir une incidence sur votre 1ère couche d’impression.

Après le Home Z, le BLTouch se trouve au centre du plateau (X:110 et Y:110) et 10 mm au dessus (axe Z). La buse est aux coordonnées indiquées à l’écran (X:145 et Y115) et un peu plus haute que ce que le BLtouch a mesuré (environ 12mm).

La buse est décentrée par rapport au BLTouch

Il faut donc positionner la buse aux coordonnées X:110 Y:110 Z:0 et calculer la valeur de Z offset pour compenser la différence de hauteur entre le BLTouch et la buse. Par prudence nous avions indiqué une valeur de 0 pour le Z offset, ce qui fait que lorsque le BLtouch est à 0 (sur l’axe Z), la buse est un peu trop haute d’un ou deux millimètres. Mais elle ne doit pas toucher le plateau.

Positionnement de la buse au centre du plateau

Pour déterminer la valeur de Z offset (qui est forcement négative), il faut descendre légèrement en dessous de 0 (pour le BLTouch). Malheureusement, cela n’est pas possible de le faire depuis l’écran de contrôle. Il y a une sécurité qui empêche de le faire. Il est certainement possible de la désactiver en modifiant quelques lignes du firmware Marlin, mais je n’ai réussi à le faire.

Ce n’est pas grave, il existe une autre solution. Vous pouvez aussi contrôler l’imprimante en lui envoyant directement des commandes Gcode. Pour cela vous pouvez utiliser Octoprint avec un plugin de type GcodeBar.

Ou installer le programme Pronterface sur votre ordinateur et vous connecter à l’imprimante comme vous l’aviez fait avec l’IDE Arduino. J’ai choisi cette solution parce que je n’ai pas l’intention l’utiliser Octoprint avec cette imprimante. Mais pour la suite de ce tuto cela revient au même puisse qu’il s’agit simplement de trouver un moyen pour envoyer des commandes Gcode à l’imprimante.

Vous pouvez aussi utiliser l’interface de l’imprimante à la place de certaines commandes Gcode.

Vous pouvez télécharger Pronterface ici.
Ensuite, allumez l’imprimante et connectez là à l’ordinateur, puis décompressez le fichier Zip et lancez le programme pronterface.exe

Sélectionnez le port le plus grand (COM9, dans cet exemple) et cliquez sur le bouton Connect.

Connexion à l'imprimante avec Pronterface

Vous pouvez utiliser les boutons -/+ des axes X, Y et Z ou entrer vos commandes Gcode dans le champ en bas à droite (et cliquer ensuite sur le bouton Send).

Envoi de Gcode avec Pronterface

Pour commencer nous allons faire un Factory Reset pour remmettre les paramètres de l’imprimante à zéro. Pour cela tapez le Gcode suivant (et cliquez sur Send).

M502

Sauvegardez le Factory Reset en envoyant le Gcode suivant :

M500

Maintenant, vous devez faire un auto home (home sur les 3 axes) pour indiquer à l’imprimante l’emplacement de la tête d’impression. Tapez :

G28

Pour un réglage plus juste, vous pouvez faire chauffer la buse :

M104 S200

Et aussi le plateau :

M140 S50

Positionnez maintenant la buse au centre du plateau :

G0 X110 Y110 Z0

Si vous placez une feuille de papier entre la buse et le plateau, vous sentez qu’elle peut bouger beaucoup trop facilement. Il faut donc descendre petit à petit le plateau jusqu’à ce vous sentiez un peu de résistance (comme quand vous régler manuellement le plateau). Si vous sentez que vous êtes proches, allez y progressivement. Dans mon cas les valeurs étaient proches de -1 mais suivant votre installation cela peut se rapprocher de -2 ou même -3 :

G0 Z-1
G0 Z-1.1
G0 Z-1.2
G0 Z-1.3
G0 Z-1.2
G0 Z-1.25

Lorsque vous avez trouvé la valeur idéale (-1.25 dans mon cas) vous pouvez l’enregistrer dans la mémoire de l’imprimante :

M851 Z-1.25

N’oubliez pas de sauvegardez votre Z offset :

M500

Et d’arrêter le chauffage de la buse et du plateau :

M104 S0
M140 S0

Si vous voulez voir votre BLTouch tester pour la 1ère fois les 9 points du plateau, tapez :

G29

Start Gcode

Il faut aussi modifier le Gcode de démarrage (Start Gcode) dans les paramètres du slicer (ou trancheur en français), pour qu’il tienne compte du BLTouch.
Dans Cura, aller dans Préférences Configurer Cura…
Puis Sélectionnez Imprimantes et cliquez sur Paramètres de la machine

Modification du Start Gcode

Modifiez le Gcode de démarrage en ajoutant au moins :

G29

après l’auto home (G28).

Voilà mon Start Gcode complet, je me suis basé sur un autre code trouvé sur le forum lesimprimantes3d.fr (voir les sources). Si vous avez des remarques ou des suggestions pour l’améliorer, n’hésitez pas…

M140 S{material_bed_temperature_layer_0} ; Chauffe le lit à la température paramétrée sans attendre sans attendre que la température soit atteinte
M104 S150; Préchauffe l'extrudeur à 150° sans attendre que la température soit atteinte
G28 ; Homing de tous les axes
G29; ABL (Auto Bed Leveling)
M500; Save de l'ABL
M420 S1;
M190 S{material_bed_temperature_layer_0} ; Chauffe le lit à la température paramétrée jusqu'à ce que la température soit stable
M109 S{material_print_temperature_layer_0} ; Chauffe le l'extrudeur à la température paramétrée jusqu'à ce que la température soit stable
M117 Purge extruder ; Affiche le message "Purge extruder" sur le LCD
G92 E0 ; Reset extruder (définit la position de l'extrudeur à 0)
G1 Z5.0 F3000 ; Monte le Z de 5mm à 3000mm/min (50mm/s) afin de ne pas abimer le plateau
G1 X2 Y10 Z0.3 F5000.0 ; Déplacement de la tête au coin du plateau
G1 Y110 E12.5 F1000 ; Début de la purge 
G1 X7 Z5 F1000.0
G1 Z0.1 F1000
G1 Y10.0 E25 F1000
G1 E27 F3500 ; Rétraction de 3,5mm du filament pour éviter que ça coule entre la purge et le skirt/brim
G92 E0 ; Reset extruder
; Fin de la purge
G1 Z1.0 F3000 ; On remonte le Z de 1mm à 3000mm/min (50mm/s) afin de ne pas abimer le plateau au prochain déplacement
M117 Début de l'impression !

Première impression

Vérifiez que tout se passe bien, et surtout que la 1ère couche est parfaite. Si ce n’est pas le cas n’hésitez pas à annuler l’impression et à ajuster votre Z offset.

Vérification de la première couche d'impression

Saisissez la nouvelle valeur, par exemple -1.1 pour remonter légèrement la tête (puisse que la valeur précédente était de -1.25)

M851 Z-1.1

Et n’oubliez pas ensuite d’enregistrer

M500

Autre avantage du BLTouch

Si vous changez de buse, il vous faudra certainement modifier le Z offset. Par contre, si vous changer la surface d’adhésion du plateau, en la remplaçant comme ici, par un Mamorubot vous n’avez rien à faire. Le BLTouch s’adapte automatiquement à la nouvelle hauteur du plateau. Et ça c’est vraiment génial…

Le Mamorubot sur une Alfawise U30 Pro

Sources :

Je me suis inspiré d’un tuto que j’avais écris en 2018 sur le forum spécialisé lesimprimantes3d.fr pour mon ancienne imprimante 3D (TEVO Tornado). Et pour l’adapter à l’Alfawise U30 Pro, j’ai trouvé toutes les informations utiles dans cet autre sujet du forum.

Hé oui, en 2018, je n’avais pas encore créé ce blog, mais j’écrivais de temps en temps des tutos dans les forums consacrés aux différents sujets qui m’intéressaient.


13 réflexions sur “Installation d’un BLTouch sur l’Alfawise U30 Pro

    1. Bonjour franck22,
      – Essayez de re-télécharger le Firmware « Marlin1.1.9_LGT0.3.1_LK4_Pro_BLTouch.zip » depuis cet emplacement :

      https://www.dropbox.com/sh/boksnhz92ccy35w/AABxtcz5UWl6get1fACssmu5a/Ux0%20Pro%20Source%20Code

      – Décompressez-le et téléversez le
      – Si cela fonctionne reprenez le tuto à partir de « Modifications de Marlin »
      – Sinon, réinstallez la dernière version de l’IDE Arduino, mettez à jour les bibliothèques
      – N’oubliez pas aussi de sélectionner le Type de carte « Arduino Mega or Mega 2560 » et le dernier port COM (COM5, par exemple).
      – Sinon, il faudrait poser la question sur les forums spécialisés en indiquant le message d’erreur complet, parce que comme je n’ai jamais rencontré ce problème, je ne peux pas vous apporter la solution…
      Bon courage

      J'aime

      1. Bonjour et merci pour votre tuto.
        J’ai tenté de faire simple en passant par votre lien mais le fichier : Marlin1.1.9_LGT0.3.1_LK4_Pro_BLTouch.zip n’y est plus serait-il possible de le remettre en téléchargement svp.
        En vous remerciant par avance

        J'aime

      2. Bonjour Lunik,
        Effectivement, le fichier s’appelle maintenant « Marlin1.1.9_LGT0.3.x_Alfawise_Ux0Pro-master.zip », mais pas de soucis, vous pouvez partir de ce fichier (le dernier firmware d’Alfawise), pour faire les modifications indiquées dans le tuto.
        Mais je vous conseille quand même de tester la procédure de mise à jour du firmware (sans modifs), comme indiqué ici : https://arduiblog.com/2020/05/25/alfawise-u30-pro/ et de faire les modifications seulement si tout se passe bien.

        J'aime

  1. Merci pour ta réponse,j’ai tout recommencé et maintenant certaine ligne reste introuvables a partir de: »#define X_PROBE_OFFSET_FROM_EXTRUDER -30″ j’ai chercher manuellement mais je ne les trouve pas.
    Merci de votre aide.

    J'aime

    1. Bonjour,
      Tu ouvres le fichier Marlin.ino avec l’IDE Arduino, tu vas dans l’onglet Configuration.h et tu fais une rechercher (CTRL + F) avec seulement (sans les – 30 ou les guillemets) :

      #define X_PROBE_OFFSET_FROM_EXTRUDER

      Si tu utilises le fichier que j’ai mis en lien (ci dessus) tu devrais trouver 2 lignes : 784 (qui est commenté) et 798 (qui est la ligne que tu cherches).

      Ne te décourage pas tu vas y arriver 😉

      J'aime

  2. Salut, tout d’abord, merci pour ce tuto très clair mais qui n’a malheureusement pas suffit à ce que le bltouch fonctionne chez moi.
    Lorsque j’allume l’imprimante, celui ci descend et remonte rapidement 2 fois mais reste rouge et quand je fais un home Z, la buse s’écrase sur le plateau.je n’arrive pas à trouver d’ou cela vient. j’ai tenté de changer le sens de câblage, tenté de lancer une commande sur pronterface, rien à faire. HELPPPP please.

    J'aime

    1. Salut,
      Cela peut venir d’un problème de branchement, mais aussi d’une ligne qui n’a pas été modifiée dans Marlin.
      Il faudrait reprendre pas à pas le tuto (depuis le début).
      Il faut aussi vérifier les fils (mais n’inverser surtout pas la masse et le + 5V)
      Bon courage

      J'aime

  3. Merci nickel, un grand merci à toi Jcquetin, ENFIN un tuto pour le BLTouch avec une U30 Pro simple et clair !!

    Pour moi le Z-OFFSET est à -3.9 avec ton modèle de support, va comprendre…
    + il y a eu un update de Marlin (cf. github), gestion du INVERT_E0_DIR=true pour U20 Pro (pas d’impact pour la U30 Pro), fix bug dans LGT_SCR.cpp => je ne sais pas vraiment à quoi ça sert mais ça vaut peut-être le coup de mettre à jour ton zip dans Dropbox 🙂

    J'aime

    1. Bonsoir Jérome,
      Je suis très content de savoir que ça a bien marché, tu verras, c’est vraiment génial de ne plus avoir à régler manuellement le plateau.
      Tu pourrais me donner le nouveau lien pour que je fasse la mise à jour STP ?
      Bonne soirée et à bientôt
      JC

      J'aime

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s