P38 Conception par fabrication additive des pièces en plastique à partir d’un robot

De Wiki de Projets IMA

Etudiante : Diana Marrucho
Encadrants : Rochdi Merzouki, Othman Lakhal

Présentation générale du projet

Contexte du projet

La société All-Trends est une start-up lilloise développant la technologie e-Bridium® de fabrication additive directe à granulés en plasturgie dans le but d'imprimer des pièces en polymère à partir de granulés plastiques non-propriétaires.

Dans le cadre du programme Centaure, All-Trends s'est associée à Polytech Lille et le laboratoire CRIStAL afin de l'accompagner pour la réalisation d'un prototype d'impression 3D robotisé à base des granulés. Une buse, permettant la fusion des granulés est fixée à un robot Kuka pour pouvoir imprimer dans toutes les positions.

Actuellement, des pièces à base de PLA (acide polyactique) ont été réalisées en salle C002 à Polytech Lille et des tests sont effectués les vendredis.

Cahier des charges

But du projet

Dans une première partie, l'objectif est de tester différents types de matières et d'en contrôler la régulation de température de la buse en fonction des granulés utilisés.

Actuellement, le robot est contrôlé par un contrôleur CompactRIO de National Instruments. La seconde partie du projet consisterait donc à intégrer le programme de commande sur une MyRIO de National Instruments.

Pour se faire, l'utilisation du logiciel LabVIEW est nécessaire.

Planning Prévisionnel

  • Semaine 1 :
    • Apprentissage du LabVIEW ;
  • Semaine 2 :
    • Prise en main sur la programmation et la commande du dispositif robotisé existant ;
  • Semaine 3-4 :
    • Test d'impression et régulation pour trois différentes matières ;
  • Semaine 5 :
    • Intégration du programme de commande et supervision embarqué sur une MyRIO de National Instruments ;
  • Semaine 6 :
    • Test et validation ;
    • Rédaction du rapport.

Avancement du projet

Semaine 1 (du 11/01/2018 au 14/01/2018)

  • A partir de mercredi, j'ai repris en main le logiciel LabVIEW. Lecture de la documentation d'utilisation Labview et du CompactRIO de National Instruments :
    • Lien de la documentation :[1]
  • Réalisation de tests sur la jambe de cheval : contrôle par LabVIEW via CompactRIO, analog output, du système électro-pneumatique pour le contrômle des muscles de la jambe de cheval.
  • Nouvel objectif : réaliser un interpréteur du G-Code via LabVIEW afin de pouvoir tout contrôler directement par National Instruments sans l'utilisation de Matlab. Attention à prendre en compte que ce n'est pas la plateforme support qui se déplace mais le bras robot Kuka.
  • Vendredi : en présence de monsieur Grégory SANT de la société All-Trends, nous avons effectués des tests d'impression de pièces 3D avec des granulés de polystyrène en effectuant des variations des deux anneaux de température, de débit de sortie de buse, de vitesse ou de hauteur afin de pouvoir renseigner les paramètres les plus optimaux pour le robot industriel et la tête d'impression All-Trends. L'objectif des prochains tests sera de diminuer la taille de la buse afin de se rendre compte de son impact sur la pièce imprimée et surtout de pouvoir avoir une résolution maximale avec un temps réduit. Effectivement, contrairement à une imprimante 3D classique, ce robot plutôt destiné à l'industrie, permet de sortir 700g de matériaux à l'heure contre 1kg la journée pour l'imprimante classique. De plus, le coût de la matière est moindre contrairement au fil qui est déjà dégradé par sa transformation en fil.

Semaine 2 (du 15/01/2018 au 21/01/2018)

  • Actuellement, afin de pouvoir réaliser des impression, Matlab était utilisé afin de générer les différentes trajectoires. Les pièces réalisées jusqu'à présent sont des pièces dont le périmètre était imprimé, sans grand angle et sans support pour une pièce déportée. L'objectif de la semaine 2 est donc de pouvoir tester de nouvelles formes.
  • Afin de pouvoir convertir le fichier 3D, généralement de format STL, on utilise le slicer CURA que l'on paramètre avec les données correspondant au diamètre de la buse utilisée, à la température des couronnes et du plateau chauffant, au diamètre de sortie du cordon, à la hauteur de couche...
  • Le but de cette semaine est donc de réaliser un interpréteur avec LabVIEW capable de transformer le G-Code en fichier CSV :
    • Dans un premier temps, j'ai d'abord cherché à récupérer toutes les données du gcode et les indexer dans un tableau :
Récupération des données du Gcode par LabVIEW.
  • Ensuite, afin de ne garder que les données qui nous intéressent, à savoir les lignes de code contenant les commandes en G, j'ai récupéré selon toutes les différentes commandes (à savoir les commandes selon G0, G1, G2, G3, G4, G20, G21, G28, G29, G90, G91 et G92 selon la documentation du Wiki RepRap [2]
  • A partir de mercredi, et de la lecture du document Software KUKA.CAMRob KRC 3.0, et des paramètres que CAMRob peut prendre en considération, je me suis limitée à la récupération des données correspondantes. En effet, le fichier de donnée CAM peut contenir jusqu'à 26 paramètres selon des positions bien précises. Ainsi, voici les données pouvant être récupérées pour le fichier CSV utilisé par CAMRob :
CAMRob data parameters.
  • Les données récupérées seront donc les cordonnées cartésiennes selon les axes X, Y et Z pour les paramètres 2, 3 et 4. Suite au paramétrage de la buse et de la base du robot Kuka, on récupère les rotations A, B et C. Car elles ne sont pas paramétrées dans le slicer. De plus, on y introduit la vitesse de 0.04m/s qui sera ensuite réglée en pourcentage sur CAMRob, ainsi que l'accélération que l'on a fixé à 1m/s². Tous les autres paramètres sont fixés à 0 car non utilisés. Cela me donne donc en face avant et diagramme de LabVIEW les aperçus suivants :
Diagramme de l'interpréteur GCODE en CSV.
Face avant de l'interpréteur GCODE en CSV.
  • Vendredi, suite à des tests dès le matin avec la présence de messieurs Gragory SANT et Othman LAKHAL, nous avons imprimé pour la première fois avec le Polystyrène, des pièces pleines. Cela fut dans un premier temps compliqué car le slicer CURA n'était pas très précis concernant les premières couches, le motif du remplissage et les pièces n'étaient donc pas parfaites. Nous avons donc essayé d'imprimer des pièces basiques (des disques, des rectangles, une attache fleur, une raquette sans angles et ne nécessitant pas de support) avec différents remplissages (entre 15 et 100%). Suite aux réglages des différents paramètres, au changement de slicer vers Slic3r qui est plus précis et qui nous permet de ne pas faire de motif de remplissage aléatoirement et aux différents tests de la journée, notre réglage le plus précis était donc le suivant :
    • Température Haute de la buse : 250°C ;
    • Température Basse de la buse : 260°C ;
    • Vitesse : 75% de 0.04m/s ;
    • Débit : 0.04V.
    • Et dont les paramètres sur Slic3r étaient les suivants :
Slic2r Parameters.

Semaine 3 (du 22/01/2018 au 28/01/2018)

  • Le premier objectif de cette semaine est maintenant de prendre en compte les vitesses générées par le slicer et non plus de la fixer nous même sur CAMRob en pourcentage de la vitesse maximale. Pour cela, je vais récupérer les données selon le paramètre F des commandes G. Les vitesses sont différentes selon que nous sommes en remplissage, en support, en transfert d'un point à l'autre ou encore en périmètre.
  • De plus, suite aux problèmes rencontrés vendredi, c'est-à-dire que certaines cases étaient vides donc posaient problème lors de la lecture par CAMRob du fichier CSV, j'ai supprimé ses cases car elles permettaient de ne pas fournir de matière PS à la buse pour aller d'un point à l'autre, mais la communication ne se fait pas encore directement entre CAMRob et le CompactRIO.
  • Voici donc le diagramme réalisé et la face avant sur LabVIEW :
Diagramme de l'interpréteur GCODE en CSV.
Face avant de l'interpréteur GCODE en CSV.
  • Le prochain objetif est donc de tester de nouvelles pièces pleines ou creuses avec les nouveaux réglages, et par la suite commencer à tester des pièces avec nécessité de support car présentent des angles importants et/ou sont déportées.

Semaine 4 (du 29/01/2018 au 04/02/2018)

  • Pour contrôler l'un des paramètres qui posaient problème la semaine passée, j'ai tout d'abord essayé de réaliser une rétractation de la matière.

Pour cela, lorsque le débit doit être nul, j'ai remplacé la vitesse du moteur qui était à 0 tour/min à -10 tour/min qui permettra d'éviter un dépot de matière supplémentaire sur la pièce imprimée.

  • L'un des objectif de cette semaine ainsi que de la semaine 5 est d'établir une connexion RSI complète entre Labview et le Kuka :
    • Actuellement, le cheminement suivant doit être suivi pour établir la connexion avec le KUKA doit passer par CAMROB, license expensive :
      • Logiciel de CAO -> Slicer délivrant un GCODE -> Convertisseur GCODE en CSV (Labview) -> USB -> Kuka CAMROB -> RSI -> Labview
    • Le but est de diminuer toutes les manipulations intermédiaires et de réaliser le cheminement suivant :
      • Logiciel de CAO -> Slicer délivrant un GCODE -> Convertisseur GCODE en CSV (Labview) -> RSI -> Communiquer avec KUKA et Tête D'impression (Buse ALLTRENDS)
  • Vendredi, nous avons imprimé pour la première fois des pièces telles une grenouille (Photo ci-dessous) et des parallélépipèdes afin de contrôler la vitesse et de présenter à une entreprise intéressée par le projet, le travail effectué. Nous avons remarqué que la vitesse introduite n'était pas respectée. En effet, en ayant bridé l'accélération à 0.1m/s², le robot limitait donc la vitesse et on observait donc une dégradation de la matière à l'intérieur de la buse. Lors du dernier essai de la journée, nous avons modifié ce paramètre, et effectivement, la dégradation du polystyrène était moins observée.

Semaine 5 (du 05/02/2018 au 11/02/2018)

Semaine 6 (du 12/02/2018 au 18/02/2017)

Semaine 7 + Soutenance (du 19/02/2018 au 23/02/2018)

Bibliographie

Annexes