Réalisation d'une burette automatique (Groupe D)
Réalisation d'une burette automatique par mesure de niveau de solution
Projet MUCI803 : Optimisation et contrôle des procédés (groupe D)
Membres du groupe :
Anis BEKHOUKHE (Anis_Rabah.Bekhoukhe@etu.sorbonne-universite.fr)
Selin CENGIZ (selin.cengiz@etu.sorbonne-universite.fr)
Thomas SU (Thomas.Su@etu.sorbonne-universite.fr)
Steeve VONGSOUPHY (steeve.vongsouphy@etu.sorbonne-universite.fr)
Formation : M2 Chimie, parcours ingénierie chimique
Date : 21/10/2024 à Janvier 2025
Contexte
Dans le cadre de ce projet, nous avons conçu une burette automatique équipée d’un capteur de niveau afin de remplir un récipient jusqu’à un volume précis. L’objectif de ce projet est de réaliser un système capable de délivrer automatiquement un liquide, en ajustant le débit en fonction du niveau de remplissage mesuré. Pour ce faire, nous avons utilisé une carte Arduino et un breadboard pour assembler les composants nécessaires, tels qu’un capteur de niveau et un système de commande du débit. Ce projet répond à un besoin fréquent dans les laboratoires de chimie, où la précision du dosage et la répétabilité des mesures sont primordiales. En réalisant ce dispositif, nous avons pu mettre en pratique mes connaissances en électronique, programmation et instrumentation, tout en prenant en compte les impératifs de sécurité et de fiabilité.
Matériel utilisé
- Burette de 30 mL
- Servomoteur
- Capteur de distance (radar)
- Carte Arduino
- Breadboard
- Fils de connexion
- Module MOS
- Fond de bouteille en plastique coupé
Appareils utilisés
- Imprimante 3D Prusa MK4S
- Imprimante 3D Raise 3DPro2
- Découpeuse laser Trotec Speedy 100
- Perceuse
- Scie
- Pistolet à colle
Présentation de la burette automatique
Nous allons réaliser la burette automatique dans le cas d'une dilution automatisée, elle sera équipée d'un modèle 3D (à imprimer) à fixer au robinet : elle jouera le rôle de la main et sera connectée à un servomoteur.
Ce servomoteur sera relié à un système de régulation (comportant une carte Arduino, le module MOS) qui sera relié au capteur de niveau. La burette sera remplie d'une solution et le récipient se trouvant en dessous de la burette sera remplie de la même solution au fur et à mesure que le robinet de la burette sera automatiquement ouverte.
Lorsque le niveau de solution désiré sera détecté : le servomoteur sera activé et fermera donc la burette.
Journal de bord
21/10/24 :
Nous avons tout d'abord commencé par récupérer le matériel qui nous sera utile lors de ce projet. Ensuite, nous nous sommes installés au FabLab afin de réfléchir au contexte, au but ainsi qu'à l'utilité de la burette automatique. Ensemble, nous avons imaginé quelles fonctions doit remplir la burette automatique, ce qui nous a permis de faire une liste des étapes que doit suivre notre dispositif. Nous avons également commencé à faire les branchements électroniques ainsi qu'à réfléchir aux codes à pour notre Arduino. Nous avons fait une liste du matériel qui nous manquait et transmis à notre tuteur.
25/11/24 :
Nous avons reçu le matériel que nous avions demandé, donc nous avons retrouvé notre tuteur pour le récupérer. Nous avons ensuite débuté les bons branchements électroniques au FabLab avec le bon matériel. Nous avons également modélisé une pièce mélangeur pour notre solution sur un logiciel 3D et avons réussi à l'imprimer. Nous avons aussi commencé la modélisation du dispositif qui permet la connexion entre le robinet de la burette et le servomoteur. Le code Arduino a également été entamé.
20/12/24
Nous avons poursuivi nos travaux de câblage, nous avons collé l'hélice fabriquée sur le DC moteur, et nous avons aussi poursuivi la modélisation du dispositif permettant de manipuler la burette.
08/01/25
La modélisation du modèle permettant la connexion entre le servomoteur et le robinet de la burette a été réalisée. Cette pièce a été réalisée grâce au logiciel de Blender. Nous l'avons imprimé avec l'imprimante Raise3DPro, cependant les fentes sur la pièce 3d sont trop petites.
15/01/25
La modélisation de l'actionneur a été ajustée et la pièce a été réimprimée. Nous avons réussi à placer la nouvelle pièce sur la burette et le servomoteur. Nous avons commencé la conception de notre palette (placement des différentes pièces, plaquette comportant nos noms, QR code...), ainsi que la calibration du capteur de lumière. Nous avons décidé de changer de mode de fonctionnement de la burette en raisonnant sur l'intensité de la couleur rouge : la consigne sera une intensité, et la burette fermera lorsque cette intensité sera atteinte.
24/01/25
Lorsque nous essayons de calibrer le capteur de lumière, Arduino IDE nous donne des valeurs aberrantes : La valeur que donne le capteur pour une certaine couleur (ici le rouge) normalement diminue en fonction de l'intensité de celle-ci, mais ceci est avéré sur une surface solide, en effet lorsque nous l'essayons dans de l'eau colorée en rouge, les valeurs ne donnent pas les valeurs espérées, nous avons donc conclu qu'il n'est pas fait pour des liquides transparents. Nous avons en parallèle poursuivi les branchements et la conception de la palette.
27/01/25
Pour régler ce problème de transparence, M. Lanis (notre tuteur) nous a conseillé d'opacifier le milieu avec du lait, cependant cela ne marche pas non plus, nous avons donc conclu que le capteur marche uniquement avec des surfaces solides. Nous avons ensuite essayé la burette avec le pH-mètre en utilisant du vinaigre, et fermer la burette dès qu'on a le pH voulu. La valeur du pH est censé diminuer avec l'ajout de vinaigre sauf que la valeur ne cesse d'osciller au lieu de diminuer linéairement. En voyant que le pH-mètre était défectueux nous avons décidé de faire une burette volumétrique : imposer un volume désiré et faire arrêter le burette dès que ce volume est atteint. En parallèle, nous avons commencé les premières installations sur la maquette.
29/01/25
Nous avons fait la découpe du support qui a permis de fixer la burette ainsi que le capteur de niveau et le servomoteur. En parallèle, tous les composants ont été rassemblés et tous les branchements ont été faits afin de tester le fonctionnement du code ainsi que du système. Tout fonctionnait bien, ce qui nous a poussé à garder la burette volumétrique.
30/01/25
Nous avons modélisé la plaquette contenant le nom du projet, nos noms ainsi qu'un QR code redirigeant les utilisateurs sur cette page. Ensuite, la découpeuse laser a été utilisée faire la gravure sur une chute de bois du type MDF 6mm. La maquette a été rassemblée entièrement et les essais du système ont été conduits. Nous avons détecté une erreur dans le code que nous avons vite réussi à corriger.
31/01/25
Nous avons fait quelques derniers ajustements sur la maquette et sur le code. Nous avons relu et mis à jour notre page wiki, avant d'accueillir notre professeur pour lui présenter notre projet.
Code Arduino
#include <Stepper.h>
int ult_pin=3;
const int stepsPerRevolution = 2038;
Stepper myStepper = Stepper(stepsPerRevolution, 8, 10, 9, 11);
int consigne = 4;
int KP = 1000;
int distance =0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
myStepper.setSpeed(10);
delay(2000);
}
void loop() {
// put your main code here, to run repeatedly:
pinMode(ult_pin, OUTPUT);
digitalWrite(ult_pin, LOW);
delayMicroseconds(2);
digitalWrite(ult_pin, HIGH);
delayMicroseconds(5);
digitalWrite(ult_pin,LOW);
pinMode(ult_pin,INPUT);
long duration;
duration = pulseIn(ult_pin,HIGH);
long centimetre;
centimetre = duration/34/2;
distance = centimetre +1;
//Serial.println(distance);
int error = distance - consigne;
Serial.println(error);
delay(1000);
if (error >0) {
int output = KP*error;
myStepper.step(-stepsPerRevolution/4);
delay(output);
myStepper.step(stepsPerRevolution/4);
delay(1000);
}
}
Schéma des branchements
Photos de la maquette
Vidéo de fonctionnement de notre dispositif
Allez sur le lien suivant afin de visualiser le fonctionnement de la burette automatique :
https://youtube.com/shorts/vhanZpFX8P4
Difficultés rencontrées
Plusieurs difficultés ont été rencontrées durant la réalisation de ce projet. On peut notamment parler des difficultés liées au matériel. Tout d'abord, nous avons dû faire face à des fils électriques défectueux. Après avoir contacté notre tuteur, ce dernier nous a fourni de nouveaux fils. Le module ne fonctionnait pas non plus, et pareil qu'avec les fils électriques, on nous en a fourni un autre.
Nous avons ensuite réalisé que notre capteur de couleur ne marchait pas sur des solutions. En effet, il ne détecte la couleur des surfaces solides uniquement. Ce problème nous a poussé à nous orienter vers le pH-mètre (qu'on avait déjà en notre possession), et de construire un montage de mesure de pH. Malheureusement, après de gros efforts d'écriture de code et de branchements, nous avons réalisé que le pH-mètre qui nous a été fourni ne fonctionnait pas non plus... Nous avons ainsi choisi de nous orienter sur le capteur de distance afin de travailler selon le niveau de solution présent dans un récipient.
Une autre difficulté liée à ce projet à été l'étape d'impression 3D. Pour pouvoir imprimer précisément les pièces qui nous étaient utiles, nous avons lu beaucoup de ressources sur internet et regardé beaucoup de vidéos afin d'apprendre à utiliser le logiciel de modélisation 3D Blender et pouvoir modéliser par nous même les pièces qu'on voulait. Nous avons ainsi réussi à imprimer une hélice (qui ne nous a pas servi au final, étant donné que le capteur de couleur et le pH-mètre étaient défectueux) ainsi qu'une clef de robinet faisant le lien entre le servomoteur et le robinet de la burette (pièce noire visible sur les photos de la maquette).
No Comments