Pourquoi changer de Firmware ?

Pourquoi changer de Firmware ?Qu’est ce que “Le Firmware” ?

Le firmware, aussi appelé micrologiciel, est le programme installé sur la carte électronique de l’imprimante. Il sert à interpréter les ordres “Gcode” en mouvements des moteurs, changement de températures et ventilation.

Mais si un firmware d’origine est déjà installé sur votre imprimante, pourquoi changer?

Souvent, les firmwares d’origines sont bridés avec des paramètres “sans échecs”, c’est à dire des vitesses maximums bridées et en cas de mise hors tension les paramètres reviennent par défaut.
Il s’agit là d’un choix commercial pour éviter les problèmes.

Chose à savoir: Les paramètres du firmware agissent comme des limites maximum. Exemple: le Gcode ordonne un changement de position à 200mm/s sur X, le firmware est paramétré à 100mm/s maximum sur X, le mouvement se fera à 100mm/s.

Souvent les personnes qui changent de Firmware le font pour avoir la possibilité de stocker des nouvelles valeurs dans l’EEPROM (mémoire) ou pour avoir des fonctions supplémentaires.

Comment changer de firmware:

Vous aurez besoin du logiciel Arduino IDE ainsi que la version du firmware souhaité (exemple : Marlin ou Repetier host)
Sachez que l’édition du Firmware nécessite de maitriser l’Anglais car le firmware de base n’est pas forcément compatible avec votre machine sans le modifier

Suite de l’exemple pour le firmware Marlin (sélection Sosimprimante3d.fr)

Dans le répertoire de votre firmware ouvrez le fichier “Marlin.ino”
La quasi totalité des paramétrages se situent dans l’onglet configuration.h
Une valeur “#define …” est une valeur active
Une valeur “//#define …” est une valeur inactive

Voici une liste des principaux paramètres que vous aurez à changer :

  • Le type de carte électronique (liste des cartes dans l’onglet boards.h) #define MOTHERBOARD …..
  • Le nombre d’extrudeurs #define EXTRUDERS …
  • Le type de thermistors installés (la plupart sont des 100kΩ donc type 1) #define TEMP_SENSOR_….
  • Les pas par millimètres des axes X/Y/Z/E #define DEFAULT_AXIS_STEPS_PER_UNIT ….
  • La vitesse max des axes X/Y/Z/E #define DEFAULT_MAX_FEEDRATE  …
  • L’accélération max des axes X/Y/Z/E #define DEFAULT_MAX_ACCELERATION
  • Le Jerk (ou vitesse minimum à partir de laquelle l’accélération est prise en compte) X/Y/Z/E  #define DEFAULT_XJERK…
  • Le sens des axes #define INVERT_X_DIR…
  • La taille du volume d’impression X/Y/Z #define X_MAX_POS…  
  • La possibilité de sauvegarder des modifications via le LCD #define EEPROM_SETTINGS

En cas de doutes orientez vous vers les groupes d’entraide sur les réseaux sociaux.

Une fois votre firmware personnalisé vous n’avez qu’a brancher votre imprimante en USB (il n’est pas nécessaire de la brancher sur une prise de courant) et cliquer sur “Téléverser” (flèche vers la gauche)

Lors d’une mise à jour du firmware (exemple: Marlin de la version 1.1.0 à 1.1.1) vous ne devez en aucun cas copier l’intégralité de l’onglet configuration.h, mais modifier chaque valeur à la main pour conserver le formatage et les autres valeurs de l’onglet.