Remplisseur automatique de bouteille
UE 803 - Optimisation et Contrôle des Procédés - Master 2 - Ingénierie Chimique
Noms et Prénoms :
- Nicolas Laloy (nicolas.laloy.1@etu.sorbonne-universite.fr)
- Mohamed Hachcham (mohamed.hachcham@etu.sorbonne-universite.fr)
- Faysal Bellahouel (faysal.bellahouel@etu.sorbonne-universite.fr)
- Jakub Gontarz (jakub.gontarz@etu.sorbonne-universite.fr)
- Muhammad Aminibayat (Mohammad.aminibayat@etu.sorbonne-universite.fr)
Cursus : Master de Chimie : Spécialité Ingénierie Chimique
Date de début : 01/09/2023
Date de fin : 01/02/2024
Introduction :
Ce projet a pour but de nous familiariser avec des notions et des équipements tournés vers l'automatisation et la régulation.
Objectif :
L'objectif est de réaliser un petit système qu'est le remplisseur automatique de bouteille. Il s'agit donc remplir plusieurs bouteilles de couleurs différentes avec le liquide associé à la couleur (par exemple : jus d'orange -> bouteille orange).
Matériaux / Outils / Machines (le plus détaillé possible)
- 2 pompes
- 1 carte arduino et son câble
- 1.5 m de tuyaux
- 12 fils de connexion
- 1 relai pour l'arduino
- 1 adaptateur
- 1 alimentation
- 1 tapis roulant comprenant un moteur à courant continu
- 1 support en bois et aluminium
- 1 détecteur IR de position et le récepteur associé
Construction (fichiers, photos, code, texte, paramètres d’usinage etc.)
Journal de bord (étapes datées du projet)
- 06/11 - Choix du projet et conception :
On a porter notre réflexion sur 2 projet type : compresseur de déchet automatique et un remplisseur de bouteilles automatique
Figure 1: Schéma de compresseur automatique
Figure 2 : Schéma de remplisseur automatique
Nous avons débattu de différents schémas de conception pour les 2 projets.
Après avoir demandé l’avis à notre référent, il nous à été conseillé de porter notre attention sur le remplisseur automatique.Partie journal de bord
- 13/11 - Listage du matériel nécessaire au deux projets / Audit de l’inventaire au FabLab : On a envoyé une première liste pour le matériel nécessaire au remplisseur de bouteille automatique. A la demande de notre référent, nous avons fait l’inventaire du matériel disponible au FabLab pour ensuite l’enlever de la liste du matériel nécessaire.
- 20/11 - Récupération du matériel demandé : Nous avons récupéré une partie du matériel demandé après la réception d’un mail de Pr. Pulpytel demandant aux différents groupes de venir récupérer les différents composants déjà disponibles. Nous avons aussi décidé de remplacer la plaque tournante de la remplisseuse par un rouleau automatique disponible dans le stock de matériel. Nous somme ensuite aller au FabLab pour commencer à réfléchir à la conception de notre projet avec les éléments maintenant présent. Nous avons commencer par tester tout les composants nécessitant une alimentation à l'aide d'une batterie de 12V. Puis dans un premier temps pour pouvoir connecter les shields au moteurs des pompes et aux moteurs du tapis nous avons nous initié à la soudure avec l'aide du personnel du FabLab.
- 27/11 - Le tapis roulant étant trop glissant nous avons apporté des modifications pour provoquer plus de frottement entre le tapis et le rouleau. Faute de colorimètre il nous était impossible de mettre en place une régulation de la couleur du liquide en fonction de la couleur du gobelet.
Nous avons branché les pompes et le moteur du tapis au relai le tout lié à la carte Arduino via une breadboard.- 11/12 - Le support en aluminium à été récupéré. Une des pompes défectueuse à été échangé. L'ensemble de nos composants demande une alimentation supérieur à 9V ( pompes + moteur ). Nous avons donc choisi d'utilisé une alimentation de 12V branché à une prise de courant. Néanmoins afin d'éviter de griller les circuits de la carte Arduino et par problème de compatibilité de la sortie de l'alimentation nous avons utilisé un adaptateur pour relier l'alimentation directement à la breadboard.
- 22/12 - Nous avons fixé les pompes à notre support en découpant celui-ci à l'aide d'une perceuse avec un emboue scie cloche, et en serrant un fil en Aluminium, accroché au support par de petit trous, sur les deux pompes .
- 11/01 - Nous avons fixé la carte Arduino, la breadboard, le Shield ainsi que l'adaptateur de l'alimentation au support à l'aide de perceuse présente au Fablab :
Afin d'amener le tuyau de liquide au gobelet nous avons ajouté un support à l'aide des chutes de bois présents au Fablab. Le tapis roulant étant trop volumineux nous le fixerons pas au support :
Il ne nous reste plus que le code Arduino à fournir.Nous avons fait quelques tests en utilisant ChatGPT pour tester le fonctionnement de chaque composant seul.
Après nous être assuré du bon fonctionnement de tout nos composants et après verification des liaisons entre la breadboard, l'Arduino et chaque composant (le terme composant étant relatif aux pompes, detecteur-recepteur IR et moteur faisant tourner le rouleau)
Un test pour verifier le debit volumique des pompes a été fait en utilisant une éprouvette graduée emprunté au FabLab Chimie et un chronomètre (sur téléphone). Un temps de 7 secondes à été jugé suffisant pour que le débit de la pompe puisse remplir un gobelet.
Quelques tests du système à partir de codes génerés par ChatGPT ou trouvés sur des forums sur le site d'Arduino (ainsi que d'autres sites internet) ont été effectués, sans succès. Cet échec étant dû au fait que les codes implantés au système ne réussissaient pas a transmettre le signal du detecteur-recepteur IR et à activer la pompe pendant 7secondes tout en arretant le moteur pour le rouleau.
12/01 - Nous avons réussi à configurer notre capteur IR à l'aide du site suivant :
https://mataucarre.fr/index.php/2017/05/24/capteur-de-proximite-infra-rouge-fc-51-arduino/
Notre code est donc le suivant :int led = 8;
int capteur = 3;
int detection;
const int moteurPin = 9;
const int pompePin = 5;
unsigned long activationTime = 0;
const unsigned long dureeActivation = 7000; // Temps d'activation de la pompe en millisecondesvoid setup() {
pinMode(led, OUTPUT);
pinMode(capteur, INPUT);
pinMode(moteurPin, OUTPUT);
pinMode(pompePin, OUTPUT);
}void loop() {
// Lecture de la valeur de l'interface OUT du capteur
detection = digitalRead(capteur);// Si on détecte une personne, on allume la LED et active la pompe
if (detection == 0) {
digitalWrite(led, HIGH);
digitalWrite(moteurPin, LOW);
delay(1000);
digitalWrite(pompePin, HIGH);
delay(7000);
digitalWrite(moteurPin, HIGH);
digitalWrite(pompePin, LOW);
delay(2000);
// Enregistre le temps d'activation de la pompe
activationTime = millis();
} else {
// Si on ne détecte personne et que la pompe est encore active,
// on éteint la LED et la pompe après la durée d'activation spécifiée
if (millis() - activationTime < dureeActivation) {
digitalWrite(led, LOW);
digitalWrite(moteurPin, HIGH);
digitalWrite(pompePin, LOW);
}
}
}
Nous avons fixé le capteur IR avec une vis sur un bout de bois, ce bout de bois étant lui même collé à la courroie de tapis à l'aide d'une colle trouvée au FabLab.
Partie Bibliographie/Ressources :
-Nous nous sommes essentiellement basé sur le projet présenté sur le site ci-dessous afin d'avoir une idée globale : https://www.robotique.tech/tutoriel/systeme-de-remplissage-des-bouteilles-controle-par-arduino/
-Nous nous sommes aussi aidé de différentes vidéos YouTube ci-dessous pour avoir une idée plus précise concernant les branchement, le codage et le matériel nécessaire :
https://www.youtube.com/watch?v=26YH8Mtsxzg&t=1004s
https://www.youtube.com/watch?v=s5Z1mjQnKWY&t=437s
-N'ayant pas forcément fait d'étude de codage, nous nous somme aidé de différents sites:
https://www.robotique.tech/tutoriel/commander-une-pompe-a-eau-par-la-carte-arduino/ Pour le contrôles des pompes.
https://www.arduino.cc/reference/fr/ Pour connaître les commandes de références d'Arduino.
https://chat.openai.com/ L'IA ChatGPT afin de corriger nos erreurs de codes
https://mataucarre.fr/index.php/2017/05/24/capteur-de-proximite-infra-rouge-fc-51-arduino/ Aide pour le codage du capteur IR