Le firmware Marlin

Affichage LCD

Automatic Bed Leveling (ABL)

29/12/2013 - Fork Marlin Labsud

Notes de JP Civade

Ce firmware est basé sur la dernière version disponible au 29/12/2013 sur le repo Marlin d'Erik Zalm, soit après l'intégration du pull request 673 (https://github.com/ErikZalm/Marlin/pull/673). Il faut utiliser la branche V1.0.

Cela supporte les imprimantes Delta, l'auto Zero du bed, de multiples variantes de LCD et bien d'autres choses encore.

Il a été cloné afin de répondre à un besoin de simplification pour les utilisateurs d'imprimantes 3D au lab :

- Des librairies nettoyées des variantes matérielles inutiles (sanguino, etc..) et modifiées pour être compatible avec les 2 environnements de développement Arduino (1.xx et 0.23).

- Un fichier configuration.h préconfiguré pour les différentes variantes mécaniques d'imprimantes produites, notamment :

  • Une vitesse de transmission de 115200 bauds pour être compatible Linux
  • Le support par défaut d'une carte Ramps 1.3 ou 1.4, avec 1 tête chauffante, 1 ventilateur et un bed (configuration 33)
  • Thermistances EPCOS 100k sur le bed et la tête chauffante
  • Un temps de démarrage après préchauffage (TEMP_RESIDENCY_TIME) de 1 seconde au lieu de 10 secondes
  • Le PWM des chauffages validé et configuré pour des têtes Jhead ou Jwattellier, et pour un bed chauffant MK1, MK2 ou MK2a
  • Une configuration spécifique du PID pour la tête et le chauffage du bed
  • L'orientation logicielle du sens de de déplacement des moteurs en fonction de la conf par défaut des machines
  • De commentaires abondants sur le paramétrage de la partie mécanique, avec les formules de calcul et des régalges par défaut adaptés aux machines
  • Vitesse du homing du 2 descendue de 4*60 à 2*60
  • Support des différents types de courroie (GT2=2mm, XTD3=3mm, et 2.5mm)
  • Des limites mécaniques adaptées aux machines
  • Températures de préchauffe par défaut du bed sur de l'ABS passée de 100 à 110 degrés.
  • Le support de l'E2prom préactivé
  • Un contrôleur LCD reprap discount préactivé

Usage :

Première installation de l'environnement Arduino si ce n'est déjà fait :

  • Installer Arduino 1.0.x sur votre ordinateur
  • Le lancer une fois et le quitter afin qu'il crée le répertoire de projet personnels. Il se situera dans votre répertoire home et se nommera Arduino

Récupération et adaptation des sources

  • Récupérer l'archive de la version 1 ( https://github.com/labsud/Marlin/archive/Marlin_v1.zip) et la décompresser
  • Déplacer les 2 sous répertoires “libraries” et “Marlin” vers votre répertoire de projet “Arduino”
  • Lancer à nouveau l'environnement Arduino, sélectionner une carte Mega 2560, le port série ou vous l'avez raccordée et chargez le sketch “Marin”

Configuration : Un bloc de configuration dans le fichier configuration.h vous permet de sélectionner votre config (lignes 414 à 460). Il suffit de commenter (mettre devant) les lignes que vous ne désirez pas, et enlever les devant sur celle que vous désirez. Il n'y a que 3 lignes à modifier…. Cela concerne le pas des courroies qui peut être en 2.5mm, 2mm (GT2) ou 3mm (HTD3).

Programmation :

  • Envoyez le sketch à la carte….

Détails de configuration

Le firmware est par défaut configuré pour des courroie de 3mm (HTD3).

Un bloc de configuration dans le fichier configuration.h vous permet de sélectionner votre config (lignes 414 à 460). Il suffit de commenter (metre devant) les lignes que vous ne désirez pas, et enlever les devant sur celle que vous désirez. Il n'y a que 3 lignes à modifier….

Exemple pour passer du HTD3 au GT2

Avant :

//-------------------------------------------------------------------------------
// Pour les "Prusa Labsud" en 16/e de pas, courroie HTD3, poulies 16 dents
//-------------------------------------------------------------------------------
// Avec extrudeur greg wade reloaded et engrenages 9/47e
#define DEFAULT_AXIS_STEPS_PER_UNIT {3200/3.0/16, 3200/3.0/16, 3200/1.25,788} // steps per mm
#define DEFAULT_MAX_FEEDRATE          {500, 500, 4, 18}    // (mm/sec)  
#define DEFAULT_MAX_ACCELERATION      {800,800,100,10000}  // (mm/sec/sec)
 
//-------------------------------------------------------------------------------
// Pour les "Prusa Labsud" en 16/e de pas, courroie GT2, poulies 16 dents
//-------------------------------------------------------------------------------
// Avec extrudeur greg wade reloaded et engrenages 9/47e
// #define DEFAULT_AXIS_STEPS_PER_UNIT {3200/3.0/16, 3200/3.0/16, 3200/1.25,788} // steps per mm
// #define DEFAULT_MAX_FEEDRATE          {500, 500, 4, 18}    // (mm/sec)  
// #define DEFAULT_MAX_ACCELERATION      {800,800,100,10000}  // (mm/sec/sec)

Après :

//-------------------------------------------------------------------------------
// Pour les "Prusa Labsud" en 16/e de pas, courroie HTD3, poulies 16 dents
//-------------------------------------------------------------------------------
// Avec extrudeur greg wade reloaded et engrenages 9/47e
// #define DEFAULT_AXIS_STEPS_PER_UNIT {3200/3.0/16, 3200/3.0/16, 3200/1.25,788} // steps per mm
// #define DEFAULT_MAX_FEEDRATE          {500, 500, 4, 18}    // (mm/sec)  
// #define DEFAULT_MAX_ACCELERATION      {800,800,100,10000}  // (mm/sec/sec)
 
//-------------------------------------------------------------------------------
// Pour les "Prusa Labsud" en 16/e de pas, courroie GT2, poulies 16 dents
//-------------------------------------------------------------------------------
// Avec extrudeur greg wade reloaded et engrenages 9/47e
#define DEFAULT_AXIS_STEPS_PER_UNIT {3200/3.0/16, 3200/3.0/16, 3200/1.25,788} // steps per mm
#define DEFAULT_MAX_FEEDRATE          {500, 500, 4, 18}    // (mm/sec)  
#define DEFAULT_MAX_ACCELERATION      {800,800,100,10000}  // (mm/sec/sec)