Nivellement auto sur la Anycubic I3 Mega Ultrabase

J'adore cette imprimante mais une des fonctions qui manque cruellement dessus depuis la version Ultrabase est le nivellement automatique ! Non seulement cette fonction est foutrement utile mais elle permet de compenser les petites différences de niveau qui ne sont pas nécessairement visibles à l'oeil nu. Ces compensations permettent d'améliorer l'adhésion de vos prints au plateau.

Attention : ce tutoriel nécessite quelques connaissances en soudure et un peu de matériel électronique. Mais le jeu en vaut largement la chandelle ! Nous vous proposons dans cet article d'utiliser un BLTouch avec votre Anycubic i3 Mega.

Liste d'achats

En plus de ceci, vous devrez imprimer un support pour la sonde :

Vous voila prêt à commencer !

Installation de la sonde

Installation de la prise du capteur

Une prise doit être ajoutée sur le petit circuit électronique présent dans le chariot de la tête d'impression. Ce circuit va permettre de faire parvenir le signal de la sonde sur les circuits déjà câblés de la mainboard sans demander trop de modifications.

Utilisez pour cela deux connecteurs 2.54mm.

Faites attention en soudant la fiche de ne pas déborder sur d'autres connecteurs et vérifiez plus d'une fois que vous l'installez au bon endroit.

(Crédits à Euk_rob pour la photo)

Fixation du BLTouch sur le chariot

Pour fixer le capteur sur le chariot, nous avons besoin d'un petit adaptateur. Je l'ai imprimé en utilisant une imprimante DLP (Anycubic Photon), mais vous pouvez le faire avec une imprimante FDM classique, en choisissant de préférence un matériaux résistant au températures élevées (PETG ou ABS).

La pièce se trouve sur Thingiverse : https://www.thingiverse.com/thing:2824005 (crédits à Petrzmax)

Vous aurez besoin des 4 écrous M3 ainsi que des 4 boulons M3x12 pour l'attacher sur la grille d'aération du chariot.

Image

Branchez le câble noir et blanc sur la fiche nouvellement soudée, comme sur la photo ci-dessus.

Ensuite, faites passer la fiche tricolore par un des trous de fixation pour la sortir du chariot.

Placez les câbles proprement en les attachant avec des colsons et replacez le cache. C'est une étape délicate car vous devez faire attention à ce que vos câbles ne soient pas en contact avec la hotend et qu'ils ne soient pas devant un ventilateur, ce qui gênerait le flux d'air.

Une fois ceci fait, confectionnez une fiche avec 3 câbles fins et des fiches Dupont mâles :

Image

Cette fiche viendra connecter le capteur du chariot X avec la mainboard.

Sertissez l'autre côté avec des fiches femelles pour les relier sur la mainboard à l'emplacement S0 comme ceci (la fiche rouge, brun et orange) :

Image

Schéma de montage :

Image

Mise à jour du firmware

Maintenant que le matériel est installé, il faut mettre à jour le logiciel pour lui faire prendre en charge la sonde.

Attention : cette opération vous fera perdre la reprise de l'impression en cas de coupure de courant.

Le firmware que je voulais vous proposer était basé sur le travail de Systemik, publié sur Github à l'adresse suivante : https://github.com/systemik/Marlin/

Cependant, j'ai eu quelques soucis qui m'empêchent de le publier pour le moment, je vais donc vous partager le lien d'un firmware basé sur le travail de Euk_rob de Thingiverse. Téléchargez le firmware à l'adresse suivante : https://www.dropbox.com/sh/igl7ny8afryajq1/AADOUzbKtO8QfU5q04TysJdna?dl=0

Outre l'ajout de la gestion de la sonde de nivellement, la réparation d'innombrables petits bugs, il supprime le son de démarrage de la i3 Mega (ce son ne manquera à personne) et il apporte quelques légères améliorations de la qualité d'impression.

Commencez par télécharger ce nouveau firmware ici :

Ensuite, branchez votre imprimante en USB sur votre PC en utilisant le câble fourni par Anycubic. Installez le pilote de l'imprimante si ce n'est pas déjà fait (le pilote est fourni sur la carte SD vendue avec l'imprimante).

Ensuite, ouvrez Cura et cliquez sur "Settings > Printer > Manage printers", sélectionnez votre imprimante dans la liste et cliquez sur "Upgrade firmware".

Cherchez le firmware téléchargé plus haut et validez.

Attendez que tout se termine (peut prendre 1 ou 2 minutes). Ensuite, éteignez l'imprimante et rallumez-la.

En l'allumant, vous devriez entendre la sonde se mettre en route (3-4 claquements). Vous êtes maintenant prêt à tester une impression !

Réglage du niveau et préparation de Cura

Faites une première fois le niveau de votre plateau comme vous le faites habituellement. Ca nous servira de base de travail.

Dans le firmware, il est indiqué que la sonde est située à 1mm sous la buse. Vous pouvez ajuster ce paramètre en fonction de vos observations.

Dans Cura, allez dans "Settings > Printer > Manage printers", sélectionnez votre imprimante et cliquez sur Machine Settings. Dans la section "Start G-code", ajoutez les lignes suivantes (celles en gras) :

G21 ;metric values
G90 ;absolute positioning
G28; Home axis
M851 Z-0.65;
G29; Enable Auto Bed Levelling (ABL)
M500; Save firmware
M420 S1; Enable BLTouch
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 ; Home the axis I hope
G1 Z15.0 F3600 ;move the head up 15
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm
G92 E0 ;zero the extruded length again
G1 F3600

La ligne en rouge sert à ajuster la position de la buse par rapport au plateau. Ajustez-la de la manière suivante :

Au-dessus de 0, la buse est top proche du plateau, vous voulez l'éloigner (exemple : 0.4mm est plus éloigné que 0.2mm)

Inférieur à 0, la buse est trop éloignée du plateau et vous désirez la rapprocher (exemple : -0.7mm est plus proche que -0.5mm)

Pour commencer à tester, je vous conseille de mettre -0.6, voir si la première couche est trop haute, si c'est le cas, abaisser au fur et à mesure. Ca peut prendre un certain temps à ajuster mais une fois que vous aurez trouvé le bon paramètre, vous n'aurez plus à le changer :)

Lancez enfin une première impression d'un objet fraîchement découpé dans Cura, vous devriez retrouver le même comportement en début d'impression que dans la vidéo suivante :

Problème !

Tout semblait bien se dérouler jusqu'au moment où j'ai voulu lancer des impressions en qualité max (0,1mm d'épaisseur de couches)... Le filament commençait à fondre bien trop tôt dans la hotend et finissait pas le boucher !

La place commence à manquer dans le charriot de l'axe X, il va falloir l'ouvrir pour qu'il s'aère ! Enfin, il va falloir trouver une parade.

Heureusement la communauté des makers est là et a déjà pensé à tout !

Les pièces suivantes sont à imprimer dans un matériaux résistant à la chaleur, je l'ai fait en PETG, vous pouvez le faire en ABS aussi ou même mieux : en résine si vous avez le matériel requis.

https://www.thingiverse.com/thing:2428939

Sur la source, plusieurs versions sont disponibles, j'ai pris la première version où les ouvertures latérales sont découpées, la dernière version dispose d'une grille pour éviter de mettre ses doigts sur le ventilateur. A vous de voir la version que vous préférez.

Il vous faudra aussi 4 boulons M3x12 et 4 écrous M3.

Ensuite, enlevez le capot de l'imprimante pour le remplacer par les éléments fraîchement imprimés :

Image

Maintenant, l'air peut à nouveau circuler librement dans la tête d'impression ! Idéalement, il faudrait aussi simplifier le câblage en remplaçant les connecteur Noctua par des soudures, mais ce sera pour une autre fois !

Conclusion

Ce nouvel accessoire permet à l'imprimante de compenser les défauts de planéité du plateau. Au final ça permet de rater moins souvent ses impressions et d'obtenir de meilleurs résultats pour les premières couches.

Le fait de devoir changer le firmware est indispensable et permet de continuer à améliorer certains réglages ou certaines fonctions de l'imprimante. D'autres améliorations sont en préparation et suivront ;-) Merci à Anycubic d'avoir partagé le code source de la i3 Mega. Merci à tous les bidouilleurs dont Petrzmax et Euk_rob pour leurs guides dont je me suis inspiré et à tous les autres anonymes ou pas d'avoir adapté Marlin et avoir ajouté les fonctions de base de la i3 Mega dessus !