Imprimante 3D à chocolat : Différence entre versions

De Wiki d'activités IMA
(Rencontres avec les encadrants)
(Vidéo et rapport)
 
(69 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
+
<include nopre noesc src="/home/pedago/pimasc/include/video-Imprimante3Dchocolat-iframe.html" />
== Cahier des charges ==
+
__TOC__
=== Présentation générale du projet ===
+
<br style="clear: both;"/>
==== Contexte ====
+
= Cahier des charges =
 +
== Contexte ==
 
Les imprimantes 3D sont en plein essor actuellement, sous de plus en plus de formes différentes. De l'imprimante capable d'imprimer de petits objets en une seule couleur, nous passons aux imprimantes multi-fils, celles capables d'imprimer des bâtiments, ou encore celles capables de transformer les aliments. C'est vers ces dernières, encore aux balbutiements, que se dirige notre projet.
 
Les imprimantes 3D sont en plein essor actuellement, sous de plus en plus de formes différentes. De l'imprimante capable d'imprimer de petits objets en une seule couleur, nous passons aux imprimantes multi-fils, celles capables d'imprimer des bâtiments, ou encore celles capables de transformer les aliments. C'est vers ces dernières, encore aux balbutiements, que se dirige notre projet.
  
 
[[Fichier:TasseChocolat.jpg|300px|center]]
 
[[Fichier:TasseChocolat.jpg|300px|center]]
  
==== Description du projet ====
+
== Description du projet ==
 
Nous allons créer une imprimante capable d'imprimer des aliments, et plus précisément, nous nous orientons vers le chocolat. Le chocolat est un aliment bien connu, qu'on sait liquide à chaud et solide à froid. Il semble donc idéal pour commencer.
 
Nous allons créer une imprimante capable d'imprimer des aliments, et plus précisément, nous nous orientons vers le chocolat. Le chocolat est un aliment bien connu, qu'on sait liquide à chaud et solide à froid. Il semble donc idéal pour commencer.
  
Ligne 17 : Ligne 18 :
 
Nous allons reprendre ce projet d'après les premières tentatives d'Antoine Urquizar, du Fabricarium de Polytech.
 
Nous allons reprendre ce projet d'après les premières tentatives d'Antoine Urquizar, du Fabricarium de Polytech.
  
==== Problématiques ====
+
== Problématiques ==
 
Les difficultés auxquelles nous nous attendons à être confrontés, d'après les expériences menées par Antoine, sont les suivantes :
 
Les difficultés auxquelles nous nous attendons à être confrontés, d'après les expériences menées par Antoine, sont les suivantes :
  
Ligne 29 : Ligne 30 :
 
Aucune de ces difficultés ne nous semble bloquante pour le projet. De plus, nous savons que des imprimantes de ce type existent déjà et nous pourrons nous inspirer de ces expériences pour créer notre propre système.
 
Aucune de ces difficultés ne nous semble bloquante pour le projet. De plus, nous savons que des imprimantes de ce type existent déjà et nous pourrons nous inspirer de ces expériences pour créer notre propre système.
  
==== Solutions envisagées ====
+
== Solutions envisagées ==
 
Au travers multiples conversations avec Alexandre Boé et Antoine Urquizar, nous avons envisagées nombre solutions différentes nous confrontant à divers problèmes :
 
Au travers multiples conversations avec Alexandre Boé et Antoine Urquizar, nous avons envisagées nombre solutions différentes nous confrontant à divers problèmes :
  
* Chauffage du chocolat : Dans un réservoir externe puis acheminement du chocolat ou directement dans l'extrudeur. Dans un réservoir, on peut chauffer avec des modules peltiers, ou des thermistances. Dans l'extrudeur, on utiliserai du fil résistif.
+
* Chauffage du chocolat : Dans un réservoir externe puis acheminement du chocolat ou directement dans l'extrudeur. Dans un réservoir, on peut chauffer avec des modules Peltier, ou des thermistances. Dans l'extrudeur, on utiliserai du fil résistif. Un système hydrolique chauffé permettrait un chauffage proche du bain marie, mais entraîne des problèmes d'étanchéité.  
  
 
* Extrudeur : Seringue ou autre. Si on a besoin de chauffer la seringue, le plastique isole le chocolat de chaleur et la passage du piston déforme la localement.  
 
* Extrudeur : Seringue ou autre. Si on a besoin de chauffer la seringue, le plastique isole le chocolat de chaleur et la passage du piston déforme la localement.  
  
* Actionneur de l'extrudeur : Électrovanne ou piston avec verrin ou vis sans fin
+
* Actionneur de l'extrudeur : Électrovanne ou piston avec vérin ou vis sans fin
  
 
* Stockage chocolat : Si le chauffage se fait dans un réservoir externe, on peut l'approvisionner en chocolat. Ce réservoir pourrait être imprimé en 3D à base de PLA qui supporte des températures supérieurs à 100°C. Si on stocke le chocolat dans l'extrudeur, on ne peut imprimer qu'une certaine quantité de chocolat.
 
* Stockage chocolat : Si le chauffage se fait dans un réservoir externe, on peut l'approvisionner en chocolat. Ce réservoir pourrait être imprimé en 3D à base de PLA qui supporte des températures supérieurs à 100°C. Si on stocke le chocolat dans l'extrudeur, on ne peut imprimer qu'une certaine quantité de chocolat.
  
'''Solution retenue '''
+
== Solution retenue ==
  
 
Stockage du chocolat dans un réservoir en métal (type tuyau en cuivre assez large) chauffé par du fil résistif enroulé. Le chocolat fondu est envoyé sous pression grâce à une électrovanne.
 
Stockage du chocolat dans un réservoir en métal (type tuyau en cuivre assez large) chauffé par du fil résistif enroulé. Le chocolat fondu est envoyé sous pression grâce à une électrovanne.
  
[schéma de la solution]
+
[[Fichier:Schéma_de_principe3D.jpg|500px|center]]
  
==== Matériel nécessaire ====
+
== Matériel nécessaire ==
  
 
Pour commencer, nous nécessiterons une imprimante 3D. Nous n'envisageons pas d'y apporter de grosses modifications outre le remplacement de l'extrudeur. Bien que nous envisageons de la placer dans un environnement étanche, pour y contrôler la température.
 
Pour commencer, nous nécessiterons une imprimante 3D. Nous n'envisageons pas d'y apporter de grosses modifications outre le remplacement de l'extrudeur. Bien que nous envisageons de la placer dans un environnement étanche, pour y contrôler la température.
Ligne 65 : Ligne 66 :
 
*joint
 
*joint
  
==== Rencontres avec les encadrants ====
+
== Rencontres avec les encadrants ==
  
 
Nous avons d'abord eu une discussion préliminaire avec Emmanuelle Pichonat pour découvrir sa vision du projet.
 
Nous avons d'abord eu une discussion préliminaire avec Emmanuelle Pichonat pour découvrir sa vision du projet.
Ligne 72 : Ligne 73 :
  
  
==== Bibliographie et documentation ====
+
== Bibliographie et documentation ==
 +
 
 +
En plus des divers liens que vous trouverez tout au long de ce wiki, voici des vidéos qui nous on aidées.
  
 
* https://www.youtube.com/watch?v=4-NYxo6tcjg
 
* https://www.youtube.com/watch?v=4-NYxo6tcjg
Ligne 83 : Ligne 86 :
  
 
* https://www.youtube.com/watch?v=FP06iB1qF8k
 
* https://www.youtube.com/watch?v=FP06iB1qF8k
 +
 +
= Déroulement du projet =
 +
== Partie logicielle ==
 +
=== Labview ===
 +
==== Première version ====
 +
Le projet fonctionnera sur Labview, qui permet d'obtenir une interface facile d'utilisation pour n'importe quel utilisateur. De plus, ce logiciel s'adapte très bien à l'arduino, et il est conçu pour la régulation et la mesure. La principale contrainte de notre projet étant la gestion de la température en sortie de l'extrudeur, et la mesure de la pression, Labview nous semble la meilleure solution.
 +
 +
De plus, c'est l'occasion pour nous de nous familiariser avec ce logiciel très utilisé en industrie.
 +
 +
 +
Pour apprendre à utiliser Labview avec un arduino, nous nous sommes inspiré de ce tutoriel : http://innovelectronique.fr/2012/05/04/arduino-et-lifa-labview-interface-for-arduino/.
 +
 +
 +
Nous avons commencé à créer notre programme qui prend cette allure :
 +
 +
[[Fichier:Faceavant Labview.PNG|250px|thumb|center|Face avant]]
 +
La face avant se compose d'une partie commande à gauche, qui ici consiste simplement en un bouton rotatif qui permet de sélectionner la température désirée dans le tube.
 +
 +
A droite, nous avons les indicateurs : La température actuelle dans le tube, la pression disponible, et un voyant qui passe du vert au rouge en fonction de si la pression est suffisante dans le tube ou non.
 +
 +
 +
[[Fichier:Diagramme Labview.PNG|250px|thumb|center|Diagramme]]
 +
Dans la partie diagramme, le fonctionnement commence par l'initialisation de l'arduino, et se termine par sa fermeture correcte par les blocs "INIT" et "CLOSE". Ces blocs sont proposés par LabView dans un module à installer gratuitement qui permet les commandes de l'arduino.
 +
 +
Dans une boucle while infinie (se termine en pressant "STOP"), les valeurs des ports analogiques 0 et 1 pour la pression et la température sont récupérées, et une fois la correspondance en température effectuée, sont envoyés sur les indicateurs. Ces mesures sont effectuées par un sous-VI (le VI étant le programme Labview) portant l'indice "2" nommé Lecture_analog dont voici le diagramme :
 +
[[Fichier:Lecture_Analog.PNG|250px|center]]
 +
 +
Un bloc "READ" proposé par Labview permet de récupérer directement la valeur analogique en entrée sur le port correspondant.
 +
 +
Dans le même temps, ces valeurs sont comparées à la pression exigée pour le bon fonctionnement du système, et à la température demandée par l'utilisateur.
 +
 +
==== Révision ====
 +
Suite à des problèmes avec le capteur de pression, le programme a été modifié pour en sortir ce paramètre.
 +
 +
De plus, la gestion de la température et la gestion de la pression dans le réservoir ont été séparés en deux sous-programmes différents pour qu'ils puissent s'exécuter simultanément.
 +
 +
Pour réguler la vitesse de chauffe et la vitesse d'extrusion, nous avons également mis en place un système type PWM qui laisse un temps de repos fixe (non-chauffe pour le fil résistif, état fermé pour l'électrovanne), mais qui adapte le temps de chauffe/d'ouverture en fonction de la consigne. Pour le fil résistif, on met en place un PID qui permet de réduire progressivement la chauffe à l'approche de la température demandée, pour éviter un dépassement trop important.
 +
 +
[[Fichier:Faceavant_Labview.PNG|500px|thumb|center|Face avant]]
 +
 +
[[Fichier:Diagramme_Labview_V2.PNG|500px|thumb|center|Diagramme]]
 +
 +
=== Imprimante 3D ===
 +
L'imprimante que nous utilisons est une RepRap Prusa i3[http://reprap.org/wiki/Prusa_i3/fr], et nous avons étudié le logiciel embarqué de notre imprimante 3D : ''Marlin RepRap 3D'', afin de comprendre son fonctionnement et pouvoir y apporter les modifications nécessaire à l'utilisation de notre programme de régulation en parallèle. Ce firmware est OpenSource, disponible sur GitHub[https://github.com/MarlinFirmware/Marlin]
 +
 +
Nous cherchons notamment à pouvoir mettre en pause l'impression lorsque la pression est trop basse.
 +
 +
L'implémentation de ce firmware se fait à l'aide de tutoriels disponible sur internet tels que celui-ci[http://solidutopia.com/fr/configurer-le-firmware-marlin/]
 +
 +
Voici le détail des modifications apportées au firmware :
 +
 +
Dans le fichier configuration.h, nous définissons une variable externe, globale à tous les fichiers, qui indique si l'utilisateur veut imprimer du chocolat ou de manière classique.
 +
[[Fichier:Configuration.png|500px|thumb|center|configuration.h]]
 +
 +
 +
Dans le fichier ultralcd.cpp,  nous ajoutons l'option d'activer ou de désactiver l'impression du chocolat, ainsi qu'une fonction pour modifier l'état de la variable définit précédemment.
 +
[[Fichier:prepare_menu.png|500px|thumb|center|ultralcd.cpp]]
 +
[[Fichier:set_choco.png|500px|thumb|center|ultralcd.cpp]]
 +
 +
 +
Dans le fichier language_en.h, nous ajoutons les messages correspondants à afficher dans le menu prepare. Ces messages ne sont définit qu'en anglais, langue par défaut de l'imprimante.
 +
[[Fichier:language_en.png|500px|thumb|center|language_en.h]]
 +
 +
 +
Dans le fichier Marlin_main.cpp, nous commençons par rappeler la variable d'état, puis nous définissons une variable pour représenter sur quelle pin l'Arduino vas recevoir le contrôle de l'impression.
 +
[[Fichier:main_var.png|500px|thumb|center|Marlin_main.cpp]]
 +
 +
 +
Ensuite, dans la fonction setup, nous indiquons que cette pin est une entrée.
 +
[[Fichier:main_setup.png|500px|thumb|center|Marlin_main.cpp]]
 +
 +
 +
Pour finir, dans la boucle loop, dans le cas où l'utilisateur à choisi le mode chocolat, et que l'on est en train d'imprimer on lit la valeur sur la pin. Si on reçoit un ordre d'arrêt, on execute l'instruction pause. Lorsqu'on reçoit à nouveau l'ordre d'imprimer, on execute l'instruction de reprise.
 +
[[Fichier:main_loop.png|500px|thumb|center|Marlin_main.cpp]]
 +
 +
La version intégrale de notre firmware est disponible ici[https://drive.google.com/open?id=0B_SY6F3ko-U7bmdrMlR0c3lHYUE]
 +
 +
== Partie matérielle ==
 +
 +
Voici la liste complète du matériel que nous utilisons :
 +
 +
Compresseur
 +
 +
Tuyau pneumatique
 +
 +
Raccords en té
 +
 +
Bouteille de soda (réservoir à air comprimé)
 +
 +
Électrovanne
 +
 +
Tuyau en cuivre
 +
 +
Fil résistif
 +
 +
Mousse isolante
 +
 +
Pièces 3D imprimées
 +
 +
Arduino Uno
 +
 +
Imprimante 3D
 +
 +
Résistances x2
 +
 +
Relais électrique
 +
 +
Capteur température
 +
 +
(Capteur de pression)
 +
 +
Transistors x2
 +
 +
Papier sulfurisé
 +
 +
 +
=== Imprimante 3D ===
 +
Nous utilisons une imprimante 3D qui avait été commandée par le fabricarium, mais pas terminée. Nous reprenons le projet en cours, et terminons la conception de l'imprimante.
 +
 +
Le mardi 15 mars, nous avons eu une réunion avec Antoine Urquizar et les deux membres du groupe P28 (travaillant sur l'imprimante 3D multi-fils) pour faire l'inventaire des pièces de l'imprimante pour l'assembler. Il manque des tiges filetées et des courroies. Le cadre de l'imprimante se fera avec la découpeuse laser de l'école.
 +
 +
Nous avons aussi préparé tous les fichiers STL[https://drive.google.com/open?id=0B_SY6F3ko-U7Q1paMkFjVHFWWW8] des pièces manquantes à imprimer au Fabricarium.
 +
 +
Pour assembler l'imprimante, nous suivons le tutoriel suivant[[http://reprapworld.com/documentation/prusa%20i3%20buid%20manual%20v1.0.pdf]].
 +
 +
=== Extrudeur à chocolat ===
 +
 +
L'extrudeur à chocolat sera réalisé selon le schéma de principe montré plus haut.
 +
 +
L'air sera mis sous pression dans une bouteille grâce à un pompe classique type pompe à vélo, ou d'un compresseur si nous en disposons. Par un système de tuyaux en caoutchouc, cet air sous pression est envoyé vers l'électrovanne. Un capteur de pression est intégré à ce circuit fermé pour vérifier que l'impression est toujours réalisable.
 +
 +
A la suite de l'électrovanne, le tuyau en caoutchouc laisse place à un tuyau en cuivre dans lequel est stocké le chocolat fondu. Un fil résistif enroulé autour du tuyau permet de faire fondre le chocolat à 50°C puis 35°C (valeurs à confirmer par des tests), cette température étant vérifiée par un capteur. Le chocolat sera préalablement intégré au tuyaux, sous forme de petits morceaux voir de poudre, ce choix dépendra de nos essais.
 +
 +
 +
Ce chocolat est redirigé, à nouveau grâce à un tuyaux en caoutchouc vers l'imprimante elle-même. Un embout permet d'effectuer la sortie du chocolat du système dans de bonnes conditions.
 +
 +
==== Pièces imprimées en 3D ====
 +
===== Première version =====
 +
Les raccords et l'embout n'existent pas tels que nous les désirons. Nous avons donc décidé de les modéliser en 3D pour les imprimer au Fabricarium.
 +
 +
Nous avions besoin de 3 pièces différentes :
 +
* Un raccord caoutchouc -> cuivre
 +
[[Fichier:Raccord_simple.JPG|300px|center]]
 +
* Un raccord cuivre -> caoutchouc (dans lequel on intègres le capteur de température)
 +
[[Fichier:Raccord_capteur.JPG|300px|center]]
 +
* Un embout pour l'extrusion même
 +
[[Fichier:Embout_choco.JPG|300px|center]]
 +
 +
L'ensemble devant être étanche, puisque nous fonctionnons sous pression, et capable de supporter la température et le chocolat.
 +
 +
 +
Ces pièces ont été créés via SolidWorks, mais un autre logiciel de modélisation aurait pu tout aussi bien fonctionner. [https://drive.google.com/folderview?id=0Bypcx35zZ9WnZVNEMExZMnBBR2M&usp=sharing]
 +
 +
===== Deuxième version =====
 +
Par la suite, nous avons modifié ces pièces pour en augmenter l'épaisseur, et augmenter la surface en contact avec le cuivre et le caoutchouc dans l'espoir de diminuer les fuites d'air.
 +
[[Fichier:Raccords.PNG|500px|center]]
 +
 +
==Test final==
 +
 +
 +
Lors des derniers jours, nous avons assemblé tout notre système pour tenter des impressions de chocolat. Nous en avons extrudé un peu, mais très vite l’étanchéité s’est révélée problématique. Néanmoins, à partir de ces essais, nous avons pu valider notre modèle.
 +
[[Fichier:test_final.png|500px|thumb|center|test_final]]
 +
 +
= Problèmes rencontrés =
 +
== Réalisation de l'imprimante 3D ==
 +
Pour créer l'imprimante 3D qui accueille notre extrudeur à chocolat, nous devions reprendre un projet du Fabricarium à l'abandon. Il a donc fallu faire l'inventaire des composants manquants, et imprimer les pièces restantes.
 +
 +
Lorsque nous avons voulu imprimer ces pièces, pour plusieurs dizaines d'heures d'impression en tous, l'imprimante 3D principale du Fabricarium est tombée en panne. Nous avons dû attendre qu'elle soit réparée pour reprendre notre travail à ce niveau.
 +
 +
== Capteur de pression ==
 +
Par soucis d'économie, nous avons pris un capteur de pression très particulier. Il fait moins de 2mm de coté, avec des pads de 0,17mm de large, ce qui complique énormément la soudure des fils, qui font eux-même à peu près 1mm de large.
 +
 +
Nous avons étudié les différentes solutions possibles pour cette soudure, comme l'utilisation d'un four à refusion. Ces solutions n'étant jamais convenables, nous nous sommes reportés sur une proposition de M. Boé :
 +
 +
Nous avons réalisé une carte électronique qui se compose de 4 pads reliés à 4 pins pour y souder les fils. Les pads du composants seront reliés aux pads de la carte par un brin de fil, soudés à la colle argent. L'opération sera faite sous microscope. Une fois le composant posé et soudé, l'ensemble est recouvert de colle pour maintenir le composant et les fils. L'entrée d'air se fait à travers la carte par un trou d'1mm de diamètre sous le composant. Le tuyaux est donc relié directement à ce trou.
 +
 +
== Commande d'électrovanne ==
 +
Nous avons besoin d'une électrovanne pour gérer toute la pneumatique du système. Nous en avons donc commandé une qui correspondait à nos besoins, mais nous avons passé plusieurs semaines à l'attendre sans résultat.
 +
 +
Suite à un premier appel au fournisseur, nous avons appris que l'électrovanne avait tout simplement été oubliée par leurs services au moment de la commande. Notre demande n'a donc été prise en compte qu'à partir du 09/03.
 +
 +
Par la suite, comme nous n'avions rien reçu suite aux 10 jours d'attente annoncés, nous avons rappelé le fournisseur qui nous a annoncé une nouvelle date ultérieure. Nous avons finalement décidé de commander une autre électrovanne pour espérer l'avoir immédiatement après les vacances.
 +
 +
=Améliorations=
 +
 +
Même si notre système est fonctionnel sur le principe, il est améliorable pour le rendre tout à fait utilisable.
 +
 +
==Isolation==
 +
Le problème principal pour imprimer du chocolat, ou tout autre matériau aussi visqueux, c’est l’étanchéité. Pour commencer, nous avons modélisés nous mêmes certaines pièces de notre extrudeur, que nous avons ensuite imprimés en 3D. Le PLA étant imprimé par couche, il n’est pas totalement étanche, d’autant plus avec les défauts d’impressions. Ces pièces comportaient donc de grosses fuites. Nous avons essayé de pallier à ce problème en augmentant l’épaisseur de nos pièces et en augmentant les surfaces de contact entre les pièces et le tuyau, mais cette solution n’était pas suffisante. La solution logique serait de réaliser ces pièces en métal, en y ajoutant un pas de vis, pour garantir une meilleure étanchéité entre les éléments du système.
 +
Pour s’assurer d’une étanchéité maximale, nous proposons d’incorporer de vrais joints entre les différentes pièces de notre système. Ceux-ci garantiront l’absence de fuites.
 +
 +
==Materiaux==
 +
Si le but est d’imprimer de la nourriture, c’est-à-dire d’ingérer les pièces imprimées, il sera nécessaire de remplacer le cuivre et le PLA par des métaux alimentaires, comme l’acier inoxydable. Pour des raisons économiques et de simplicité d’acquisition, nous avions opté pour le cuivre, qui suffisait amplement pour nos tests.
 +
 +
==Gestion de pression==
 +
===Capteur de pression===
 +
Le capteur de pression acheté ne convenait pas au système, et c’est pourquoi actuellement, nous utilisons le manomètre du compresseur pour mesurer la pression. Cependant, intégrer un capteur utilisable dans le système et lire sa valeur sur l’Arduino Uno est tout à fait envisageable.
 +
===Commande Compresseur===
 +
De plus, pour automatiser totalement la régulation de la pression, nous préconisons l’utilisation d’un compresseur à commande numérique. En modifiant légèrement le code Labview, nous pouvons générer les signaux de commandes pour ce compresseur en fonction de la pression. (i.e. mesure pression trop faible : pause impression – activer compresseur)
 +
 +
==Refroidissement==
 +
Faute de temps nous n’avons pas du tout incorporé de solutions pour refroidir l’impression. De ce fait, notre système pourrait imprimer des objets avec ratio volume/surface faible, tel que des décorations de gâteaux. Si l’utilisateur souhaite imprimer des structures réellement en 3D, alors un système de refroidissement devient nécessaire.
 +
Nous proposons deux pistes de solutions : En premier lieu, il faudrait refroidir le chocolat directement en sortie d’extrudeur, pour cela un petit ventilateur attaché à l’extrudeur et bien orienté, tel qu’on en trouve sur un extrudeur classique, serai tout à fait efficace. Ensuite, si l’imprimante se trouve dans une pièce à température ambiante relativement élevée, il devient cohérent d’isoler l’imprimante à l’aide d’une enceinte thermique refroidie.
 +
 +
 +
==Arduino==
 +
Pour faciliter le développement de notre projet, nous n’avons développé séparément la régulation de température et pression du contrôle de l’impression. Cependant, comme LabView fonctionne avec un programme à implémenter sur l’Arduino, il est envisageable de rassembler les deux, et ainsi, de n’utiliser qu’un seul Arduino, l’Arduino Méga qui a la mémoire suffisante pour accueillir les deux programmes..
 +
 +
==Imprimante==
 +
L’imprimante est fonctionnelle, néanmoins rajouter un peu d’habillage pour éviter que les fils électriques ainsi que les pièces bougent. Un vrai support pour l’écran LCD serait un plus.
 +
Actuellement il manque une pièce pour attacher notre extrudeur à la pièce mobile sur les axes.
 +
 +
Enfin, lorsque l’Arduino Uno ordonne d’arrêter l’impression, il y a un délai avant l’arrêt. Il est dû au fait que l’Arduino Méga charge une série d’instructions qu’il exécute, avant de poursuivre son code. Ce délai, qui provient du firmware original, est une problématique intéressante puisqu’il impliquerait des erreurs d’impression.
 +
 +
=Conclusion=
 +
 +
Nous obtenons une imprimante fonctionnelle, et un extrudeur dont nous avons validé le principe. Néanmoins, certaines améliorations sont nécessaires pour que l’extrusion de chocolat, ou autre matériaux alimentaires, soit opérationnel. Nous espérons avoir construit les bases et proposé les problématiques de futurs projets.
 +
L’imprimante 3D est une technologie fascinante, et ce projet a été avant tout l’occasion de s’y familiariser, par le biais d’impression de pièces, de construction et calibration de l’imprimante et de la compréhension et modification de son firmware. De plus, l’utilisation de Labview et du langage de programmation C++, rarement pratiqués dans le cadre de nos études, constituent une bonne pratique de l’apprentissage par soit même, compétence nécessaire aux ingénieurs.
 +
Enfin, c’était aussi une première réelle expérience de gestion de projet, et de ses aléas. Nous avons notamment rencontrés des problèmes avec un de nos fournisseurs, ce qui nous a retardé. Nous avons néanmoins su nous adapter pour avancer dans le projet.
 +
 +
Suite à notre travail sur le firmware de notre imprimante, l’un de nous a eu l’opportunité de trouver son stage dans l’impression 3D, dans le développement du firmware d’une imprimante 3D à béton.
 +
 +
=Vidéo et rapport=
 +
Vous pouvez trouver la vidéo de notre projet sous différents formats en suivant ce lien : https://drive.google.com/folderview?id=0Bypcx35zZ9WneHFXMkV3VDEtc3c&usp=sharing
 +
Le rapport est lui disponible ici : [[Fichier:P5_Imprimante_3D_à_Chocolat.pdf]]

Version actuelle datée du 14 juin 2016 à 22:57


Vidéo HD


Cahier des charges

Contexte

Les imprimantes 3D sont en plein essor actuellement, sous de plus en plus de formes différentes. De l'imprimante capable d'imprimer de petits objets en une seule couleur, nous passons aux imprimantes multi-fils, celles capables d'imprimer des bâtiments, ou encore celles capables de transformer les aliments. C'est vers ces dernières, encore aux balbutiements, que se dirige notre projet.

TasseChocolat.jpg

Description du projet

Nous allons créer une imprimante capable d'imprimer des aliments, et plus précisément, nous nous orientons vers le chocolat. Le chocolat est un aliment bien connu, qu'on sait liquide à chaud et solide à froid. Il semble donc idéal pour commencer.

La principale problématique se pose dans la création d'un extrudeur adapté au matériau, et le contrôle du milieu environnant (température ambiante notamment) puisque les propriétés du chocolat varient énormément selon ces conditions.

Dans le but d'une utilisation ultérieure plus diverse, nous souhaitons rendre l'asservissement en température ajustable de manière compréhensible pour qu'un tiers puisse adapter la consigne à d'autres aliments que le chocolat.


Nous allons reprendre ce projet d'après les premières tentatives d'Antoine Urquizar, du Fabricarium de Polytech.

Problématiques

Les difficultés auxquelles nous nous attendons à être confrontés, d'après les expériences menées par Antoine, sont les suivantes :

  • Contrôle de la température ambiante : l'environnement d'extrusion doit être modifiable en température de façon à ce que le chocolat se solidifie de manière contrôlée à la sortie de la buse.
  • Étanchéité de la seringue : nous optons pour une seringue contenant le chocolat liquide avant extrusion. Le piston de cette seringue doit être étanche, mais opposer le moins de résistance possible à la poussée du chocolat.
  • Chauffage du chocolat : le chocolat doit être maintenu à une température idéale pour qu'il soit assez liquide pour être extrudé, mais qu'il puisse être stable une fois déposé.
  • Actionneur de la seringue : la manière dont le chocolat sera poussé hors de la seringue. Il faut un système adapté à l'utilisation de l'imprimante, mais pouvant déployer une force suffisante pour agir sur le chocolat.
  • Refroidissement du chocolat : Le chocolat, une fois sorti de la seringue, doit pouvoir être refroidi immédiatement pour que la suite de l'impression se déroule correctement.
  • Stockage du chocolat : Si nous optons pour la méthode de la seringue, le chocolat sera en quantité limitée.

Aucune de ces difficultés ne nous semble bloquante pour le projet. De plus, nous savons que des imprimantes de ce type existent déjà et nous pourrons nous inspirer de ces expériences pour créer notre propre système.

Solutions envisagées

Au travers multiples conversations avec Alexandre Boé et Antoine Urquizar, nous avons envisagées nombre solutions différentes nous confrontant à divers problèmes :

  • Chauffage du chocolat : Dans un réservoir externe puis acheminement du chocolat ou directement dans l'extrudeur. Dans un réservoir, on peut chauffer avec des modules Peltier, ou des thermistances. Dans l'extrudeur, on utiliserai du fil résistif. Un système hydrolique chauffé permettrait un chauffage proche du bain marie, mais entraîne des problèmes d'étanchéité.
  • Extrudeur : Seringue ou autre. Si on a besoin de chauffer la seringue, le plastique isole le chocolat de chaleur et la passage du piston déforme la localement.
  • Actionneur de l'extrudeur : Électrovanne ou piston avec vérin ou vis sans fin
  • Stockage chocolat : Si le chauffage se fait dans un réservoir externe, on peut l'approvisionner en chocolat. Ce réservoir pourrait être imprimé en 3D à base de PLA qui supporte des températures supérieurs à 100°C. Si on stocke le chocolat dans l'extrudeur, on ne peut imprimer qu'une certaine quantité de chocolat.

Solution retenue

Stockage du chocolat dans un réservoir en métal (type tuyau en cuivre assez large) chauffé par du fil résistif enroulé. Le chocolat fondu est envoyé sous pression grâce à une électrovanne.

Schéma de principe3D.jpg

Matériel nécessaire

Pour commencer, nous nécessiterons une imprimante 3D. Nous n'envisageons pas d'y apporter de grosses modifications outre le remplacement de l'extrudeur. Bien que nous envisageons de la placer dans un environnement étanche, pour y contrôler la température.

Ensuite nous aurons besoin de chocolat. Non seulement pour les essais, mais aussi pour déterminer avec précisions certaines données qui varient selon le type de chocolat, telles que les points de fusion et de solidification.

Ainsi que des seringues, solution principale envisagée comme extrudeur.

Pour le contrôle de la température

  • Fil résistif - Module peltier - Résistance de puissance
  • ventilateurs
  • thermistances

Pour l'extrudeur

  • système pneumatique
  • électrovanne
  • joint

Rencontres avec les encadrants

Nous avons d'abord eu une discussion préliminaire avec Emmanuelle Pichonat pour découvrir sa vision du projet.

Ensuite, mardi 01 décembre nous avons rencontrés Alexandre Boé ainsi qu'Antoine Urquizar, avec qui nous avons échangé sur les bases du projets, défini les problématiques et discuté des solutions envisagées.


Bibliographie et documentation

En plus des divers liens que vous trouverez tout au long de ce wiki, voici des vidéos qui nous on aidées.

Déroulement du projet

Partie logicielle

Labview

Première version

Le projet fonctionnera sur Labview, qui permet d'obtenir une interface facile d'utilisation pour n'importe quel utilisateur. De plus, ce logiciel s'adapte très bien à l'arduino, et il est conçu pour la régulation et la mesure. La principale contrainte de notre projet étant la gestion de la température en sortie de l'extrudeur, et la mesure de la pression, Labview nous semble la meilleure solution.

De plus, c'est l'occasion pour nous de nous familiariser avec ce logiciel très utilisé en industrie.


Pour apprendre à utiliser Labview avec un arduino, nous nous sommes inspiré de ce tutoriel : http://innovelectronique.fr/2012/05/04/arduino-et-lifa-labview-interface-for-arduino/.


Nous avons commencé à créer notre programme qui prend cette allure :

Face avant

La face avant se compose d'une partie commande à gauche, qui ici consiste simplement en un bouton rotatif qui permet de sélectionner la température désirée dans le tube.

A droite, nous avons les indicateurs : La température actuelle dans le tube, la pression disponible, et un voyant qui passe du vert au rouge en fonction de si la pression est suffisante dans le tube ou non.


Diagramme

Dans la partie diagramme, le fonctionnement commence par l'initialisation de l'arduino, et se termine par sa fermeture correcte par les blocs "INIT" et "CLOSE". Ces blocs sont proposés par LabView dans un module à installer gratuitement qui permet les commandes de l'arduino.

Dans une boucle while infinie (se termine en pressant "STOP"), les valeurs des ports analogiques 0 et 1 pour la pression et la température sont récupérées, et une fois la correspondance en température effectuée, sont envoyés sur les indicateurs. Ces mesures sont effectuées par un sous-VI (le VI étant le programme Labview) portant l'indice "2" nommé Lecture_analog dont voici le diagramme :

Lecture Analog.PNG

Un bloc "READ" proposé par Labview permet de récupérer directement la valeur analogique en entrée sur le port correspondant.

Dans le même temps, ces valeurs sont comparées à la pression exigée pour le bon fonctionnement du système, et à la température demandée par l'utilisateur.

Révision

Suite à des problèmes avec le capteur de pression, le programme a été modifié pour en sortir ce paramètre.

De plus, la gestion de la température et la gestion de la pression dans le réservoir ont été séparés en deux sous-programmes différents pour qu'ils puissent s'exécuter simultanément.

Pour réguler la vitesse de chauffe et la vitesse d'extrusion, nous avons également mis en place un système type PWM qui laisse un temps de repos fixe (non-chauffe pour le fil résistif, état fermé pour l'électrovanne), mais qui adapte le temps de chauffe/d'ouverture en fonction de la consigne. Pour le fil résistif, on met en place un PID qui permet de réduire progressivement la chauffe à l'approche de la température demandée, pour éviter un dépassement trop important.

Face avant
Diagramme

Imprimante 3D

L'imprimante que nous utilisons est une RepRap Prusa i3[1], et nous avons étudié le logiciel embarqué de notre imprimante 3D : Marlin RepRap 3D, afin de comprendre son fonctionnement et pouvoir y apporter les modifications nécessaire à l'utilisation de notre programme de régulation en parallèle. Ce firmware est OpenSource, disponible sur GitHub[2]

Nous cherchons notamment à pouvoir mettre en pause l'impression lorsque la pression est trop basse.

L'implémentation de ce firmware se fait à l'aide de tutoriels disponible sur internet tels que celui-ci[3]

Voici le détail des modifications apportées au firmware :

Dans le fichier configuration.h, nous définissons une variable externe, globale à tous les fichiers, qui indique si l'utilisateur veut imprimer du chocolat ou de manière classique.

configuration.h


Dans le fichier ultralcd.cpp, nous ajoutons l'option d'activer ou de désactiver l'impression du chocolat, ainsi qu'une fonction pour modifier l'état de la variable définit précédemment.

ultralcd.cpp
ultralcd.cpp


Dans le fichier language_en.h, nous ajoutons les messages correspondants à afficher dans le menu prepare. Ces messages ne sont définit qu'en anglais, langue par défaut de l'imprimante.

language_en.h


Dans le fichier Marlin_main.cpp, nous commençons par rappeler la variable d'état, puis nous définissons une variable pour représenter sur quelle pin l'Arduino vas recevoir le contrôle de l'impression.

Marlin_main.cpp


Ensuite, dans la fonction setup, nous indiquons que cette pin est une entrée.

Marlin_main.cpp


Pour finir, dans la boucle loop, dans le cas où l'utilisateur à choisi le mode chocolat, et que l'on est en train d'imprimer on lit la valeur sur la pin. Si on reçoit un ordre d'arrêt, on execute l'instruction pause. Lorsqu'on reçoit à nouveau l'ordre d'imprimer, on execute l'instruction de reprise.

Marlin_main.cpp

La version intégrale de notre firmware est disponible ici[4]

Partie matérielle

Voici la liste complète du matériel que nous utilisons :

Compresseur

Tuyau pneumatique

Raccords en té

Bouteille de soda (réservoir à air comprimé)

Électrovanne

Tuyau en cuivre

Fil résistif

Mousse isolante

Pièces 3D imprimées

Arduino Uno

Imprimante 3D

Résistances x2

Relais électrique

Capteur température

(Capteur de pression)

Transistors x2

Papier sulfurisé


Imprimante 3D

Nous utilisons une imprimante 3D qui avait été commandée par le fabricarium, mais pas terminée. Nous reprenons le projet en cours, et terminons la conception de l'imprimante.

Le mardi 15 mars, nous avons eu une réunion avec Antoine Urquizar et les deux membres du groupe P28 (travaillant sur l'imprimante 3D multi-fils) pour faire l'inventaire des pièces de l'imprimante pour l'assembler. Il manque des tiges filetées et des courroies. Le cadre de l'imprimante se fera avec la découpeuse laser de l'école.

Nous avons aussi préparé tous les fichiers STL[5] des pièces manquantes à imprimer au Fabricarium.

Pour assembler l'imprimante, nous suivons le tutoriel suivant[[6]].

Extrudeur à chocolat

L'extrudeur à chocolat sera réalisé selon le schéma de principe montré plus haut.

L'air sera mis sous pression dans une bouteille grâce à un pompe classique type pompe à vélo, ou d'un compresseur si nous en disposons. Par un système de tuyaux en caoutchouc, cet air sous pression est envoyé vers l'électrovanne. Un capteur de pression est intégré à ce circuit fermé pour vérifier que l'impression est toujours réalisable.

A la suite de l'électrovanne, le tuyau en caoutchouc laisse place à un tuyau en cuivre dans lequel est stocké le chocolat fondu. Un fil résistif enroulé autour du tuyau permet de faire fondre le chocolat à 50°C puis 35°C (valeurs à confirmer par des tests), cette température étant vérifiée par un capteur. Le chocolat sera préalablement intégré au tuyaux, sous forme de petits morceaux voir de poudre, ce choix dépendra de nos essais.


Ce chocolat est redirigé, à nouveau grâce à un tuyaux en caoutchouc vers l'imprimante elle-même. Un embout permet d'effectuer la sortie du chocolat du système dans de bonnes conditions.

Pièces imprimées en 3D

Première version

Les raccords et l'embout n'existent pas tels que nous les désirons. Nous avons donc décidé de les modéliser en 3D pour les imprimer au Fabricarium.

Nous avions besoin de 3 pièces différentes :

  • Un raccord caoutchouc -> cuivre
Raccord simple.JPG
  • Un raccord cuivre -> caoutchouc (dans lequel on intègres le capteur de température)
Raccord capteur.JPG
  • Un embout pour l'extrusion même
Embout choco.JPG

L'ensemble devant être étanche, puisque nous fonctionnons sous pression, et capable de supporter la température et le chocolat.


Ces pièces ont été créés via SolidWorks, mais un autre logiciel de modélisation aurait pu tout aussi bien fonctionner. [7]

Deuxième version

Par la suite, nous avons modifié ces pièces pour en augmenter l'épaisseur, et augmenter la surface en contact avec le cuivre et le caoutchouc dans l'espoir de diminuer les fuites d'air.

Raccords.PNG

Test final

Lors des derniers jours, nous avons assemblé tout notre système pour tenter des impressions de chocolat. Nous en avons extrudé un peu, mais très vite l’étanchéité s’est révélée problématique. Néanmoins, à partir de ces essais, nous avons pu valider notre modèle.

test_final

Problèmes rencontrés

Réalisation de l'imprimante 3D

Pour créer l'imprimante 3D qui accueille notre extrudeur à chocolat, nous devions reprendre un projet du Fabricarium à l'abandon. Il a donc fallu faire l'inventaire des composants manquants, et imprimer les pièces restantes.

Lorsque nous avons voulu imprimer ces pièces, pour plusieurs dizaines d'heures d'impression en tous, l'imprimante 3D principale du Fabricarium est tombée en panne. Nous avons dû attendre qu'elle soit réparée pour reprendre notre travail à ce niveau.

Capteur de pression

Par soucis d'économie, nous avons pris un capteur de pression très particulier. Il fait moins de 2mm de coté, avec des pads de 0,17mm de large, ce qui complique énormément la soudure des fils, qui font eux-même à peu près 1mm de large.

Nous avons étudié les différentes solutions possibles pour cette soudure, comme l'utilisation d'un four à refusion. Ces solutions n'étant jamais convenables, nous nous sommes reportés sur une proposition de M. Boé :

Nous avons réalisé une carte électronique qui se compose de 4 pads reliés à 4 pins pour y souder les fils. Les pads du composants seront reliés aux pads de la carte par un brin de fil, soudés à la colle argent. L'opération sera faite sous microscope. Une fois le composant posé et soudé, l'ensemble est recouvert de colle pour maintenir le composant et les fils. L'entrée d'air se fait à travers la carte par un trou d'1mm de diamètre sous le composant. Le tuyaux est donc relié directement à ce trou.

Commande d'électrovanne

Nous avons besoin d'une électrovanne pour gérer toute la pneumatique du système. Nous en avons donc commandé une qui correspondait à nos besoins, mais nous avons passé plusieurs semaines à l'attendre sans résultat.

Suite à un premier appel au fournisseur, nous avons appris que l'électrovanne avait tout simplement été oubliée par leurs services au moment de la commande. Notre demande n'a donc été prise en compte qu'à partir du 09/03.

Par la suite, comme nous n'avions rien reçu suite aux 10 jours d'attente annoncés, nous avons rappelé le fournisseur qui nous a annoncé une nouvelle date ultérieure. Nous avons finalement décidé de commander une autre électrovanne pour espérer l'avoir immédiatement après les vacances.

Améliorations

Même si notre système est fonctionnel sur le principe, il est améliorable pour le rendre tout à fait utilisable.

Isolation

Le problème principal pour imprimer du chocolat, ou tout autre matériau aussi visqueux, c’est l’étanchéité. Pour commencer, nous avons modélisés nous mêmes certaines pièces de notre extrudeur, que nous avons ensuite imprimés en 3D. Le PLA étant imprimé par couche, il n’est pas totalement étanche, d’autant plus avec les défauts d’impressions. Ces pièces comportaient donc de grosses fuites. Nous avons essayé de pallier à ce problème en augmentant l’épaisseur de nos pièces et en augmentant les surfaces de contact entre les pièces et le tuyau, mais cette solution n’était pas suffisante. La solution logique serait de réaliser ces pièces en métal, en y ajoutant un pas de vis, pour garantir une meilleure étanchéité entre les éléments du système. Pour s’assurer d’une étanchéité maximale, nous proposons d’incorporer de vrais joints entre les différentes pièces de notre système. Ceux-ci garantiront l’absence de fuites.

Materiaux

Si le but est d’imprimer de la nourriture, c’est-à-dire d’ingérer les pièces imprimées, il sera nécessaire de remplacer le cuivre et le PLA par des métaux alimentaires, comme l’acier inoxydable. Pour des raisons économiques et de simplicité d’acquisition, nous avions opté pour le cuivre, qui suffisait amplement pour nos tests.

Gestion de pression

Capteur de pression

Le capteur de pression acheté ne convenait pas au système, et c’est pourquoi actuellement, nous utilisons le manomètre du compresseur pour mesurer la pression. Cependant, intégrer un capteur utilisable dans le système et lire sa valeur sur l’Arduino Uno est tout à fait envisageable.

Commande Compresseur

De plus, pour automatiser totalement la régulation de la pression, nous préconisons l’utilisation d’un compresseur à commande numérique. En modifiant légèrement le code Labview, nous pouvons générer les signaux de commandes pour ce compresseur en fonction de la pression. (i.e. mesure pression trop faible : pause impression – activer compresseur)

Refroidissement

Faute de temps nous n’avons pas du tout incorporé de solutions pour refroidir l’impression. De ce fait, notre système pourrait imprimer des objets avec ratio volume/surface faible, tel que des décorations de gâteaux. Si l’utilisateur souhaite imprimer des structures réellement en 3D, alors un système de refroidissement devient nécessaire. Nous proposons deux pistes de solutions : En premier lieu, il faudrait refroidir le chocolat directement en sortie d’extrudeur, pour cela un petit ventilateur attaché à l’extrudeur et bien orienté, tel qu’on en trouve sur un extrudeur classique, serai tout à fait efficace. Ensuite, si l’imprimante se trouve dans une pièce à température ambiante relativement élevée, il devient cohérent d’isoler l’imprimante à l’aide d’une enceinte thermique refroidie.


Arduino

Pour faciliter le développement de notre projet, nous n’avons développé séparément la régulation de température et pression du contrôle de l’impression. Cependant, comme LabView fonctionne avec un programme à implémenter sur l’Arduino, il est envisageable de rassembler les deux, et ainsi, de n’utiliser qu’un seul Arduino, l’Arduino Méga qui a la mémoire suffisante pour accueillir les deux programmes..

Imprimante

L’imprimante est fonctionnelle, néanmoins rajouter un peu d’habillage pour éviter que les fils électriques ainsi que les pièces bougent. Un vrai support pour l’écran LCD serait un plus. Actuellement il manque une pièce pour attacher notre extrudeur à la pièce mobile sur les axes.

Enfin, lorsque l’Arduino Uno ordonne d’arrêter l’impression, il y a un délai avant l’arrêt. Il est dû au fait que l’Arduino Méga charge une série d’instructions qu’il exécute, avant de poursuivre son code. Ce délai, qui provient du firmware original, est une problématique intéressante puisqu’il impliquerait des erreurs d’impression.

Conclusion

Nous obtenons une imprimante fonctionnelle, et un extrudeur dont nous avons validé le principe. Néanmoins, certaines améliorations sont nécessaires pour que l’extrusion de chocolat, ou autre matériaux alimentaires, soit opérationnel. Nous espérons avoir construit les bases et proposé les problématiques de futurs projets. L’imprimante 3D est une technologie fascinante, et ce projet a été avant tout l’occasion de s’y familiariser, par le biais d’impression de pièces, de construction et calibration de l’imprimante et de la compréhension et modification de son firmware. De plus, l’utilisation de Labview et du langage de programmation C++, rarement pratiqués dans le cadre de nos études, constituent une bonne pratique de l’apprentissage par soit même, compétence nécessaire aux ingénieurs. Enfin, c’était aussi une première réelle expérience de gestion de projet, et de ses aléas. Nous avons notamment rencontrés des problèmes avec un de nos fournisseurs, ce qui nous a retardé. Nous avons néanmoins su nous adapter pour avancer dans le projet.

Suite à notre travail sur le firmware de notre imprimante, l’un de nous a eu l’opportunité de trouver son stage dans l’impression 3D, dans le développement du firmware d’une imprimante 3D à béton.

Vidéo et rapport

Vous pouvez trouver la vidéo de notre projet sous différents formats en suivant ce lien : https://drive.google.com/folderview?id=0Bypcx35zZ9WneHFXMkV3VDEtc3c&usp=sharing Le rapport est lui disponible ici : Fichier:P5 Imprimante 3D à Chocolat.pdf