Analyse de Marlin : micrologiciel temps réel configurable pour imprimantes 3D
Marlin exécute les mouvements, les chauffages, les capteurs, les affichages et la logique de sécurité sur un contrôleur d'imprimante. Sa portée matérielle et son long historique de maintenance sont précieux, tandis que les erreurs de configuration peuvent causer l'échec des impressions ou des risques physiques.
Positionnement et intérêt
Marlin est un micrologiciel GPL-3.0 pour les imprimantes 3D de style RepRap et les machines de mouvement associées. Il fonctionne comme une application autonome sur la carte contrôleur, coordonnant le mouvement en temps réel, les températures, les capteurs, les affichages et l'entrée utilisateur sans dépendre d'un service cloud.
Usages adaptés
Son utilisation principale est de remplacer, personnaliser ou mettre à jour le micrologiciel sur les cartes d'imprimantes supportées. Il couvre aussi les configurations orientées CNC et laser. Le projet est plus utile quand une configuration de fournisseur existe ou que l'opérateur comprend complètement l'électronique de la machine.
Architecture et fonctionnement
MarlinCore.cpp fournit la configuration et la boucle principale continue. Les couches d'abstraction matérielle couvrent plusieurs familles de microcontrôleurs, tandis que les en-têtes de condition, les cartes de broches et les options de temps de compilation transforment une grande base de code en un binaire spécifique à la carte.
Socle technique et extensions
Le micrologiciel est principalement C++ sur le framework Arduino. Les environnements PlatformIO, les scripts de compilation et la couche d'abstraction matérielle supportent AVR et de nombreuses cartes 32 bits. G-code est l'interface opérationnelle entre le logiciel hôte et le micrologiciel.