SaJa 3D
L'impression tridimensionnelle, ou stéréolithographie, est une technique de production industrielle développée pour le prototypage rapide en plastique, cire ou métal1. Issue du MIT (Massachusetts Institute of Technology), elle permet de produire un objet réel à partir d'un fichier CAO en le découpant en tranches puis en déposant ou solidifiant de la matière couche par couche pour, en fin de compte, obtenir la pièce terminée. Le principe est donc assez proche de celui d'une imprimante 2D classique : les buses utilisées, qui déposent de la colle, sont d'ailleurs identiques aux imprimantes de bureau. C'est l'empilement de ces couches qui crée un volume.
Les applications vont de l'industrie (la production de voitures, d'avions, de bien de consommation, etc), à la visualisation de projets, de vérification d'ergonomie pour l'architecture ou les études de design.
Cette technique est aujourd'hui (2012) limitée à l'utilisation de matériaux non propices à un usage intensif et donc ne produit que des prototypes, parfois grandeur nature, mais l'usage qui en sera fait dans l'avenir reste un sujet de recherche et de débat.
L’imprimante 3D est donc une imprimante tridimensionnelle.
Sommaire |
Introduction
Depuis quelques années, les imprimantes 3D sont de plus en plus utilisées que ce soit par des particuliers ou des entreprises. On peut trouver sur internet une multitude d’imprimante DIY crée par des passionnés.
Les plus connus sont les RepRap qui ont la particularité de se reproduire toute seule (dans le sens où les pièces sont imprimables).
Après avoir construit une CNC que j’ai nommé CNC Apple en bois, j’ai décidé de passer à un modèle plus petit (3x moins) et de me construire mon imprimante 3D qui fait aussi CNC en installant le flexible de la Dremel ainsi que pen-plotter en fixant un stylo.
Je m’étais fixé un budget de moins de 500€ (prix d’achat de la PrintrBot) pour une question de rentabilité.
J’ai nommé mon imprimante SaJa 3D.
Prix total : 320€
Vous trouverez donc dans ce wiki le design de SaJa 3D basé sur la PrintrBot, la liste du matériel complète, la construction en contreplaqué de 5mm, la programmation de l’Arduino et les essais.
Pour pouvez télécharger ce rapport au format PDF.
Hardware
Le Design
Le design de la SaJa 3D est largement tiré de la PrintrBot, une imprimante 3D crée par Brook Drumm.
Je l’ai modélisé sur Solidworks (Student Version) en m’aidant des schémas de la Printrbot.
Etant nouveau à Solidworks, j’ai dû y passer quelques semaines pour finir l’imprimante.
Le volume de travail est de 10cm3.
Liste du matériels
Les moteurs pas à pas
Description
Ce moteur pas à pas bipolaire (4 fils) est un classique dans le monde des CNC. C’est celui que j’ai utilisé pour ma CNC Apple. Avec une vitesse max de 250 tr/min et un couple de 2Kg.cm, il est suffisamment puissant pour mon imprimante.
Spécifications
- 200 pas par révolution, de 1,8 degrés
- Pas à pas bipolaire, nécessite un pont en H ou un driver Easydriver
- 4-fils, 30cm de câble
- 42mm, corps carré
- 31mm, trous de montage carrés, 3mm vis métriques (M3)
- 5mm de diamètre arbre d'entraînement, 24mm de long, avec un méplat usiné
- Une tension nominale de 12V (vous pouvez mettre une tension inférieure, mais le couple va baisser) à 350mA max
- 20 N.cm, 2 kg.cm de couple de maintien par phase
- 35 ohms par enroulement
Prix
14.95€ par moteur 74.75€ pour 5 moteurs
Fournisseur
Alpha-Crucis (Frais de port gratuit après 100€)
Très bon site, délai de livraison un peu long si la commande est bien rempli mais sinon c’est du Sparkfun français.
Les drivers
Description
Ce driver permet de contrôler et d’alimenter votre moteur pas à pas tout en sécurité. Il possède deux pins pour le contrôle : STEP et DIR STEP pour le pas DIR pour la direction
ATTENTION : Par défaut les easydrivers sont en 1/8ème pour les microsteps, donc un moteur de 200pas se commandera en 200*8=1600pas.
Spécifications
- A3967 pilote micropas
- MS1 et MS2
- Compatible avec 4, 6, 8 fils pour les moteurs pas à pas
- Commande de réglage de courant de 150mA/phase à 750mA/phase
- Gamme d'alimentation de 7V à 30V.
Prix
12.75€ par driver 63.75€ pour 5 moteurs
Fournisseur
AlphaCrucis (Frais de port gratuit après 100€)
La visserie
Les vis utilisées sont des vis six pans M4 principalement avec des écrous carrés ou héxagonaux.
J’ai décidé d’utiliser des vis six pans pour la facilité de vissage mais des vis à têtes plates aurait très bien pu aller.
Toute la visserie a été commandée sur internet pour une question de prix sur Bricovis.
Spécifications/Prix
Type | Quantité | Prix |
Vis M3x10 | 20 | 1.12€ |
Vis M4x12 | 50 | 2.7€ |
Vis M4x16 | 50 | 3€ |
Vis M4x20 | 50 | 3.2€ |
Vis M4x35 | 50 | 3€ |
Vis M4x45 | 50 | 3€ |
Vis M8x20 | 50 | 3€ |
Total | 200 | 15€ |
Fournisseur
L’Arduino
Description
L'Arduino est une plateforme programmable avec un microcontrôleur Atmel.
Je l'utilise grâce c'est relativement plus facile à programmer et je peux l'utiliser dans d'autre projet.
Prix
- 19.90€
Fournisseur
- Alpha-crucis
L’extrudeur
Description
L’extrudeur que j’utilise est appelé « Wade’s geared extruder ». J’ai choisi cet extrudeur par défaut. Il me paraissait bien. J’ai fait imprimer la partie plastique en 3D à un gars du forum de RepRap pour 15€. Sachez qu’il est possible de la faire faire en bois en trouvant les plans sur thingiverse. Pour la partie Hot End, je l’ai achetée.
- Thermistor NTC Class 100K : Honeywell 100K Thermistor (135-104LAG-J01)
Prix
15€ (fdp compris) pour l’ensemble 3D (bloc/engrenages) 40€ (11€ de fdp non compris) pour la partie Hot End (Nez, roulements, PTFE, résistance,…)
Fournisseur
A2aprinter
Le contreplaqué
C’est du contreplaqué en peuplier de 5mm d’épaisseur. Il est relativement léger. Découpe laser d’où les traces de brulures.
Prix
49.50€ pour le tout frais de port compris. En optimisant l’espace sur le plan il y a moyen de réduire les frais.
Fournisseur
Damengo (Service client très bien, il vérifie même les erreurs, envoi rapide)
Les barres rondes
Prix
15€ les 6m (besoin de moins de 2m)
Fournisseur
J’ai acheté les barres rondes en acier étiré chez Schmerber Prolians
Les tiges filetée
Prix
- 1.50€ le mètre en M8
Fournisseur
- Castorama
Les poulies et courroies
La courroie est en plastique et la poulie en acier. Le diamètre intérieur de la poulie est de 4mm donc il faut l’augmenter à 5mm pour passer dans le moteur.
Prix
- Poulies Acier XL037, 13dents, pas 5.08mm : 2.03€ TTC la poulie soit 4.06€ les deux
- Courroies XL037, Largeur 9.52, Longueur 975.4mm : 5.93€ TTC
- Circlips extérieur 15mm pour les roulements : 1€ le circlips, 4€ les 4
Fournisseur
- Tridistribution (super long environ 2 semaines de délai, prix HT, Frais de port de 8.5€, minimum de commande de 25€HT, mais pas cher)
Les coupleurs
Les coupleurs ont deux diamètres différents, un de 8mm pour la tige filetée et un de 5mm pour le moteur.
Ceux que j'ai acheté fonctionnent mais le fait qu'ils aient une sort de découpe au centre les rend flexible.
Prix
4.23€ le coupleur soit 8.46€ les deux
Fournisseur
Ebay (Prendre coupleur 5mm to 8mm)
Les roulements
Description
Ce sont des roulements LM8UU, diamètre intérieur de 8mm pour les barres rondes.
Prix
7.94€ pour un pack de 12 (SaJa 3D en nécessite 10)
Fournisseur
Ebay (fdp gratuit)
Total
Type | Fournisseur | Quantité | Prix/unité | Prix |
---|---|---|---|---|
Moteurs | AlphaCrucis | 5 | 14.95 | 74.75 |
Drivers | AlphaCrucis | 5 | 12.75 | 63.75 |
Arduino | AlphaCrucis | 1 | 19.90 | 19.90 |
Visserie | VisNFix | 1 | 10 | 10 |
Contreplaqué | Damengo | 1 | 49.50 | 49.50 |
Barre ronde | Schmerber | 1 | 5 | 5 |
Tige filetée | Castorama | 1 | 1.50 | 1.50 |
Poulies | Tridistribution | 2 | 2.03 | 4.06 |
Courroies | Tridistribution | 1 | 5.93 | 5.93 |
Coupleurs | Ebay | 2 | 4.23 | 8.46 |
Roulements | Ebay | 10 | 7.94 (sac de 12) | 7.94 |
Extruder | A2aprinter | 1 | 50 | 50 |
Extruder body | Forum Reprap | 1 | 15 | 15 |
314€ |
La construction
J’ai reçu, quelques jours après l’avoir commandé, ma SaJa 3D découpée au laser dans du contreplaqué peuplier de 5mm.
Il y avait quelques traces de brûlures mais rien de bien important. J’ai été assez surpris par la légèreté de l’ensemble, la prochaine je la ferai sûrement dans un matériau plus lourd.
Fichier:Saja 2.jpg Fichier:Saja 3.jpg Fichier:Saja 4.jpg Fichier:Saja 5.jpg Fichier:Saja 6.jpg
J'ai eu deux problèmes de mis conception.
Problème #1
On peut voir que la vis est impossible à mettre car elle tape dans la barre qui sert d'axe. Pour résoudre le problème il me faut faire un autre trou un peu plus bas.
Problème #2
Il est déjà moins génant, mais je ne pouvais pas mettre le support dremel à cause des têtes de vis.
La solution est simple, un coup de rabotage.
Le cablâge
Il faut câbler les fils des moteurs sur l’Easydriver dans l’ordre suivant :
A (carré) = Rouge A (rond) = Jaune B (rond) = Vert B (rond) = Marron
La mise en service
Du côté moteur tout fonctionne correctement après avoir coller les poulies aux moteurs.
SaJa 3D : Software
La partie logicielle diffère en fonction de l’utilisation et de l’OS utilisé. Personnellement je suis sous Mac OSX Snow Léopard mais j’utilise aussi Windows 7. Le principe suivant fonctionne sous les deux.
UPDATE : On peut utiliser Solidworks Student Edition avec eDrawings pour exporter l’objet 3D en STL en enregistrant au format solidworks puis en l’ouvrant dans eDrawings et ex l’exportant en .STL.
Imprimante 3D
Processus
Logiciels nécessaires
Il faut télécharger les logiciels suivants.
SketchUp
SketchUp est disponible pour Mac et Windows.
L’utilisation est relativement simple donc pas de tutoriel ici.
Téléchargements :
- Mac
- Windows
Script SketchUp à DXF/STL
Ce script converti votre objet 3D en un fichier STL en le découpant.
Il faut le mettre dans le dossier suivant :
Mac :
'Disque dur'/Bibliothèque/Application Support/SketchUp 8/SketchUp/Plugins
Windows :
C:/Program Files/Google/SketchUp 8/Plugins
Téléchargement :
- Script (Source)
ReplicatorG
ReplicatorG est un logiciel open source qui permet de piloter une imprimante 3D en lui donnant un fichier STL ou directement un fichier GCode. Nous l’utiliserons avec le STL. L’avantage est qu’il peut envoyer des commandes via le port série ce qui nous permet de commander l’Arduino directement.
Téléchargements :
Slic3r
J'utilise slic3r aussi pour transformer le .stl en .gcode.
Arduino
Le software de l’Arduino (GCode_interpreter) modifié par mes soins est l’ancien soft utilisé par RepRap. Il récupère les commandes GCode sur le serial et les envoie au moteur sur leur pins STEP et DIR. Il gère les arcs de cercle et les accélérations. J’ai un autre programme qui utilise le même principe mais qui envoie les commandes aux moteur qui sont contrôlé par des ponts en H. Personnellement j’avais déjà acheté les easy drivers mais il est possible de faire ses propres drivers avec des ponts en H.
La liste des GCodes possibles est en annexes.
Téléchargements :
- Arduino pour Mac
- Arduino pour Windows
- [Programme pour l’Arduino] (.pde) avec les easy drivers
Déroulement
Etape 1 (SketchUp)
Créer sous SketchUp un objet quelconque, par exemple un cube :
PHOTO CUBE
Etape 2 (STL)
Exporter votre cube en fichier .STL avec le script Ruby.
Etape 3 (ReplicatorG)
Il faut configurer ReplicatorG, ce qui n’est pas chose facile au début.
Jeter un coup d’œil au site du créateur pour plus d’informations.
Il faut utiliser le driver « serial pass through driver » en le configurant correctement.
<driver name="serialpassthrough"> <portname>COM1</portname> <rate>19200</rate> <parity>N</parity> <databits>8</databits> <stopbits>1</stopbits> </driver>
Vous trouverez ici la configuration (.xml) de SaJa 3D.
Connecter votre Arduino.
Importez votre fichier STL.
Jouer avec les paramètres.
Exporter votre GCode.
Envoyer le GCode via le port sérial (enfin pas tout de suite vu qu’il n’y a rien dans l’Arduino pour l’instant.
Etape 4 (Arduino)
Brancher l’Arduino au PC. Ouvrir GCode_interpreter.pde
Paramètrer le GCode interpreter en fonction de l’installation (numéro de pins et STEP_MM)
Uploader le GCode_interpreter.
Ouvrez le port sérial et tester le bon fonctionnement des moteurs en faisant :
G1 X10 Y10 Z10
Revenir à ReplicatorG et lancer le GCode.
CNC & Pen-plotter
Pour une CNC le principe est différent.
Processus
Logiciels nécessaires
Se référer à la section 3.1 pour SketchUp, le script ruby et l’Arduino.
PyCAM
PyCAM est un générateur de GCode pour l'usinage 3 axes. Il charge les modèles 3D au format STL ou modèles 2D à partir de fichiers DXF ou SVG. Le GCode qui en résulte peut être utilisé avec n'importe quel contrôleur.
Je ne vais pas expliquer le fonctionnement de PyCAM, pour plus d’informations, se référer au site web : http://pycam.sourceforge.net/
Téléchargements
- PyCAM
Déroulement
Etape 1
Créer dans SketchUp (STL), InkScape (SVG), ou autres (DXF) votre objet 2D à graver.
Problèmes
Les moteurs ne tournent pas correctement
Si les moteurs se bloquent, fait du bruit, tournent un peu et s'arrêtent, c'est que la vitesse est mal régléé ou que le courant est pas assez élévéé.
Solutions
- Diminuer la vitesse (ou l'augmenter)
- Augmenter le courant sur l'easydriver en tournant le potentiomètre
Bilan
Le prochain projet serait de faire un Extrudeur à granule de fil de 3mm pour éviter d’avoir à acheter du PLA en bobine qui coûte cher.
Développer PyCAM pour implémenter le transfert via le sérial.
Annexes
GCode
- G0 - Mouvement Rapide (Vitesse max par défaut pour tout les axes)
G0 X10 Y20 Z30
- G1 - Mouvement coordonné pour obtenir une ligne droite (Vitesse max = F en unité/min)
G1 X10 Y10 Z30 F300
- G2 - Arc - Horaire
- G3 - Arc - Anti Horaire
- G4 - Attente (P en ms)
G4 P1000
- G20 - Inches as units
G20
- G21 - Millimeters as units
G21
- G28 - Go Home
G28
- G30 - Go Home via Intermediate Point
G30 X10 Y20
- G90 - Absolute Positioning
G90
- G91 - Incremental Positioning
G91
- G92 - Set current as home
G92
ou
G92 X10 Y25