AUTOM A TISE – Bar à cocktails

Equipe ayant travaillé sur le projet :

 

  • Julien Gruaux – GMP
  • Axel Sitterle – GMP
  • Nathan Zindy – GMP
  • Margot Daval – GEII
  • Nathan Mourant – GEII

Sommaire

I/ Présentation du projet
II/ Analyse fonctionnelle
III/ Réalisation côté GMP
IV/ Réalisation côté GEII
V/ Conclusion


I/ Présentation du projet

 

Depuis plusieurs années, l’automatique devient de plus en plus banales, aussi bien dans le milieu industriel que dans le quotidien, à travers la domotique. En constatant ce fait et voulant en profiter, des étudiants de deuxième année de l’an dernier avait eu pour projet de réaliser un bar à cocktail automatisé.
En se basant sur ce projet, les départements GMP et GEII de l’IUT de Mulhouse nous ont demandé de créer une nouvelle machine à cocktail automatisée pour pouvoir la présenter en démonstration lors des journées portes ouvertes de l’IUT. Au cours de cet article, nous allons donc vous expliquer notre travail pour réaliser ce projet avec une équipe composée d’apprentis GMP et d’apprentis GEII.

 


II/ Analyse fonctionnelle

 

A- Diagramme des besoins et des interacteurs

Afin de pouvoir établir un cahier des charges répondant à tous les besoins de la machine, nous avons commencer par faire un diagramme des besoins ainsi qu’un diagramme des interacteurs.
Les besoins de notre projet étant les mêmes que pour celui de l’an dernier, nous avons repris celui du projet de l’an dernier :

Il en est de même pour le diagramme des interacteurs :

FP : Fonction Principale
FC: Fonction Contrainte

B- Cahier des charges

Grâce aux diagramme ci dessus et en discutant entre nous, nous avons alors pu établir le cahier des charges suivant :


Flexibilité :
F0 : Flexibilité nulle – niveau impératif
F1 : Flexibilité faible – niveau peu négociable
F2 : Flexibilité bonne – niveau négociable
F3 : Flexibilité forte – niveau très négociable

C- Diagramme FAST

A partir du cahier des charges que nous avons établi grâce aux deux diagrammes précédents et nos discussions, nous pouvons maintenant établir un diagramme FAST pour notre projet :

D- Répartition du travail

Partie génie mécanique :

  • Choix des solutions techniques pour répondre aux attentes : Axel, Nathan Z. et Julien
  • Modélisation sur Créo : Nathan Z.
  • Choix des matériaux de la structure : Axel et Julien
  • Conception et mise en plan des pièces à usiner : Axel, Nathan Z. et Julien
  • Usinage : Axel, Nathan Z. et Julien
  • Assemblage : Axel, Nathan Z. et Julien

 

Partie génie électrique :

Les deux apprentis GEII ayant chacun déjà eu des diplômes dans des domaines différents avant de reprendre leurs études en GEII, la répartition du travail entre eux s’est fait selon leurs parcours. En effet, nous avons cherché à tirer profits de cela pour identifier les points forts de chacun au moment de répartir le travail pour nous montrer plus efficace. Ainsi, Nathan M. ayant déjà des compétences dans le domaine mécanique, choisir les moteurs pour le projet ou s’occuper du calcul de dimensionnement électrique sont plus simples à faire pour lui. Sur le même principe, la programmation du Raspberry et de l’IHM sont plus simple pour Margot qui a déjà des compétences en programmation. On obtient alors la répartition du travail suivante :

  • Choix du moteur et des capteurs : Nathan M.
  • Dimensionnement électrique : Nathan M.
  • Installation électrique et câblage : Nathan M. et Margot
  • Programmation Raspberry : Margot
  • Réalisation et programmation IHM : Margot
  • Rédaction du dossier : Margot

Cependant, Nathan M. ayant démissionné de la formation en début du deuxième semestre après plusieurs semaines d’absence, la répartition du travail a été complètement bouleversée pour faire face au départ de Nathan M. et au retard dû à son absence.
Cependant, pour ne pas abandonner le projet ou le laisser inachevé, il a été convenu qu’un binôme de première année en GEII continuerait à travailler sur le sujet durant leur temps de projet.


III/ Réalisation côté GMP

Ce projet est issue de la récupération d’ancien objets inutilisés sauf pour les moteurs, les pompes péristaltiques et les doseurs-bouteilles. Les pièces spécifiques comme les pignons des moteurs ou encore le support pour le verre, on été dessinées et imprimées en 3D par nos soins.

A- Plateau mobile

1.) Le plateau et son moteur

Tout est partie de la récupération d’une imprimante ayant un plateau motorisé. Ce plateau guidé à l’aide de deux glissières est le parfait élément pour commencer notre projet de bar automatisé,
alias AUTOM-A-TISE.

Le but étant d’avoir un plateau où l’on puisse déposer le verre. Ce plateau va ensuite se translater pour positionner le verre en dessous des différentes stations, à savoir deux stations avec doseur-bouteille et une station avec l’arrivée de liquide venant des pompes péristaltiques.

 

Nous avons dessinée un schéma cinématique pour définir les différents liaisons à mettre en place pour l’installation des différents éléments.

Schéma cinématique :

Il a fallut placer le moteur sur le bâti avec un système de courroie et de tendeur pour transmettre la rotation du moteur au plateau.

Liaison du moteur au plateau (à l’aide de deux vis + une rondelle et équerre de fixation) :

 

Conception du pignon du moteur sur Creo :

2.) Le support pour le verre

Le support a d’abord été dessiné sur Creo, il est en trois pièces :

  • un socle central intégrant l’emplacement pour un capteur de présence verre.
  • deux pattes extérieurs qui vont venir appuyer le verre de part et d’autre pour le maintenir en position à l’aide de ressorts.

Il a été imprimé grâce à l’imprimante 3D puis les ressorts on été formé à la main.

Le support-verre durant sa conception :

Réalisation finale :

B- Le poussoir pour doseur-bouteille

Nous sommes partis d’une base trouvée dans le local des pièces usagées de l’IUT à côté de l’IUT LAB. C’est un rail, dont la position était probablement codée, avec un coulisseau qui possédait un système pneumatique.

Nous avons décidé de placer une crémaillère à l’intérieur de ce rail pour pouvoir utiliser le coulisseau comme poussoir. Le moteur sera fixé sur le rail fixe et la crémaillère sur le coulisseau qui sera mobile.

Nous avons d’abord conçu le pignon du moteur sur Creo, puis la crémaillère en récupérant l’empreinte du pignon. Nous avons envoyé ces pièces pour l’impression 3D, l’impression de la crémaillère s’est fait sur le flanc pour obtenir une fibre se dirigeant dans le sens des efforts des dents du pignon.

 

Assemblage final du système de crémaillère à l’intérieur d’un profilé aluminium :

 


IV/ Réalisation côté GEII

 

A- Choix des moteurs, capteurs et dimensionnement électrique

L’un des objectifs que nous nous étions fixé au moment du dimensionnement électrique était de limiter au maximum le nombre de prise nécessaire au fonctionnement du bar à cocktails automatisé par soucis de praticité. Le bloc secteur d’alimentation de la Raspberry Pi étant déjà fourni, nous avons alors penser à utiliser une multiprise classique à l’intérieur de la machine afin de pouvoir y brancher tous les différents éléments nécessaires tout en assurant la nécessité d’un seul branchement extérieur au bar à cocktails pour son fonctionnement.

Pour limiter les dépenses mais aussi le câblage et l’alimentation nécessaire, nous avons également opté pour des moteurs pas à pas. Comme nous utilisons une carte HAT Adafruit pour Rasberry Pi permettant de piloter des moteurs continus et pas à pas, nous avons rapidement décidé de prendre des moteurs de la même marque. Les moteurs devant être capable d’aller dans les deux sens, et la carte de pilotage pouvant être alimentée jusqu’à 12V, nous avons alors opté pour des moteurs pas à pas de 12V et de couple 20N*cm. Il compte 200 pas par révolution et chaque angle de pas est de 1,8 degré. La première bobine est reliée aux câbles rouge et jaune, et la seconde bobine aux câbles vert et gris.

On compte deux moteurs identiques, l’un qui permettra de faire avancer le plateau et le deuxième qui assurera la montée et la descente du mécanisme activant les doseurs des bouteilles. Ils seront tous les deux alimentés par la carte HAT, elle-même alimentée en 12V. Pour raccorder la carte HAT à celle de la Raspberry, il suffit de placer les connecteurs 2×20 femelles de la carte de pilotage des moteurs sur ceux 2×20 mâles de la carte Raspberry Pi, réalisant ainsi un nouvel étage. Nous vous proposons ci-dessous le schéma de câblage des moteurs et de l’alimentation sur la carte HAT de pilotage.

Attention cependant, la carte HAT prenant tous les connecteurs 2×20 de la carte Raspberry Pi, l’alimentation de l’écran de cette dernière doit également se faire via la carte HAT d’Adafruit une fois cette dernière connectée. L’écran étant alimenté en 5V, comme la Raspberry Pi, il faut alors utiliser un connecteur 5V et un autre GND disponibles sur la carte HAT.

Concernant les capteurs, l’utilisation de moteurs pas à pas nous permet de nous passer de capteurs de position. L’idée d’un capteur à contact, pour s’assurer de la présence d’un verre dans la machine, a fini par être abandonnée par manque de temps. Un emplacement pour un capteur à contact à pourtant été prévu dans la structure du socle pour le verre, ce qui permet un éventuel ajout par la suite.

Au niveau des alimentations nécessaires, il nous faut donc une alimentation de 5V pour la Raspberry Pi et son écran tactile, et une alimentation de 12V pour la carte HAT de pilotage des moteurs Adafruit, qui s’occupera d’alimenter les deux moteurs pas à pas. Le bloc secteur pour l’alimentation de la Raspberry Pi est déjà fournie, il ne nous reste donc plus qu’à utiliser un autre bloc secteur de 12V pour l’alimentation de la carte HAT.

B- Programmation de la Raspberry

Il a été choisi dès le début du projet de piloter le bar à cocktails automatisé grâce à une Raspberry Pi. C’est donc sur cette dernière que nous devions programmer. Bien que le Python reste son langage de développement « natif », il reste possible de développer un programme dans plusieurs autres langages. Cependant, avant de commencer le développement d’un programme ou même de choisir son langage de développement, nous avons d’abord travailler sur l’algorithme du programme afin de connaître les éventuelles contraintes ou libertés de choix possibles. Par exemple, les deux moteurs n’étant jamais actif en même temps, un système multitâches n’était pas obligatoire pour la programmation.

Une programmation du bar à cocktails grâce à l’outil Node Red a été envisagé durant un moment. En effet, l’utilisation de Node Red permettait de piloter les pins GPIO de la Raspberry Pi pour les moteurs, mais aussi de rendre le bar à cocktails connecté grâce à l’interface de Node Red. De plus, la gestion de l’IHM devenait bien plus simple à faire, se créant grâce au programme. Cependant, pour rendre le bar à cocktails connecté, une connexion internet était nécessaire, ce qui peut ne pas être forcément possible partout. De plus, la sauvegarde d’un projet nécessite un import puis un export de flux, ce qui ne permet pas de rendre le bar à cocktails prêt à l’utilisation sans la recréation d’un projet et l’export du programme développé. Pour finir, Node Red utilise exclusivement du langage javascript, langage avec lequel nous n’étions pas à l’aise. Et le manque de temps nous empêchait de faire une remise à niveau suffisante pour le développement du projet.

Le choix d’une carte HAT d’Adafruit, permettant le pilotage de moteurs pas à pas ou continus (jusqu’à deux moteurs pas à pas ou quatre moteurs continus), nous a permis d’opter pour une autre solution de développement. En effet, la carte HAT était livrée avec une librairie Python déjà existante permettant le pilotage des différents moteurs pouvant être connectés à la carte, ainsi que des petits programmes de tests de fonctionnement pour chaque type de moteurs. Le langage Python ressemblant énormément au langage C, vu durant la première année de GEII, son utilisation était alors beaucoup plus intuitive et aisée que celle du javascript. De plus, cela étant le langage « natif » de la Raspberry, nous étions sûr de ne pas avoir de problèmes d’interprétation du script. Malheureusement, l’utilisation d’un script en Python nous faisait renoncer au côté connecté du bar à cocktails et nous obligeait à trouver une autre solution pour l’IHM.
Pourtant, par manque de temps pour le développement du programme, le script en Python fut la solution retenue pour le projet. Son développement a donc être pu fait assez rapidement, bien qu’il manquait le nombre de pas nécessaire aux moteurs pour les déplacements demandés. Par manque de temps également, le pilotage de la pompe péristaltique n’a pas pu être fait et ajouté au programme.

Ainsi, voici la partie principale du programme développé pour le projet :

Comme on peut le voir sur la capture d’écran, le programme a été entièrement commenté afin de faciliter le travail d’autres personnes pouvant avoir à modifier le code si le projet est repris par la suite.

Malheureusement, suite à un problème technique avec les connecteurs 2×20 de la carte HAT, il nous a été impossible de réaliser les tests concernant le nombre de pas nécessaires aux moteurs pour les divers déplacements. Pour la même raison, et n’ayant pas toutes les données nécessaires, il n’a pas été possible de tester le programme du bar à cocktail dans son intégralité.

C- Ce qu’il reste à faire

Dû fait de la démission de Nathan M. du DUT GEII et du retard déjà accumulé avant son départ, le projet n’a pas pu être terminé du côté électrique malgré notre envie d’aller jusqu’au bout. Cependant, pour palier à ce problème, qui semblait déjà inévitable au moment de la démission de Nathan M., il a rapidement été convenu que le projet serait repris par un binôme de première année en DUT GEII pour faire en sorte de le finir.

La première mission qui était prévue de leur confier était le câblage des différents éléments de la machine. C’est d’ailleurs également pour cette raison que nous avons tenu a essayé de le limiter au maximum, afin de faire en sorte qu’ils perdent le moins de temps possible sur cette tâche.
En plus du câblage, et suite au problème technique survenu lors de la phase de test de la carte HAT Adafruit, ils devront également s’occuper de mettre en place la nouvelle carte de pilotage en place et tester le nombre de pas nécessaires aux moteurs pour les divers mouvements. Une fois cela fait, ils pourront alors rentrer les valeurs trouvées dans le programme déjà prêt pour le pilotage du bar à cocktails et tester ce dernier.
Pour finir, ils pourront également modifier ce programme afin d’y intégrer la gestion de la pompe péristaltique prévue dans la machine.

Enfin, concernant les améliorations possibles s’ils ont le temps ou si le projet est également repris alors leur travail, il peut être intéressant d’ajouter un capteur à contacts pour s’assurer de la présence d’un verre sur le socle, comme nous pensions le faire au départ.
Il peut également être possible d’adapter le code pour une utilisation de Node Red afin de pouvoir rendre le bar à cocktail connecté et avoir une IHM convenable. Le développement d’une IHM semble être aussi une bonne piste d’amélioration du projet actuel.


IV/ Conclusion

Malgré les différentes difficultés rencontrées, nous avons pu aboutir à une réalisation mécanique fonctionnelle et avancé au maximum la réalisation électrique et informatique. Cette dernière sera transmise à un binôme de première année de GEII afin de la finaliser. Pour leur permettre une plus grande facilité de câblage, nous avons donc choisi de ne pas figer les éléments électroniques du projet sur le système.

Le projet reste malgré tout améliorable, et des perspectives d’évolutions peuvent être envisagées. Il nous a permis de travailler en équipe tout en partageant nos idées et nos connaissances.

Notre projet s’inscrit dans une démarche économique, où la récupération de matériaux et autres éléments récupérés au stock des pièces usagés de l’IUT Lab a été essentielle. Les implantations des différents éléments sur le système de base (imprimante) a développé notre capacité d’adaptation.