Tutoriel installation MKS sur Ender 3 (Pro)
8 avril 2019Installation, configuration et utilisation d’une carte mère MKS GEN L v1.0
Auteurs :
Jérémie LEPRETRE, Loïc ABMESELELEME, Clément BOUCHET, Pierre AVISSE et le groupe de discussion MKS sur notre page Facebook.
Mars 2019 V1
Prérequis
Le passage de la Creality ender 3 (pro) n’est pas une tâche compliquée. Néanmoins il est important de travailler dans un espace suffisant grand et dégagé, de prendre son temps et ne pas sauter les étapes. Une bonne organisation permettra une conversion de l’imprimante dans de bonnes conditions. Avant de sauter le pas ne pas hésiter à se documenter sur les composants et sur marlin ! Veuillez lire tous les documents avant de commencer ! Bon travail !
Outils.
Voici une liste non exhaustive des outils nécessaires pour la modification de la Ender 3 (pro) :
- Multimètre 0-250V
- Kit de mini tournevis
- Pince coupante
- Pince à dénuder
- Kit de mini pince
- Pince à sertir
- Cutter
- Fer à souder
- Pistolet colle chaude
- …
Matériels.
Voici la liste du matériels nécessaires pour la modification de la ender 3 (pro) :
- Carte mère MKS GEN L V1.0
- Drivers (X, Y, Z, E)
- Moteur origine de la ender 3 (pro)
- Écran Creality
- Box ou adaptateur pour monter la carte mère
- Kit visserie
- Option :
- Touch-mi
- Écran TFT
- Lecteur de carte SD
- Fin de filament
Installation et branchement.
Installation de la carte mère
- Installer la carte mère dans son emplacement (nouvelle box ou adaptateur)
- Retirer les jumpers en fonction des drivers utilisés :
-
- Pour des TMC2208 : ne garder que les cavaliers les 2 plus à gauche (proche des borniers)
- Installer les drivers
- Connecter l’alimentation 24V
- Régler les Vref des drivers (avant d’avoir branché les moteurs)
Axe | A4988 | TMC 2208 | TMC2130 | LV8729 |
X | 0,725 | |||
Y | 0,725 | |||
Z | 0,725 | |||
E | 0,9 |
Branchement des éléments (suivant la photo) :
- E1 pour l’extrudeur
- En haut à gauche dans le prolongement de la rangé des drivers : connecteur 12v/24V blanc pour le ventilateur filament (24V)
- Ventilateur radiateur du hotend : à repiquer directement sur le 24V (attention au sens de rotation, il doit souffler sur le hotend) ou sur la prise Fan à gauche
- Penser à retourner de 180°le connecteur pour le LCD qui sera le Exp1 (bord à droite, juste sous les drivers)
- Brancher les moteurs
- Mettre des points de colle chaude sur les connecteurs pour ces derniers ne se détachent pas
Marlin et réglage.
Les informations ci-après correspondent aux réglages nécessaires pour configurer un Marlin de base. Ils sont à adapter en fonction de vos paramètres et la source du marlin. Des packs de Marlin préconfiguré sont disponibles à la fin à la fin du tuto
Fichier config.h.
- Définir la carte mère :
#define MOTHERBOARD BOARD_MKS_GEN_L
- Définir le filament :
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
- Définir les drivers :
#define X_DRIVER #define Y_DRIVER_TYPE #define Z_DRIVER_TYPE #define E0_DRIVER_TYPE
- Définir les steps : (conserver les steps de la carte mère d’origine)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 95 }
- Définir les vitesses :
#define DEFAULT_MAX_FEEDRATE { 500, 500, 15, 100 }
- Définir les accélérations maximums :
#define DEFAULT_MAX_ACCELERATION { 300, 300, 100, 5000 }
- Définir les accélérations :
#define DEFAULT_ACCELERATION 500 #define DEFAULT_RETRACT_ACCELERATION 500 #define DEFAULT_TRAVEL_ACCELERATION 500
- Définir les jerk :
#define DEFAULT_XJERK 15.0 #define DEFAULT_YJERK 15.0 #define DEFAULT_ZJERK 0.4 #define DEFAULT_EJERK 5.0
- Commenter : (si BL-TOUCH ou Touch-mi voir la partie option)
//#define BLTOUCH
- Commenter :
// #define LEFT_PROBE_BED_POSITION 45 // #define RIGHT_PROBE_BED_POSITION 175 // #define FRONT_PROBE_BED_POSITION 45 // #define BACK_PROBE_BED_POSITION 175
- Définir la direction des moteurs : (directions à confirmer lors des tests)
#define INVERT_X_DIR false #define INVERT_Y_DIR false #define INVERT_Z_DIR true #define INVERT_E0_DIR false
- Définir les endstop position :
#define X_BED_SIZE 235 #define Y_BED_SIZE 235
- Définir les endstop position :
#define X_MIN_POS 0 #define Y_MIN_POS 0 #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 250
- Définir le language :
#define LCD_LANGUAGE fr
- Définir le support sd : (a activer si besoin du support sd voir option)
#define SDSUPPORT
- Définir le buzzer : (A commenter si vous voulez le désactiver)
//#define SPEAKER
- Activer l’écran d’origine :
# define CR10_STOCKDISPLAY (dé-commenté) // #define REPRAP_DISCOUNT_SMART_CONTROLLER (en commentaire)
Fichier config_adv.h.
- Définir Le linear advance: (Commenter si TMC2208 car NON compatible avec TMC2208)
//#define LIN_ADVANCE
Téléverser.
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
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
Branchement carte mère.
Branchez votre PC à la carte mère via le port USB
Téléversement.
On repasse sur notre logiciel Arduino, vous commencez à maitriser la base pour gérer les différentes cartes et ports désormais. Lancer Marlin.ino qui se trouve sous le répertoire Marlin.
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.
Définissez ensuite le type de carte (Outils/ Type de carte/ Arduino/Genuino Mega or Mega 2560)
Et choisir le processeur Atmega 2560 (Outils / Processeur: /ATmega2560 (Mega 2560)
On va tester le firmware avant de l’injecter (bouton en jaune ci-dessous) :
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 sur votre Ender3 😉
Tests.
Avant de lancer la première impression il est important de tester l’imprimante Placer les axes au milieu de leurs courses par sécurité.
- Faire des mouvements des axes x, y, z
- Si les mouvements sont conformes passer à la suite sinon modifier le marlin et téléverser de nouveau
Mettre en chauffe la buse (>200°, Tutoriel lesimprimantes3d.fr)
- Faire des mouvements de E
- Si les mouvements sont conformes passer à la suite sinon modifier le marlin et téléverser de nouveau
Faire un auto-home et mettre le hotend au centre du bed via le LCD
- Vérifier que la position est conforme
- Si la position est conforme passer à la suite sinon modifier le marlin et téléverser de nouveau
Réglage des PIDs (tutoriel Ender3.fr)
- Faire un PID du bed
- Faire un PID du hotend
- Rentrer les valeurs sur la carte mère
Si c’est le marlin de Hotends.fr qui est utilisé, le réglage des valeurs des PID peut être fait directement par le LCD (ne pas oublier de sauvegarder)
Options.
Lecteur SD..
Branchement
- Brancher le lecteur SD comme sur l’image
- Brancher le câble sur le port AUX3 de la carte mère
- Si la led ne s’éclaire pas inverser les connecteurs comme sur l’image
Configuration marlin
- Définir le support sd :
#define SDSUPPORT Téléverser le nouveau marlin suivant la méthode précédente.
Ecran TFT.
- Brancher le câble directement dans le port (un détrompeur empêche de se tromper)
- Brancher sur le port au centre de l’arrière de l’écran (détrompeur aussi)
- Sur le site de github.com, récupérer les fichiers de l’écran choisi
- Les mettre sur une SD vierge et l’insérer dans le port de l’écran
- Allumer l’imprimante et laisser l’écran se paramétrer
- Une fois installé, vous pouvez retirer la carte SD et supprimer les fichiers pour éviter de perdre du temps au prochain démarrage.
Touch-mi
Branchement du Touch-mi Configuration de Marlin
- Indiquez que votre capteur est connecté sur la broche Z_Min de votre carte de contrôle
// @section probes #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
- Décommenter :
#define BLTOUCH
- Indiquez la position du capteur par rapport à votre hotend. Dans cet exemple le capteur se trouve à -22 mm à gauche de la hotend et à 2 mm derrière la hotend. Notez bien que les valeurs peuvent être négatives ou positives suivant la position du capteur.
#define X_PROBE_OFFSET_FROM_EXTRUDER -22 // X offset: -left +right #define Y_PROBE_OFFSET_FROM_EXTRUDER 2 // Y offset: -front +behind
- Définissez une zone de sécurité sur le Z avant l’initialisation des axes X et Y, afin d’éviter que votre capteur ou buse accroche les pinces ou les bords du lit d’impression. Votre Z remontera de la valeur indiquée, içi 20 mm
#define Z_HOMING_HEIGHT 20 // (in mm) Minimal z height before homing (G28)…
- Choisir la méthode de leveling >AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR #define AUTO_BED_LEVELING_BILINEAR //#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING
- Définir le nombre de points de palpage > içi 5 ce qui fait un total de 25 Points (5×5). Définir la taille de la zone a palper (Configurer suivant la taille de votre plateau)
#define GRID_MAX_POINTS_X 5 #define LEFT_PROBE_BED_POSITION 20 #define RIGHT_PROBE_BED_POSITION 278 #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 270
- Activez le « Z Safe Homing », cette option évite que votre Z Home se fasse en dehors du lit d’impression et après le Home des axes X et Y. Dans notre cas le Z Home se fera au milieu de la zone d’impression.
#define Z_SAFE_HOMING
- Téléverser le nouveau marlin suivant la méthode précédente
Pour régler le TouchMi utilisez le guide du tutoriel Marlin 1.1.9 TouchMi v2
BLtouch.
A VENIR
Fin de filament.
Prérequis : Penser à récupérer un capteur de fin de position comme celui du Z-endstop libéré par le Touch-Mi® ou le Bl-Touch® Branchement Imprimer le boitier Il y en a plein de modèle selon la taille de votre capteur (ici, ce n’est pas le capteur du Z-endstop) ou de votre envie
Souder les câbles aux 2 pins les plus éloignées (ou celles dont le statut change (multimètre) si on joue avec la languette) | |
Vis qui vont bien pour ce boitier imprimé : M2 x 12 |
- Se brancher sur la pin 4, sur le D4 (signal) et le GND (masse). Pas d’importance pour le sens
Configuration marlin
- Dans configuration.h : dé-commenter
#define FILAMENT_RUNOUT_SENSOR #if ENABLED(FILAMENT_RUNOUT_SENSOR) #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor. => passer de true a false #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. #define FILAMENT_RUNOUT_SCRIPT “M600“ #endif
- Dans configuration_adv.h : mettre ces paramètres à 0
#if ENABLED(ULTIPANEL) #define ADVANCED_PAUSE_FEATURE 0 #define FILAMENT_CHANGE_UNLOAD_LENGTH 0 #define FILAMENT_CHANGE_LOAD_LENGTH 0 #define ADVANCED_PAUSE_EXTRUDE_LENGTH 0
- Dans pin_ramps.h : définir la pin servant à la réception du signal
//#define Z_MAX_PIN 19 => pour libérer la pin 19 (on a pas de Z_MAX de toute façon) #define FIL_RUNOUT_PIN 19 => on change la valeur de cette variable par une pin libre ou libérée (la 4 pour l’exemple)
Linear advance.
A VENIR
Exemple Touch-mi
Prérequis
- MKS GEN L V1.0 Makerbase
- Drivers TMC2208 Makerbase
- Lecteur SD
- Touch-mi
- Fan duct
- Écran origine Creality
Start code ; Ender 3 Custom Start G-code G28 ; Home all axes G29 ; Autolevel (calcul planéité plateau) G1 Z0.5 ; Désactivation Capteur G92 E0 ; Reset Extruder G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed G1 X3.1 Y20 Z0.3 F5000.0 ; Move to start position G1 X3.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line G1 X3.4 Y200.0 Z0.3 F5000.0 ; Move to side a little G1 X3.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line G92 E0 ; Reset Extruder G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed ; End of custom start GCode
Marlin : Marlin-1.1.9.mks-touchmi.zip
Exemple BLtouch.
Prérequis
- MKS GEN L V1.0 Makerbase
- Drivers TMC2208 Makerbase
- BL-Touch
- Écran origine Creality
Marlin : Marlin-1.1.9_BLTOUCH.zip