Tutoriel Marlin 1.1.9 + Touch-MI (version 2)
13 janvier 2019Dans ce tutoriel en image nous vous proposons la mise à jour vers Marlin 1.1.9 avec un firmware pré-configuré pour l’installation d’un capteur de nivellement automatique Made in France : le Touch-MI.
Le firmware passe votre affichage en Français avec des options supplémentaires à l’écran. Même si la manipulation est très détaillée n’oubliez pas qu’une mauvais manipulation de votre part pourrais entrainer un mauvais fonctionnement de l’imprimante voir une carte mère qui ne répond plus.
Si vous souhaitez aider le site Ender3.fr à vivre et ainsi à vous proposer de nouveaux tutoriels n’hésitez pas à laisser un petit don en cliquant ci-dessous
Informations concernant la mise a jour en Marlin v1.1.9 :
La carte mère d’origine ne comporte pas assez de mémoire, vous allez donc perdre la reprise sur coupure.
MISE à JOUR V2, les rajouts (Merci à HOTENDS.fr) :
Réglage TouchMi directement à partir du menu
Nozzle Park
Réglage PID directement à partir du menu
Linear Advance
Baby Stepping Z
Advanced Paused Feature
Code promo pour le Touch-MI : ENDER3FR qui va vous donner –5% sur le capteur disponible chez www.hotends.fr
Matériel nécessaire pour la mise à jour du Firmware Marlin v1.1.9 (valable pour d’autres versions comme la 1.1.8) et l’intégration d’un TouchMi.
Un Arduino UNO : https://amzn.to/2Aw8ico
Des câbles : https://amzn.to/2PqvDo3
Un Touch-Mi (Made in France !) : http://www.hotends.fr/fr/home/64-capteur-auto-leveling-touch-mi.html
Et tant qu’à faire une jolie petite boite imprimée par vos soins pour y mettre le UNO 😉 : https://www.thingiverse.com/thing:628929
Logiciels : Arduino v1.8.5, Pronterface,
Installation du logiciel Arduino
Téléchargez ARDUINO v1.8.5 à cette adresse (attention à bien prendre la v1.8.5 et pas la dernière 1.8.7 à ce jour):
https://www.arduino.cc/download_handler.php?f=/arduino-1.8.5-windows.exe
Installez le et laissez les valeurs par défaut :
Paramétrage d’Arduino
Nous allons ensuite le préparer, pour cela ouvrez Arduino
et allez dans Fichier puis Préférences
Cliquez sur le bouton URL de gestionnaire de cartes supplémentaires, collez cette adresse :
https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json et validez avec OK puis de nouveau sur OK dans la fenêtre des Préférences.
Ensuite allez dans Outils, Type de carte, Gestionnaire de carte
Dans Type laissez à Tout et à côté tapez sanguino
Vous verrez apparaitre la carte Sanguino by Kristian Sloth Lauszus, cliquez simplement sur Installer et laissez faire
Une fois fini d’installer vous aurez cette fenêtre qui vous dira INSTALLED, vous pouvez ensuite la quitter par Fermer
Nous allons ensuite avoir besoin d’une librairie supplémentaire nommée u8glib
Un peu de la même manière que l’installation de la carte sanguino nous allons rechercher cette bibliothèque pour l’inclure dans Arduino
Allez dans Croquis, Inclure une bibliothèque et Gérer les bibliothèques
Recherchez U8glib, cliquez dessus et faites Installer
A la fin de l’installation vérifiez que la bibliothèque est bien INSTALLED et vous pouvez quitter par Fermer
Configuration de l’Arduino UNO
Afin de préparer la carte mère de la Ender3 il vous faut charger le bootloader à l’aide d’un Arduino UNO en mode programmateur.
C’est le moment de brancher l’Arduino UNO en USB à votre ordinateur (notez au passage la petite pub ^^ )
Afin de l’utiliser comme un programmateur il faut le configurer dans ARDUINO.
Pour cela il faut aller dans Fichier, Exemples, ArduinoISP, et sélectionner ArduinoISP
Une deuxième fenêtre Arduino s’ouvre :
Ensuite nous allons configurer le type de carte pour l’Arduino UNO, son port COM sur lequel il est branché et son type de programmateur.
Tout ce passe dans le menu Outils :
Type de Carte : On choisit Arduino UNO
Port : On choisit le port COM sur lequel est branché le UNO (ici c’est le COM7)
* Pour retrouver sur quel port est branché le UNO il faut ouvrir le gestionnaire de périphériques et développer la catégorie Ports COM :
Tant qu’on y est on peut aussi choisir le Programmateur (ça nous sera utile pour téléverser le Firmware tout à l’heure)
Programmateur : On choisit Arduino as ISP
Quand toutes ces étapes sont faites on peut téléverser dans l’Arduino avec la petite flèche vers la droite qui se situe dans un rond :
Et voilà, l’Arduino UNO est prêt à être branché sur la carte mère de notre Ender3 !
Branchement de l’Arduino UNO sur la carte mère Melzy de la Ender3
Le branchement est très simple, il suffit de suivre le schéma ci-dessous. Pour accéder à la carte mère il faut dévisser 3 petites vis qui tiennent le capot. (Pensez à débrancher le ventilateur lorsque vous retirez le capot car il est fixé sur la carte mère via son connecteur.)
MELZI/UNO :
MISO va sur MISO
SCK va sur SCK
RESET va à la borne 10 du UNO
5V sur le 5V
MOSI sur le MOSI
GND sur GND
Vous ne pouvez donc pas vous tromper, la seule chose c’est la borne RESET de la carte mère de la Ender3 qui va sur la borne D10 du UNO.
Voilà, c’est branché ! Faites attention, lorsque vous posez le UNO, de ne pas mettre en contact les soudures du dessous avec un élément du châssis qui serait conducteur. D’où l’intérêt d’imprimer la petite boite pour le mettre dedans.
Allez hop on va passer aux choses sérieuses avec la mise en place du bootloader sur la Ender 3 !
Branchez votre PC à l’imprimante via le port USB en façade de la Ender3 qui se situe à côté de l’emplacement pour la micro-SD. Profitez-en pour retirer la carte Micro-SD si vous en avez une dans le slot (je ne pense pas que ça soit obligatoire mais autant le faire). Branchez également l’Arduino UNO à votre PC en USB.
On repasse sur notre logiciel Arduino, vous commencez à maitriser la base pour gérer les différentes cartes et ports désormais.
Téléchargez notre pack Ender3.fr_MarlinV1.1.9_Touch-MI_V2.zip et décompressez le dans un répertoire afin de le retrouver facilement. Vous devriez avoir désormais un dossier Ender3.fr_MarlinV1.1.9_Touch-MI_V2.zip que vous allez ouvrir afin de lancer Marlin.ino qui se trouve sous le répertoire Marlin.
Ce Firmware est la version 1.1.9 de Marlin allégé et configuré pour prendre en charge un Touch-Mi (Merci Hotends.fr). La commande M503 est désactivée pour laisser de la place à la compilation. Si vous souhaitez régler vos steps/mm faites le avant du coup pour noter les valeurs et les intégrer ensuite.
Si vous souhaitez simplement flasher le firmware sans ajouter le Touch-Mi vous pouvez prendre le Marlin 1.1.9 officiel et désactiver ce dont vous n’avez pas besoin dedans pour la compilation.
Chargement du bootloader
L’Arduino UNO et l’imprimante sont donc branchés à votre PC en USB.
Dans Outils sélectionnez le Type de carte à Sanguino (en bas de la liste en général)
Dans Outils, Processeur, choisir ATmega1284 or ATmega1284P (16Mhz)
Pour le port sélectionnez celui sur lequel est branché votre arduino, même méthode que pour trouver le port de l’Arduino UNO tout à l’heure. Normalement il devrait être identique.
Dans programmateur si vous avez bien suivi le tutoriel vous devriez avoir Arduino as ISP, si ce n’est pas le cas sélectionnez le dans la liste (attention il ne s’agit pas de ArduinoISP mais bien Arduino as ISP).
On peut lancer le chargement du bootloader en sélectionnant dans le menu Outils, Graver la séquence d’initialisation
Et voilà, si tout va bien et que vous avez bien suivi ce tutoriel le bootloader est injecté. On peut désormais débrancher l’Arduino de la carte mère et du PC.
Normalement vous avez un écran bleu sur l’écran de la Ender3, c’est normal car nous avons flashé la séquence d’initialisation il n’y a donc plus de firmware.
Mise à jour de Marlin 1.1.9 ender3.fr
C’est assez simple, il suffit de définir le bon port COM qui correspond cette fois ci à celui de l’imprimante sur le PC. Ce port COM devrait logiquement être différent de celui de tout à l’heure.
Pour le Touch-MI : Il faut préciser à combien de mm de la buse se situe le capteur en X et Y
ça se trouve dans le fichier configuration.h ouvert dans le logiciel Arduino
Cherchez la ligne X_PROBE_OFFSET_FROM_EXTRUDER et ajoutez vos valeurs (ligne 796) :
#define X_PROBE_OFFSET_FROM_EXTRUDER -45 // X offset: -left +right [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
// Certain types of probes need to stay away from edges
#define MIN_PROBE_EDGE 10 (c’est la marge du plateau pour, par exemple, éviter de palper les pinces)
Dans mon cas le capteur se situe a 45mm à gauche de la buse donc -45mm sur l’axe X et il est a 10mm devant la buse en Y donc -10mm
J’ai mis le palpage sur un carré de 6×6 soit 36 points, vous pouvez le descendre à 5 soit 25 points. (ligne 1040)
// Set the number of grid points per dimension.
#define GRID_MAX_POINTS_X 6
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
On va tester le firmware avant de l’injecter (bouton en jaune ci-dessous) :
Un message d’avertissement va s’afficher pour vous dire que vous êtes à la limite de la taille mémoire disponible. Ce n’est pas grave car vous êtes dans les clous.
Vous pouvez donc téléverser dans l’imprimante en appuyant sur le bouton avec la petite flèche
Une fois la compilation terminée vous aurez un message vous disant que c’est effectué et un beau Marlin 1.1.9 sur votre Ender3 😉
Installation du Touch-MI
Installation validée pour le Hero v2 et le Hero Me, le fichier STL à imprimer est disponible ici : Hero Me (fonctionne aussi pour le Hero V2)
Ainsi que le STL pour le module d’activation automatique : Module d’activation Touch-MI pour Ender3
Matériel nécessaire : Vis M3x10mm x1 et écrou M3 x2
Pour le FAN d’origine et le support aimant les fichiers sont disponibles ici : Ender 3 Touch-Mi Origine
Matériel nécessaire : Vis M3x16mm x2 et écrou M3 x1
Le capteur doit être placé à 2mm (max) au-dessus de votre buse lorsque celle-ci colle au plateau.
Cablâge :
Le Touch-MI se branche à la place du Z-limit switch pour les câbles GND (noir) et SIGNAL (jaune). On récupèrera le 5V (rouge) sur un autre endroit de la carte mère. Cet endroit vous le connaissez car vous y avez branché votre UNO tout à l’heure 😉
On va donc utiliser le connecteur livré avec pour faire nos branchements. Les fils dans les connecteurs peuvent être enlevés en soulevant la petite patte qui les retient à l’arrière, ça va vous permettre de les déplacer si besoin (exemple pour se brancher à l’emplacement du z-limit switch)
Pour passer le câble dans la gaine de la Ender3 j’ai passé un premier fil semi-rigide dedans jusqu’au boitier de la carte mère et j’ai attaché le câble du Touch-Mi au bout puis tiré le tout. L’installation est propre et sécurisée.
Pour le 5V on se pique sur la borne de la carte mère que l’on a utilisé pour le UNO :
Pour le GND et le signal on se mets à la place du Z-limit switch : attention il y a un sens, branchez d’abord la masse et regardez si la diode s’allume sur le capteur. Si ce n’est pas le cas inversez le fil et ça devrait s’allumer.
Une fois tout cablé vous pouvez retirer votre z-limit switch car il ne servira plus.
Réglage du Z-offset pour le Touch-MI
Avant de commencer le réglage pensez à tirer sur le petit PIN pour activer le capteur (deux diodes allumées et PIN vers le bas)
Etape 1 :
Controler puis Touch-MI et 1-Init Touch-MI
Le chariot va venir se positionner au centre du lit d’impression.
Etape 2 : Réglage du Z-Offset
Placez une feuille de papier sous votre buse et faites descendre votre axe Z à l’aide de la molette de l’écran. Votre buse doit frotter légèrement sur le papier.
Etape 3 : Enregistrement de la valeur
Commandes à rajouter :
Sous votre logiciel de tranchage (CURA, S3D, etc) il faut rajouter deux commandes dans le G-Code de démarrage. Ces valeurs doivent être placées sous le G28 (home)
G29; (initialisation du capteur)
G1 Z1; (désactivation du capteur en faisant rentrer le PIN)
Réglage du start g-code pour faire la palpation après la chauffe du plateau et avant la chauffe de la buse.
Code à mettre dans votre g-code de démarrage sur votre slicer (CURA car S3D n’accepte pas ce code pour la chauffe de la buse après palpage) :
Ender 3 Custom Start G-code/Touch_MI
G28 ; Home all axes
M140 S{material_bed_temperature} ;Start heating bed
M190 S{material_bed_temperature} ;Wait for bed to reach temp before proceeding
G29;
M104 S{material_print_temperature} ;Start heating extruder
M109 S{material_print_temperature} ;Wait for extruder to reach temp before proceeding
G1 Z1;
G1 Z15 F6000 ; Z @15mm ;Prime Extruder
G92 E0;
G1 F200 E3;
G92 E0;
Si vous souhaitez régler vos PID de façon automatique c’est faisable via la commande du menu suivante :
Une fois PID Autotune lancée, laissez l’imprimante faire le job, elle rentrera les valeurs toute seule une fois finie.
Voilà, j’espère que ce petit tutoriel vous aura aidé à mettre à jour votre imprimante et installer votre capteur de nivellement Touch-MI
Si vous souhaitez aider le site Ender3.fr à vivre et ainsi à vous proposer de nouveaux tutoriels n’hésitez pas à laisser un petit don en cliquant ci-dessous
Bonjour,
J’ai effectué la MAJ vers Marlin 1.1.9 avec ce tuto step by step.
C’est très clair et j’ai eu aucun soucis particulier.
Néanmoins, j’ai un soucis majeur depuis cette MAJ : quand je commande “origine auto” sur la ender, la buse se met direct en X : 155, Y:120.
A ma grande stupéfaction, dans la photo du display de la ender plus haut dans ce tuto (juste avant l’installation du “Touch Mi”), il y a exactement les mêmes coordonnées en X /Y sur cette photo!!!
N’y aurait il pas dans le G-CODE de cette MAJ une ligne de code qui fixe comme origine ces 2 coordonnées?
Merci.
Bonjour, Oui c’est la position d’attente pour le TouchMi. C’est dans le marlin à modifier si besoin.