IMA3/IMA4 2021/2023 P5

De Wiki de Projets IMA
Révision datée du 5 janvier 2023 à 16:02 par Gchicher (discussion | contributions) (Amélioration)


Connectprint.png

Présentation

Introduction

Dans notre école, Polytech'Lille, nous avons un Fabricarium équipé d'imprimantes 3D. Pour pouvoir utiliser ces imprimantes 3D, il faut prendre un rendez-vous aux horaires disponibles. Par la suite, il faut déterminer le modèle 3D désiré que l'on va convertir en fichier G-code. Ce fichier G-code est compréhensible par l'imprimante 3D par conséquent, il faut mettre ce fichier sur une carte SD que l'on va par la suite mettre dans l'imprimante. De plus, durant les premières minutes, il faut surveiller notre impression pour éviter un décollement de la matière. Tout cela implique plusieurs aller-retour entre la machine 3D et votre ordinateur et donc une perte de temps considérable.

Objectif

Notre projet se concentre sur l’implémentation d'une toute nouvelle solution de gestion du parc imprimante 3D de Polytech-Lille. En effet afin de palier aux indisponibilités des imprimantes lors des heures de grande sollicitation, de la nécessité d'être présent sur place pour lancer une impression ou de suivre les étapes du processus, nous allons mettre en place une interface en ligne permettant la réservation de créneaux et de développer une solution de surveillance de l'avancement.

Ainsi, notre but durant ces séances est de chercher des solutions pour répondre aux problèmes posés. En ce qui concerne les cartes SD et les clés USB, nous en aurons plus besoin puisque nous allons installer un Raspberry Pi sur notre imprimante. Celui-ci servira d’intermédiaire entre l'ordinateur utilisé pour lancer l'impression et l'imprimante 3D. Pour cela nous allons utiliser Octoprint, un logiciel open source qui nous permettra de lancer l'impression à distance, de l’arrêter, de connaître le temps d'impression mais aussi de pouvoir visualiser notre impression en temps réel. Octoprint pourra nous fournir plus d'informations concernant notre impression grâce à des requêtes que l'on va effectuer.


Description

Au niveau des imprimantes 3D de l'école, nous avons pour but d'installer des Raspberry Pie 4 que nous allons programmer au sein d'un réseau mettant en liaison toutes les imprimantes 3D. Des données issues des impressions vont ainsi être transmises afin d’accéder à l'état des impressions, la disponibilité des imprimantes et des erreurs potentielles. Cette Raspberry Pie 4 rattachée à une caméra retransmet en vidéo le déroulé de l'impression.

On pourra ainsi y détecter des défauts d'opération comme des décollements ou des malformations. Au-delà du recueil des informations des impressions, l'utilisateur grâce à notre interface aura la possibilité de programmer son impression dans un planning et donc la lancer à distance. Une aide d'utilisation de l'interface sera fournie et permettra à n'importe qui de se former au lancement d'impression.

Préparation

Cahier des Charges

Gant

S7

Au cours de ce semestre, nous nous sommes lancés dans la recherche d’information afin d’aboutir à la conception de notre système et à la réalisation de tests. Dans ce but, une étape primordiale est de diviser notre travail afin d’avancer le plus rapidement dans la démonstration de la faisabilité d’un prototype. Ainsi, nous avons réparti nos tâches en fonction de nos compétences et nos connaissances.

En effet, Paul Amoros et Touria El Azrak se sont occupés de la partie Raspberry Pi et sa configuration. Notamment leur travail a consisté en la l’installation et la structuration d’Octoprint et des ses différentes librairies, la connexion au réseau et l’installation et le contrôle de la caméra sur la Raspberry.

D’un autre côté, Arthur Dollet et Grégoire Chichery ont développé la partie programmation et gestion de requêtes. Nous avons préparé un début d’interface pour l’envoie du Gcode, l’envoie à distance de commande et requêtes à l’imprimante, utilisation d’API pour Octoprint. Nous avons planifié notre organisation autour du diagramme de Gantt ci-dessous:


Gant.png

Choix technique/matériel

Pour pouvoir se connecter à distance aux imprimante 3D du fabricarium, et comme elles sont dépourvues d’antennes et de cartes réseaux : Nous avons fait le choix de connecter via liaison série une Raspberry Pi qui permettra de jouer ce rôle.

Rbp.png

Dont voici les spécifications :

Processeur quadricœur ARM Cortex-A53 à 1,2 GHz Mémoire vive (RAM) de 1 Go Connectivité sans fil Wi-Fi (IEEE 802.11b/g/n) et Bluetooth 4.1 4 ports USB 2.0 1 port Ethernet Sortie audio et vidéo HDMI Prise jack audio 3,5 mm Slot pour carte microSD Alimentation via micro-USB Dimensions: 8,5 cm x 5,7 cm

Le choix de la raspberry était évident. En effet une carte Raspberry Pi est un petit ordinateur de la taille d’une carte de crédit, qui peut facilement être connecté à Internet et servir d’interface à de nombreux composants électroniques. En plus d'être efficace, il est petit. Nous ne cherchons pas quelque chose d’imposant. Puisque nous allons le coller à l'imprimante (ou le poser à côté), il est impératif que celui-ci ne soit pas imposant, puisqu'il ne doit pas déranger. S’ajoute à cela un prix peu coûteux.

La Raspberry Pi utilise une carte SD comme disque dur, pour être plus précis il s'agit depuis la version B+ de la Raspberry Pi d'une carte MicroSD. Il est important de flasher la carte SD, c'est-à-dire télécharger Octoprint dans la carte SD.

Puisque nous n'avons pas d'écran avec notre Raspberry Pi alors nous avons eu besoin d’un câble HDMI qui servira à faire la liaison entre notre Raspberry Pi et l'écran d’ordi ou de télévision. Il est important d’avoir accès au terminal pour interagir directement avec le micro processeur au début.

De plus, pour effectuer la liaison direct avec l'imprimante nous utilisons un câble USB 3.0 - USB-b. Usbbb.png


Une Webcam USB branchée sur le Raspberry Pi sera utile pour visualiser en temps réel l’impression 3D.

Pour nos tests et la réalisation de notre projet, nous allons utiliser les imprimantes du Fabricarium qui sont les Dagomas. Elles fonctionnent de la même façon qu’une imprimante 3D ordinaire: les machines 3D permettent de déposer le matériau, alors sous forme de bobines de filament, sur une plateforme, ou lit d'impression, couche par couche. Le filament est fondu et déposé couche par couche à l'aide d'une buse d'impression.

En plus du matériel, nous avons besoin de choix pour le logiciel embarqué de la Raspberry Pie. Nous avons pris le temps de choisir parmi ces utilitaires, et nous avons choisi Octoprint, beaucoup plus facile d’utilisation, gratuit et utilisable sur plusieurs Raspberry et enfin toujours mis à jour régulièrement avec une grande communauté derrière.

De manière générale, nous schématisons notre solution complète ci-dessous :

Liste des tâches à effectuer

Réalisation

Projet S7

Résultat

Projet S7

Problèmes

Amélioration

Pour faciliter la vie des utilisateurs, nous avons pensé à ce que Octoprint soit accessible même en dehors de Polytech pour visualiser en temps réel les impressions et avoir les informations souhaitées. Après quelques recherches, nous avons alors trouvé un tutoriel qui normalement devrait marcher mais dans un premier temps nous allons discuter avec le FabManager pour avoir son avis sur la question.

En ce qui concerne le fait de se connecter au réseau de l'école, nous avons émis une demande au service informatique. En effet nous avons fourni l’adresse MAC de la Raspberry, pour qu'il puisse donner l'accès et que nous n’ayons plus de difficulté à avoir accès à ce réseau.

Ensuite se pose la question de “Combien de Raspberry Pi va-t-on mettre ?”. Si nous mettons un seul Raspberry par imprimante, on songe que cela sera trop coûteux . Nous avons alors pensé à une Raspberry pour 4 Dagomas. Si nous mettons trop d’imprimantes par RPi, il se peut qu’il y ait un problème de débit de traitement des images au niveau de la Raspberry. En revanche, chaque imprimante aura sa propre caméra.

On a aussi remis en doute l’utilisation d’Octoprint, car un Raspberry Pi coûte cher et si on doit en installer un par machine nous ne sommes rapidement plus rentables. Alors il faudra se mettre d’accord sur: soit trouver une manière d’en faire fonctionner plusieurs sur une raspberry et de brancher plusieurs imprimante dessus, soit de le faire en partant de 0, en envoyant du Gcode par liaison série puis trouvé un moyen de communiquer à distance dessus.

Si on continue dans ce dans quoi nous étions partis nous devrons : Améliorer l’interface web rajouter des nouvelles fonctionnalités

-Implémenter une manière de gérer des utilisateurs

-Ajouter la possibilité d'envoyer un fichier à imprimer directement sur le site

-Ajouter la possibilité de regarder la webcam (ou pas si on a plusieurs imprimantes par raspberry ça risque d’être compliqué, car le processeur n’est pas assez puissant)

-Ainsi qu’une manière de détecter/gérer les erreurs

Bilan

Projet S7 : Bilan et perspectives pour le S8

Il faut continuer sur cette lancée en ne mettant à l'écart aucune hypothèse ou amélioration. En revanche, au prochain semestre nous devons faire plus de tests pour détecter les erreurs au plus vite et les corriger.

Les buts du prochain semestre sont les suivants: Avoir une connexion au réseau Polytech Lille stable sur la Raspberry pour qu’elle ait la même adresse IP (whitelist sur le réseau Ethernet de l’école)

-Améliorer notre interface

-Lancer une impression à partir de Octoprint

-Lancer une impression et récupérer les données grâce aux requêtes

Arthur Dollet et Grégoire Chichery continueront de s’occuper de la partie requêtes à envoyer, El Azrak Touria et Amoros Paul quant à eux poursuivront sur leur travail réalisé sur la Raspberry Pi et Octoprint. Chaque binôme a encore beaucoup de choses à faire. En effet, le premier doit améliorer son code pour que Octoprint puisse bien comprendre l’information qu’il doit fournir et le second doit télécharger plus de plugins pour avoir plus de fonctionnalités.

Si durant le prochain semestre tous ses buts sont atteints alors nous pouvons réfléchir, dans notre interface web, à mettre un système qui puisse gérer les réservations pour l’utilisation des imprimantes. Nous pouvons également réfléchir à comment améliorer nos branchements pour qu’ils soient moins encombrant: puisque pour l’instant nous posons la Raspberry à côté de l’imprimante sans l'attacher définitivement.