Skip to main content

Réalisation d'une burette automatique (Groupe H)

Réalisation d'une burette automatique par mesure d'intensité optique:optique :

Dans le cadre du module "Optimisation et contrôle des procédés" , notre projet, intitulé "Réalisation d'une burette automatique" , vise à concevoir un dispositif innovant pour automatiser les opérations de titrage en laboratoire. Ce projet s’s'inscrit dans une démarche visant à optimiser la précision, l’l'efficacité et la reproductibilité des expériences chimiques.

Membres du projet 
  • AIT MBAREK Amani, TOUNSI Imene, CECCAROSSI Giuliano, ENNAZI Fadwa, GHERROUZ Mohamed Amine

  • amani.ait_mbarek@etu.sorbonne-universite.fr;fr ; Imene.Tounsi@etu.sorbonne-universite.fr;fr ; Giuliano_Rey.Ceccarossi@etu.sorbonne-universite.fr ; Ennazi.fadwa@etu.sorbonne-universite.fr ; Mohamed_amine.GHERROUZ@etu.sorbonne-universite.fr 

  • Projet MU5CI803 : Optimisation et contrôle des procédés (groupe H)

  • Période du réalisation du projet : Octobre 2024 - Janvier 2025

Contexte

Dans le cadre de l'UE "Optimisation et contrôle dedes procédés,processus", nous devonsavons effectuerpour laobjectif degulationguler d'un système àen l'aideutilisant d'une carte Arduino. Pour ceatteindre faire,cet nousobjectif, devonsil est essentiel de déterminer le matériel nécessairerequis, de concevoir et assembler correctement la structure, ainsi que de réaliser les branchements etnécessaires. En outre, nous devons développer les différents codes quipermettant permettront l'l’automatisation de notredu procédé.

L’objectif principal sera d’appliquer nos connaissances en programmation (notamment avec l’environnement Arduino) tout en utilisant les équipements du fablab pour réaliser une manipulation manuelle des machines. Cela nous permettra de créer un système automatisé et optimisé, consistant en une burette capable de verser une quantité précise de liquide coloré dans un récipient, afin d’obtenir un changement de couleur conforme à la valeur souhaitée.

Objectifs

Notre sujet porte sur la réalisation d'une burette automatique. Pour effectuer la régulation, nous utiliserons un capteur de mesure d'intensité optique et notre actionneuractionnement sera un servomoteur; Le but est d'atteindre une couleur définie dans le récipient rempli d'eau.

Matériels nécessaires:cessaires :
  • Carte Arduino
  • Photorésistance
  • Servomoteur
  • BreadboardPlanche à pain
  • Résistances
  • Transistor
  • LED verte et rouge
  • Tuyaux
  • Fils
  • RécipientsDestinataires : verres
  • Robinet
  • ElectrovanneÉlectrovanne 
  • Agitateur (impression 3D)
  • Plaque peuplier 6mm

Mise en situation 

Le titrage est une technique couramment utilisée en laboratoire pour déterminer la concentration d'une solution chimique. Toutefois, les manuels de titrages manuels présentent des limites en termes de précision et de reproductibilité, en raison des erreurs humaines et des variations dans la manipulation. C'est dans ce contexte que s'inscrit notre projet visant à concevoir une burette automatique capable de réguler avec précision l'ajout d'un réactif, jusqu'à l'obtention d'une couleur cible dans le récipient de titrage. 

Pour assurer ceci, nous avons choisi de baser notre système sur une approche innovante utilisant une carte Arduino comme unité de contrôle et d'intégrer un capteur d'intensité optique qui permet de détecter précisément le changement de couleur, tandis qu'un servomoteur qui agit en tant qu'actionneuractionnement pour ouvrir et fermer une électrovanne, régulant ainsi l’l'écoulement du réactif. Ensuite le dispositif sera complété par un ensemble d’d'éléments mécaniques et électroniques à savoir : une breadboard pour les connexions, des tuyaux pour le transfert des liquides, et un agitateur imprimé en 3D pour homogénéiser la solution. 

Ce système vise à offrir une solution automatisée, économique et efficace, adaptée aux besoins des laboratoires pédagogiques ou de recherche.

Journal de bord
Lundi 14/10/2024 : 

Suite à notre première réunion, nous avons examiné deux approches distinctes. La première consiste à détecter le point d'équivalence par un changement de couleur chimique, en utilisant un dosage colorimétrique (oxydoréduction ou acide-base). L'avantage principal de cette méthode réside dans sa simplicité et sa rapidité d'exécution. La seconde approche, quant à elle, repose sur une détection physique de la couleur. Elle implique l'ajout progressif d'une solution colorée dans un récipient initialement rempli d'eau pure. L'ajout se poursuit jusqu'à l'obtention de la concentration finale souhaitée, ce qui se 
traduit par une variation de l'intensité lumineuse. Ce paramètre sera mesuré avec précision à l'l’aide d'd’un capteur spécifique. 
Après une discussion approfondie et une analyse comparative des deux méthodes, nous avons décidé d’d'opter pour la seconde approche qui est plus conforme aux instructions imposées dans le sujet. L’L'image suivante montre le schéma de discussion et brainstorming : 

image.png

Ensuite nous avons fait un schéma qui résumésume l’l'idée que nous avons choisie :

image.png

Lundi 04/11/2024 :

Aujourd'hui, nous avons discuté des approches pratiques pour la réalisation du projet en examinant les matériels disponibles et nécessaires. Nous avons également pris en compte les dimensions spécifiques de chaque élément, comme le volume du récipient destiné au mélange ou le débit du système de pompage à intégrer.

Par ailleurs, nous avons abordé les expériences de dilution à réaliser afin de déterminer des valeurs fixes (consignes), notamment le volume de solution colorée à ajouter, ainsi que les concentrations initiale (C₀) et finale (Cf).

image.pngl33image.png

Lundi 18/11/2024 : 

1) ExpérimentalConception designexpérimentale pour trouver la concentration de la solution colorée : Cm 

Pour cela, nous aurons besoin d'une balance analytique et de plusieurs récipients. L'objectif est de déterminer une concentration optimale de colorant qui permette d'obtenir une solution colorée, ni trop foncée ni trop claire. Nous réaliseronsalisons plusieurs dilutions en maintenant un volume fixe d'eau, en variantvariante uniquement la masse de colorant ajoutée.. La balance analytique sera utilisée pour mesurer avec précision les masses d'eau et de colorant.

En connaissant la masse d'eau et de colorant ajoutée,, nous pourrons calculer la concentration de chaque dilution préparée, exprimée en pourcentage massique (%wt). Ensuite, à l'œil nu, nous déterminerons quelle dilution sera la plus adaptée pour notre travail.

Le plan experimentalexpérimental sera montrée à continuationsuite

2) ExpérimentalConception designexpérimentale pour trouver lale volume de solution colorée à ajouter (V)

Pour ce faire, il sera nécessaire de définir au préalable la concentration finale souhaitée. Ensuite, en connaissant la concentration de la solution colorée initiale, nous pourrons calculer le volume à ajouter pour atteindre la concentration finale visée à l'aide de la reglerègle de dilution : 

Vsc*Csc  = Veau * Cf

Vsc = Veau*Cf / Vsc

avec : 

  • Vsc = volume solution colorée à ajouter
  • Csc = cconcentration solution colorée à ajouter (calculée précedemment)
  • Veau = volume d'eau initial dans le récipient
  • Cf = concentration finalfinale souhaitée dans le récipient 

3) ExpérimentalConception designexpérimentale pour l'étalonnage de la pompe : 

Lundi 18/11/2024 :

Conception expérimentale pour déterminer la concentration de la solution colorée (Cm)
 Nous avons utilisé une balance analytique et plusieurs récipients pour préparer différentes dilutions de colorant dans un volume fixe d’d'eau. En ajustant les masses de colorant, nous avons calculé les concentrations (% massique) pour chaque dilution. Ensuite, à l'œil nu, nous avons sélectionné la dilution offrant une teinte optimale.

Conception expérimentale pour déterminer le volume de solution colorée à ajouter (V)
 En connaissant la concentration initiale de la solution colorée (Csc) et le volume d'eau dans le récipient (Veau), nous avons calculé le volume de solution colorée à ajouter pour obtenir la concentration finale souhaitée (Cf) à l’l'aide de la formule :

Vsc*Csc  = Veau * Cf

Vsc = Veau*Cf / Vsc

avec : 

  • Vsc = volume solution colorée à ajouter
  • Csc = cconcentration solution colorée à ajouter (calculée précedemment)
  • Veau = volume d'eau initial dans le récipient
  • Cf = concentration finalfinale souhaitée dans le récipient 

Conception expérimentale pour l'étalonnage de la pompe
 L'étalonnage visait à mesurer et ajuster les performances de la pompe pour garantir son bon fonctionnement dans le système.

Mercredi 04/12/2024 :

Dans le cadre de notre projet, nous avons réalisé plusieurs manipulations afin de déterminer la concentration optimale à utiliser par la suite. Voici les étapes suivies :

Préparation des solutions de colorant

Nous avons préparé deux solutions :

    • La première en dissolvant 10 gouttes de colorant dans 100 ml d’d'eau .
    • La deuxième en dissolvant 18 gouttes de colorant dans 100 ml d’d'eau .

Mesures et tests de coloration

Pour chacune des solutions préparées, nous avons procédé de la manière suivante :

À l’l'aide d’d'une burette graduée, nous avons versé la solution goutte à goutte dans un bécher contenant 100 ml d’d'eau .

Nous avons surveillé la coloration obtenue jusqu’jusqu'à atteindre la teinte désirée.

Nous avons noté le volume de solution versé pour chaque essai.

Choix de la solution optimale

Après avoir comparé les résultats pour les deux solutions, nous avons décidé d’d'utiliser la première solution (10 gouttes dans 100 ml d’d'eau) . Cette option permet d’d'atteindre la coloration souhaitée avec un volume de solution plus important, offrant ainsi une meilleure précision et une marge de manœuvre dans les ajustements.

Préparation de la solution diluée

À partir de la solution mère (10 gouttes dans 100 ml d’d'eau), nous avons prélevé 20 ml que nous avons ajoutés à 100 ml d’d'eau pour préparer une solution fille diluée.

Mesure de l’l'intensité lumineuse

Nous avons ensuite inséré un code dans le logiciel Arduino pour mesurer la valeur de l’l'intensité lumineuse de la couleur rouge dans chacune des solutions. Ces mesures permettrontpermettent d’d'affiner notre choix et d’d'intégrer ces paramètres dans notre système automatisé.

Ci-dessous le code utilisé 

// Définition des broches du capteur TCS3200 
const int S0 = 2; 
const intentier S1 = 3;3 ;
const intentier S2 = 4;4 ;
const intentier S3 = 5;5 ;
const int sensorOutcapteurOut = 6;6 ;

void setup() { 
  // Configurer les broches de sortie 
  pinMode(S0, OUTPUT); 
  pinMode(pinMode (S1, OUTPUT)SORTIE); 
  pinMode(pinMode (S2, OUTPUT)SORTIE); 
  pinMode(pinMode (S3, OUTPUT)SORTIE); 
  pinMode(sensorOut, INPUT); 

  // Régler lela scalingmise à l'échelle à 20% (S0 HIGH, S1 LOW) 
  digitalWrite(S0, HIGH); 
  digitalWrite(écriture numérique (S1, LOW)FAIBLE); 

  Serial.Série.begin(9600); 
} 

void loop() { 
  int redFrequency, greenFrequency, blueFrequency; 

  // Lecture de la composante Rouge 
  digitalWrite(S2, LOW); 
  digitalWrite(écriture numérique (S3, LOW)FAIBLE); 
  redFrequency = pulseIn(sensorOut, LOW); 

  // Lecture de la composante Verte 
  digitalWrite(S2, HIGH); 
  digitalWrite(écriture numérique (S3, HIGH)ÉLEVÉ); 
  greenFrequency = pulseIn(pulseIn (sensorOut, LOW); 

  // Lecture de la composante Bleue 
  digitalWrite(S2, LOW); 
  digitalWrite(écriture numérique (S3, HIGH)ÉLEVÉ); 
  blueFrequency = pulseIn(sensorOut, LOW); 

  // Affichage des valeurs dans le moniteur série 
  Serial.print("Rouge: "); 
  Serial.print(redFrequency)print (rougeFréquence); 
  Serial.print("  Vert: "); 
  Serial.print(greenFrequency)print (fréquence verte); 
  Serial.print("  Bleu: "); 
  Serial.println(blueFrequency); 

  delay(retard (500); // Attente avant la prochaine lectureconférence
}

image.png

image.pngimage.png

Mercredi 18/12/2024 :

Nous avons préparé le support destiné à la présentation de notre projet en suivant plusieurs étapes.tapes suivantes. Tout d’d'abord, nous avons démonté l’l'ancien support en dévissant ses différentes parties afin de récupérer les plaques et les éléments réutilisables. Ensuite, nous avons pris avec précision les dimensions des anciennes plaques pour nous assurer que les nouvelles soient parfaitement adaptées aux besoins du projet. Une fois ces mesures relevées, nous avons découpé les nouvelles plaques à l’l'aide d’d'une scie, en veillant à obtenir des découpes nettes et précises. Enfin, nous avons assemblé le nouveau support en fixant solidement les plaques découpées, tout en vérifiant la stabilité et la solidité de l’l'ensemble. Ce support est maintenant prêt à accueillir notre projet pour une présentation optimale.

y6k8dbiy.png

Lundi 30/12/2024

Nous avons effectué les différents branchements entre la carte Arduino, la breadboard, la pompe et le capteur de couleur. Cela nous a permis de préparer l’l'intégration de ces composants pour les prochaines étapes de notre projet.

Mercredi 15/01/2025

Nous avons lu le manuel d’d'utilisation de la découpeuse laser sur le Wiki du Fablab pour bien comprendre son fonctionnement et ses consignes de sécurité.

Ensuite, nous avons utilisé la découpeuse laser pour fabriquer un support destiné à couvrir le verre. Ce support comprend des trous conçus spécifiquement pour permettre le passage des tuyaux, du capteur de couleur et de l’l'agitateur.

En parallèle, nous avons travaillé sur le code en intégrant la partie nécessaire au bon fonctionnement du capteur de couleur. Cela inclut l’l'interfaçage avec la carte Arduino et les tests initiaux pour valider les valeurs captées.

Jeudi 16/01/2025

Nous avons découpé différents socles qui serviront de supports pour les récipients. Ces supports ont été ajustés pour assurer la stabilité et l’l'ergonomie de l’l'ensemble du dispositif.

Nous avons également consulté le manuel d’d'utilisation de l’l'imprimante 3D Raise3D afin de l’l'utiliser pour imprimer notre agitateur. Après avoir exporté le modèle de l’l'agitateur depuis notre logiciel de conception, nous l’l'avons redimensionné selon les besoins du projet. Finalement, nous avons imprimé l’l'agitateur avec les dimensions adéquates. Celui-ci sera fixé au moteur pour assurer un bon mélange.

Vendredi 17/01/2025

 

Nous avons effectué d’autresplusieurs découpages supplémentaires sur la plaque principale et avons commencé à visserfixer les socles pour fixer solidement lesdes différents composants.composants à l'aide de vis, afin d'assurer une fixation solide. Avant cela, nous avons réalisé un dimensionnement préliminaire sur un brouillon, permettant de déterminer les positions les plus optimales des composants sur la plaque en bois. Cette approche visait à garantir que le positionnement spatial de chaque élément ne nuise pas au bon fonctionnement des autres. Vous trouverez ci-joint la feuille de brouillon utilisée pour le montage structurel.

WhatsApp Image 2025-01-31 at 14.56.56.jpeg

De manière similaire, nous avons procédé pour les composants électroniques situés à l’arrière de la plaque de bois. Pour leur fixation, nous avons choisi des vis de taille appropriée et utilisé une perceuse, disponible dans l'atelier de menuiserie, afin de réaliser les perforations aux emplacements préalablement sélectionnés.

WhatsApp Image 2025-01-31 at 15.14.21.jpegWhatsApp Image 2025-01-31 at 15.14.22.jpegWhatsApp Image 2025-01-31 at 15.14.21 (1).jpeg

Ensuite, nous avons testé individuellement chaque appareil (pompe, capteur de couleur, agitateur, etc.) pour nous assurer de leur bon fonctionnement. Pendant ces tests, nous avons constaté que la résistance utilisée n’n'était pas adaptée, ce qui a nécessité de la remplacer par une autre correspondantcorrespondante aux spécifications requises.

Par ailleurs, nous avons également dû changer le transistor, car nous avions initialement sélectionné une référence incorrecte. Après avoir installé le bon transistor, les tests ont été repris avec succès.

Lundi 20/01/2025 :

Nous avons finalisé les derniers éléments du montage et avancé sur le branchement des différents composants entre eux. Cette étape nous a permis de tester l’l'intégration complète du système et de nous assurer que le code fonctionne correctement en interaction avec les composants.

Voici le code après les ajustements réalisés :

#include <Wire.h> 
 #include <LiquidCrystal_I2C.h> 
 # définir 5 
 #définir S2 4 
 #définir S3 3 
 int R,V,B; unsignedtemps longlongs temps;non signés ; int pomppompe = 8 ; 
 int agitateur = 6 ; 
 LiquidCrystal_I2C écran LCD ( 0x 27 , 16 , 2 ) ;

 configuration vide (vide() { 
 pinMode ( sortie, ENTRÉE ) ; 
 pinMode ( S2, SORTIE ) ; 
 pinMode ( S3, SORTIE ) ;

 pinMode ( pompe,SORTIE ) ; 
 pinMode ( agitateur,OUTPUT ) ; 
 lcdécran .LCD. initinitialiser () ; // Initialiser l'écran LCD 
 LCD . rétroéclairage () ; 
 écran LCD.setCursor ( 0 , 0 ) ; 
 lcdécran .LCD. print ( "Ca,commancecommence !" ) ; 
 retard (2000); 2000 ) ;
 digitalWrite ( agitateur, 1 ) ; 
 digitalWrite ( pompe, 1 ) ; 
 }

 boucle vide (vide() { 
 écriturenumécriture numérique ( S2, 0 ) ; 
 écriture numérique ( S3, 0 ) ; 
 R = pulseIn ( sortie, 0 ) ; 
 retardretarder ( 10 ) ; 
 int temps = millis () ;

 si ( R< 220 ) { 
 digitalWrite ( pomp,pompe, 0 ) ; 
 débit flottant = ( 27,77 *temps ) / 1000 ; 
 lcd .clear () ; // Efface l'affichage 
 de l'écran LCD.setCursor ( 0 , 0 ) ; 
 écran LCD . print ( " Le débit est : " ) ; 
 écran LCD.setCursor ( 0 , 1 ) ; 
 écran LCD . imprimer ( flux ) ; 
 écran LCD.imprimer ( "ml" ) ; 
 }

 }

Mercredi 22/01/2025 :

En testant le bon fonctionnement de l’l'ensemble du montage, nous avons constaté que l’l'afficheur LCD n’n'affiche pas les résultats comme prévu. Pour identifier la cause du problème, nous avons décidé d’d'effectuer un test isolé. Nous avons utilisé un code simple pour afficher un message basique sur le LCD sans qu’qu'il soit lié au reste du montage. Cette méthode nous permet de vérifier si le problème provient du module LCD lui-même ou d’d'une autre partie du système.