Salut les makers ! La partie hardware étant finie, je m’attaque à la mise en place de tout l’environnement software de l’imprimante 3D. Je suis sous un Ubuntu, donc ce sera du 100% open source ! Au programme : Arduino et logiciel « host » Repetier.
Arduino :
Afin de fonctionner correctement, l’imprimante 3D est pilotée par une carte électronique qui va centraliser toutes les informations afin de commander les moteurs, la température de chauffe, écouter les différents capteurs (fin de courses, thermistance,…). Cette carte fait le lien entre le PC (et les fichiers 3D) et la partie hardware de l’imprimante. Doté du nom d’Arduino cette carte est open source (pas protégée par des droits d’auteurs), et permet de piloter tous types de systèmes (drone, robot, imprimante 3D, système d’arrosage,…) à condition bien sûr de la programmer pour ça !
Donc la première étape est d’envoyer une suite de paramètres et d’informations (le firmware) à la carte Arduino afin que celle ci fonctionne en mode « imprimante 3D ». On téléverse (upload) donc ces informations directement dans la carte, qui les stockera par la suite.
Etant sous Ubuntu, j’ai simplement décompressé l’archive « Arduino » présente dans le power pack d’eMotionTech (tous les logiciels peuvent se trouver un peu partout sur le Net…) et exécuté le programme qui va permettre d’uploader le firmware. Après deux-trois réglages (type de carte : Mega2560 et port série émulé usb ttyACM0), on ouvre le fichier contenant le code source du driver. A savoir les drivers « Marlin », avec le fichier « marlin.ino » (pour ma part).
Parenthèse importante : la communication PC<=>arduino se fait via le port série émulé sur un port usb. Il faut donc rentrer quelques lignes de commandes dans ubuntu afin de donner les droits d’utilisation de votre utilisateur sur le port série (groupe « dialout » normalement). J’ai eu d’autres petits problèmes concernant les droits sur les fichiers à exécuter, ou ceux qu’Arduino doivent modifier. Mais en trifouillant un peu, ça marche. Vous trouverez les lignes de commandes et pas mal de réponses sur le forum RepRap.
S’ajouter au groupe dialout (pour utiliser port série) :
sudo usermod -a -G dialout votre_nom_utilisateur
Une fois le fichier marlin.ino chargé dans le logiciel d’Arduino, il suffit de cliquer sur le bouton « Téléverser » afin de communiquer le firmware à la carte électronique. Après quelques secondes, votre carte Arduino fonctionnera en mode « imprimante 3D » suite à un magnifique « Firmware téléversé » !
Lancer arduino (dans le dossier arduino):
sh arduino
Voici un lien vers le site officiel ou vous pouvez télécharger votre logiciel Arduino.
Host et Slicer :
Donc une fois votre carte Arduino configurée, il faut un logiciel host et un slicer. ? Kézako ?
Le logiciel host (pour moi : Repetier) : il permet d’ouvrir simplement des fichiers 3D, et de les envoyer (via l’usb) vers l’imprimante. L’host sert aussi de logiciel de commande et de réglages de l’imprimante (mais je ne suis pas encore à cette étape). Ce qui veut dire que vous allez pouvoir « paramétrer » votre imprimante 3D. Par exemple, c’est grâce au logiciel host qu’on va définir à quelle température le hotend va monter, quelles sont les coordonnées « home » de la machine (x0,y0 et z0) et pas mal d’autres paramètres. Suite à un problème de hardware (thermistance cassée lors du montage), je n’ai pas encore pu creuser les fonctionnalités de Repetier, mais j’ai déjà pu ouvrir des fichiers 3D et découvrir les paramètres les plus importants.
Script à exécuter pour installer repetier (dans le dossier repetier) :
sudo sh configureFirst.sh
Le Slicer : le slicer est une partie très importante du processus d’impression. Pour faire simple, il va transformer un fichier 3D au format .stl en Gcode (re-kézako ??). Le Gcode c’est une suite d’instructions qui vont être envoyées à l’imprimante 3D, et qui vont permettre d’imprimer la pièce. Le Gcode, c’est une sorte de carte d’identité de votre objet. C’est ce code, assimilé par Arduino, qui va permettre de « dessiner » la pièce. « Vas à droite, vas à gauche, monte d’un cran, fais un carré,… » voilà ce que pourrait être du gcode en français… 😉 Différents slicers existent, tous plus ou moins optimisés, mais je ne connais pas encore grand chose sur eux, je n’ai pas encore eu l’occasion de passer aux phases de calibrage de mon imprimante 3D, et donc d’imprimer un semblant de pièce. Le slicer est un logiciel différent de l’host, mais en revanche, il est intégré dans l’host.
Donc, à l’heure ou j’écrit cet article, Arduino refuse de fonctionner car il ne reçoit pas la température de l’extrudeur à cause de la thermistance cassée, et du coup je suis bloqué. Mais je vais en acheter une dès demain, et j’espère pouvoir imprimer mes premiers petit tas de plastique ( 😉 phase de calibrage) dès demain soir !!
Bonus : j’ai aussi eu une énorme chance ! Un de mes potes bosse dans la construction de satellites (vive Toulouse), et il m’a refilé un matériau relativement intéressant pour mon imprimante 3D. C’est une feuille d’alu recouverte d’un côté d’un matériaux isolant. Ça se travaille très facilement, et il suffit de découper aux ciseaux, et de plier la feuille pour lui donner la forme voulue. J’en ai donc profiter pour refaire le cache de protection de la partie électronique (qui était en carton jusque là :-s ), pour transformer mon imprimante 3D en véritable machine de l’espace. Mouahahaha, merci Boucher !
La suite dans le prochain épisode ! (et peut être une première pièce !)
Le tuto complet :
- Imprimante 3D – RepRap (Prusa Air V2) – Début du montage
- Imprimante 3D – RepRap (Prusa Air V2) – Installation du lit
- Imprimante 3D – RepRap Prusa Air V2 – Axe Y
- Imprimante 3D – RepRap Prusa Air V2 – Axe Z et X
- Imprimante 3D – Prusa Air V2 – Lit chauffant, courroie X et extrudeur
- Imprimante 3D – extrudeur, fin de course, câblage
- Imprimante 3D open source – Les joies du bricolage
- Montage imprimante 3D : enfin fini !
- Imprimante 3d – Arduino, repetier, slicer, électronique
- Montage RepRap – Finalisation et calibrage
@++
thermistance récupérée : ce soir, c’est le GRAND soir… 😀
Salut,
Je suis actuellement sous Fédora et je recherche un tuto pour le prog
Salut, comment ça « pour le prog » ? Tu cherches un tuto pour gérer Arduino sous Fedora ? Pour repetier ? Merci de préciser…
@+
bonjour
quel code arduino ou c++ avez vous utiliser pour la programmation.
merci
Bonjour, le firmware est celui fourni par la société qui m’a vendu l’imprimante : emotion-tech. Il est disponible gratuitement sur leur site, et j’imagine que de nombreux sites répertorient ce firmware (à commencer par le portail reprap officiel).
Bonjour, peut-on activer les sorties de la carte Arduino en fonction de l’avancement de l’impression de la pièce ?
( pour commander des electrovannes par exemple)
Bonne question, j’en sais rien ! XD
Super intéressant ! Du coup comment fonctionnent les imprimantes avec lesquelles ont peut envoyer les fichiers 3D par clef usb ou carte sd ? ça marche comment dans ce cas précis ? Merci.