Upgrade Alfawise U20

Introduction :

L’Alfawise U20 est de base bien, mais il faut prévoir quelques améliorations : TL-Smoothers, bumper sur les moteurs, capteur de filament en plastique si s’use très vite (mort en un mois)…, mais aussi et c’est le point qui m’a fait le plus hésiter à l’achat : la carte mère propriétaire avec firmware propriétaire.

Après avoir lu beaucoup de review sur l’U20, la Tevo Tornado, la Cr10s, j’ai décidé de me prendre l’U20 en prévoyant de la modifier au fur et à mesure.

Vous allez me dire que pour la Tevo et la Cr10, j’aurai pu flasher le firmware comme je voulais, mais ce qui m’intéressait le plus était de pouvoir mettre des drivers TMC2208 (ultrasilentieux, pas de salmon skin) et là les cartes de la Tevo et de la Cr10 ont les drivers soudés et j’avais pas envie de bidouiller directement la carte mère.

J’ai comparé les cartes et j’ai eu le choix en gros (après un premier gros écrémage) entre la MKS SBASE et la MKS GEN L.

  • La MKS SBASE est une 32bits, tourne avec Smoothieware (avec qui je ne suis pas à l’aise) et les drivers sont soudés (et de base c’est des DRV8825)
  • La MKS GEN L est une 8 bits, tourne avec Marlin (lui je l’adore) et les drivers, ben il n’y en a pas on met ce qu’on veut !

Le choix a été assez rapide, je voulais des TMC2208, la différence entre le 8 et le 32bits pour une imprimante cartésienne est pas super importante donc je suis parti sur la MKS GEN L !

1. Ma liste de courses :

Et me voilà parti pour le 11/11 sur Aliexpress à la chasse aux soldes pour faire l’upgrade de mon U20 : 

Soit en gros un total de 106,22$ (93€ en gros). pour une imprimante achetée à la base 225€.

2. Modélisation pour adapter la MKS GEN L, le BL touch…

Bien évidement, toutes les cartes mères ne sont pas pareilles et donc il faut adapter tout ça. J’avais téléchargé une base pour adapter ma U20, mais il fallait que je coupe les petits ergots du boitier pour le fixer, du coup j’ai remodélisé le mien.
Première étape : adapter la nouvelle carte dans le boitier pour ça il faut le petit socle suivant : ICI

Un nouveau fan duct et un nouveau support pour l’endstop X : ICI.

3. Le montage de la nouvelle carte :

Alors là on trouve pas mal de videos très bien faites pour le montage, surtout bien repérer quel fil contrôle quoi sur la carte d’origine car certains ne sont pas marqués.

4. L’écran MKS TFT23 :

Bine que je me serves d’Octoprint comme serveur d’impression, j’aime bien avoir un écran pour pouvoir contrôler mon imprimante lord du changement de filament par exemple.
Ayant des dimensions différentes de l’écran de base, j’ai fait un adaptateur que vous pouvez trouver ICI.

5. Configuration de Marlin :

Ma partie préférée ! Celle ou il faut programmer la nouvelle carte et donc commencer à toucher à Marlin !

5.1 Configuration de base :

Tout d’abord, il faut régler tous les petits détails ! reprendre les les dimensions d’impression, les pas suivant les axes / extruder, régler les end-stops …
Etant dans l’optique dès le montage de partir sur un BL-Touch, je vous donne les étapes de configuration sans détailler le BL-TOUCH, ça sera dans le second point.

Je suis donc parti sur Marlin v1.1.9 téléchargeable sur le site de Marlin. On l’ouvre avec Arduino et on part dans le fichier Configuration.h. Et j’ai fait les modifications suivantes (en espérant ne pas en oublier :

#define MOTHERBOARD BOARD_MKS_GEN_L
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
#define TEMP_SENSOR_BED 1
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_DRIVER_TYPE  TMC2208_STANDALONE
#define Y_DRIVER_TYPE  TMC2208_STANDALONE
#define Z_DRIVER_TYPE  TMC2208_STANDALONE
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2208_STANDALONE
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 100*100/94 }
#define DEFAULT_MAX_FEEDRATE          { 300, 300, 15, 25 }
#define DEFAULT_MAX_ACCELERATION      { 3000, 3000, 100, 10000 }

#define DEFAULT_ACCELERATION          500    // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION  500    // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION   500    // X, Y, Z acceleration for travel (non printing) moves

#define DEFAULT_XJERK                 10.0
#define DEFAULT_YJERK                 10.0
#define DEFAULT_ZJERK                  2.7
#define DEFAULT_EJERK                  5.0
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true
#define X_BED_SIZE 295
#define Y_BED_SIZE 300

Pour le X je le définit à 295 car je perd 5mm à cause du nouvel extruder.

#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 400
#define EEPROM_SETTINGS 

La plus part de mes modifications ici sont des changements de valeur ou décommander des lignes.

5.2 Le BLTouch :

Car j’ai pris l’habitude d’avoir un capteur sur ma Prusa (et que franchement c’est très pratique d’en avoir un) j’ai craqué sur un petit BL-Touch.

voici ce que j’ai modifié dans Marlin :

#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define BLTOUCH
#define X_PROBE_OFFSET_FROM_EXTRUDER -55  // 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 -1   // Z offset: -below +above  [the nozzle]
#define AUTO_BED_LEVELING_BILINEAR
#define Z_SAFE_HOMING

Et voilà rien de plus à faire pour installer le BL-Touch ! en le cablant suivante :

5.3 Le ruban led RGB :

Je suis tombé par hasard sur ce petit tutoriel qui m’a donné envie d’intégrer un ruban led RGB a mon U20. J’y ai fait quelques petites modifications que je vais vous montrer.

Dans pins.h :

#elif MB(MKS_GEN_L)
  #include "pins_MKS_GEN_L.h"         // ATmega1280, ATmega2560                     env:megaatmega1280 env:megaatmega2560
  #define STAT_LED_RED_PIN 4
  #define STAT_LED_GREEN_PIN 5
  #define STAT_LED_BLUE_PIN 6

Dans marlin_main.ccp Je remplace comme décrit pas le tutoriel, mais avec ce code réajusté (il y a eu des changements de variables avec les changements de version de Marlin) code-led.

Bien sur vous pouvez télécharger mon archive de Marlin déjà configuré ici :
Marlin U20. 

6. Premiers tests et premiers retours :

Premier point et très important, quand j’imprime le seul bruit qui vient de l’imprimante provient des ventilateur ! Les impressions aussi sont plus lisses (réellement plus lisses, fini les petites boules que je pouvais avoir sur certaines pièce).

Vous aimerez aussi...

3 réponses

  1. Morgan dit :

    Coucou, c’était ça la surprise 👏🏻👏🏻👏🏻
    Au top mon jipé
    Biz à toi

  2. stephcache dit :

    Upgrade intéressant et c’est dommage que sa soit pas fait des le début avec U20.
    Par conte, tu a choisi quoi comme ventilateur et sont-il silencieuse (combien de db) ?
    Marlin prend en conte le code M600 ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Résoudre : *
6 ⁄ 3 =