Imprimante 3D à chocolat
ERROR in secure-include.php: Not allowed to include remote URLs, or inexistant path.
Sommaire
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.
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.
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 :
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.
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 :
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.
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.
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.
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.
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.
Ensuite, dans la fonction setup, nous indiquons que cette pin est une entrée.
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.
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
- Un raccord cuivre -> caoutchouc (dans lequel on intègres le capteur de température)
- Un embout pour l'extrusion même
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.
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.
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 à cette adresse : https://drive.google.com/open?id=0Bypcx35zZ9WnN2hERlZTSXhLejA