Skip to main content

Régulation du procédé de l'élaboration du biodiesel

Régulation de Température et de débit d'alimentation en réactifs pour la Production de Biodiesel

Introduction

La production de biodiesel représente une avancée significative vers une économie durable, offrant une alternative éco-responsable aux carburants traditionnels, réduisant les émissions de gaz à effet de serre et contribuant ainsi à la transition vers une énergie plus propre.

Le procédé consiste à la transestérification des triglycérides pour la production de biodiesel intègre deux réservoirs, chacun contenant des triglycérides et du méthanol avec KOH. Les réactifs sont précisément régulés par des électrovannes, alimentant un réacteur chauffé à 60°C via un système de chauffage à effet Peltier. Cette approche assure des conditions de réaction optimales, favorisant une conversion efficace des triglycérides en biodiesel.

Notre projet se concentre sur la régulation précise des paramètres clés du procédé. Sous la supervision de M. Jérôme PULPYTEL, notre équipe composée de Samy BOUACEM, Sihem BOUHROUM, Imane DADA, Mohammed MEBAREK AZZEM et Mohamed Amir FACI, et  a développé ce projet dans le cadre de l'unité d'enseignement MU5Ci803 (Optimisation et contrôle des procédés) Parcours Ingénierie Chimique.

Matériel Utilisés

  • 1 Microcontrôleur Arduino
  • 1 Bread-board
  • 1 Capteur de température au niveau du réacteur
  • 1 Peltier
  • 1 Capteur de niveau
  • 3 Résistances
  • 2 Boutons poussoir (ON/OFF)
  • Câbles et fils de connexion
  • 4 Sources d'Alimentation de 9V
  • 1 Agitateur
  • 4 Relais
  • 4 Moteurs à courant continu
  • 2 Réservoirs
  • 2 électrovannes
  • 1 Récipient comme un Réacteur
  • Un Support
  • 3 Plaques en plexiglass

Produits Utilisés

  • Triglycéride
  • Méthanol
  • KOH

Description du Procédé

Notre procédé se déroule en plusieurs étapes soigneusement orchestrées :

  • Après avoir activé le bouton ON de la première vanne, elle s'ouvre, permettant au premier réactif d'alimenter le réacteur. Lorsque le niveau atteint X mm, le capteur envoie un signal pour que la vanne se ferme automatiquement.
  • Le dispositif Peltier est activé, initiant le chauffage du réacteur à une température de 60°C. Une fois la température atteinte, on active le bouton ON de la deuxième vanne pour qu'elle s'ouvre afin d'alimenter le deuxième réactif. Simultanément, l'agitation du réacteur débute, assurant une homogénéité optimale de la réaction tout en maintenant la température constante à 60°C.
  • Une fois le niveau Y mm atteint, le capteur de niveau envoie un signal pour que la deuxième vanne se ferme.

Ces étapes séquentielles garantissent un contrôle précis du processus de transestérification, assurant une production efficace et cohérente de biodiesel.

Protocole Expérimentale

  • L'étape initiale consiste à introduire 200 ml d'huile alimentaire dans le récipient tricol.
  • Ensuite, le milieu réactionnel est chauffé à 60 °C à l'aide d'un bain-marie.
  • Les pastilles d'hydroxyde de potassium sont dissoutes dans le méthanol,
  • La solution est introduite dans le ballon sous agitation
  • Le système est ramené à la température ambiante
  • Le milieu réactionnel est transféré dans une ampoule à décanter
  • On laisse le mélange décanter jusqu'à la séparation des phases
  • Entre temps, on fait l'analyse de l'huile, notamment en mesurant son indice d'iode et son indice d'acide.

Avancement

La progression de notre projet était par plusieurs séances de Travail :

Première séance : Lors de notre première réunion, nous avons entamé une séance de brainstorming préliminaire pour fixer notre thème en évaluant la faisabilité du projet tout en définissant la méthodologie de travail.
Au cours de cette séance, nous avons également élaboré un GRAPHSET détaillé de notre projet.

plan_initial_65°C ~~ fin.png

Deuxième séance : Nous avons initié une simulation de notre projet sur Tinkercad et entamé la mise en place des connexions sur la breadboard. En parallèle, nous avons développé le support physique de notre projet.

nmbphrah.png

Troisième séance : Au cours de cette séance, nous avons découpé des plaques de matière PMMA d'un diamètre de 6 mm à l'aide de la machine à découper au laser. Ces plaques servent de support pour les deux réservoirs et le réacteur. Nous avons également installé les électrovannes de manière à assurer la propreté et l'ordre dans notre projet.

Quatrième séance : Nous avons poursuivi en coupant une plaque pour intégrer les conduites des réactifs, le détecteur de température et le capteur de niveau dans le réacteur. En parallèle, le développement du code Arduino a commencé pour automatiser et réguler notre système.

6ndelob8.png

Cinquième séance : Au cours de cette séance, nous avons imprimé un agitateur à l'aide de l'imprimante en 3D. 
Nous avons également entamé la rédaction du rapport sur le Wiki tout en intégrant notre système d'automatisation derrière le support, garantissant ainsi une présentation soignée et bien structurée.

4kvxayg1.png

Sixième séance : Nous avons procédé au branchement du câblage tout en finalisant le code qui automatisera et régulera notre système, qui est comme suite : 

#include <math.h>
#include <OneWire.h>
#include "Ultrasonic.h"

#define DS18S20_Pin 13
#define BUTTON 7
#define PELTIER 6
#define VANNE_A 4
#define VANNE_B 5
#define AGITATEUR 3

float T2 = 60;           // Consigne de Température
float L = 3.8;           // Consigne Niveau
int buttonState;         // Variable pour stocker la valeur du bouton
float R_fixe = 223000;   // Valeur fixe de la résistance du thermistor
enum { OFF, ON } state;   // Enumération pour représenter l'état ON ou OFF

OneWire ds(DS18S20_Pin);  // Initialisation du capteur de température DS18S20 sur la broche 13
Ultrasonic ultrasonic(11); // Initialisation du capteur ultrasonique sur la broche 11
void check_button() {
  buttonState = digitalRead(BUTTON);
  if (buttonState == HIGH) {
    if (state == ON) {
      delay(200);
      state = OFF;
      return;
    }
    if (state == OFF) {
      delay(200);
      state = ON;
      return;
    }
  }
}

void setup() {
  pinMode(PELTIER, OUTPUT);
  pinMode(VANNE_A, OUTPUT);
  pinMode(VANNE_B, OUTPUT);
  pinMode(AGITATEUR, OUTPUT);
  pinMode(BUTTON, INPUT);
  Serial.begin(9600);  // Initialisation de la communication série à une vitesse de 9600 bauds
  delay(500);
}
float getTemp() {
  byte data[9];
  ds.reset();
  ds.select(ds.scan());
  ds.write(0x44, 1);  // Démarrer la conversion de température

  delay(1000);  // Attendre la fin de la conversion

  ds.reset();
  ds.select(ds.scan());
  ds.write(0xBE);  // Lire le Scratchpad

  for (int i = 0; i < 9; i++) {
    data[i] = ds.read();
  }

  int16_t rawTemperature = (data[1] << 8) | data[0];  // Calculer la température à partir des données brutes
  float temperature = rawTemperature / 16.0;  // Convertir la température en degrés Celsius

  return temperature;
}
void loop() {
  check_button();  // Appel de la fonction pour surveiller l'état du bouton

  float temperature = getTemp();  // Mesure de la température
  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" °C");

  long rangeInCentimeters = ultrasonic.MeasureInCentimeters();  // Mesure de la distance avec le capteur ultrasonique
  Serial.print("Distance: ");
  Serial.print(rangeInCentimeters);
  Serial.println(" cm");

  long niveau = rangeInCentimeters;  // Stockage de la valeur de distance dans une variable

  if (state == ON) {
   digitalWrite(VANNE_A, HIGH);
   delay(2000);
   digitalWrite(Peltier, HIGH);
    While (temperature <=T2){
      digitalWrite(Peltier, HIGH);}
    if (niveau <= L) {
      digitalWrite(VANNE_A, LOW);
      digitalWrite(VANNE_B, HIGH);
      digitalWrite(AGITATEUR, HIGH);
    }

    if (niveau <= 3.15) {
      digitalWrite(VANNE_B, LOW);
      digitalWrite(Peltier, LOW);
      delay(2700000);  // Attente de 45 minutes (en millisecondes)
      digitalWrite(AGITATEUR, LOW);
    }
  } else {
    // Éteindre tous les composants lorsque le bouton est en position OFF
    digitalWrite(VANNE_A, LOW);
    digitalWrite(VANNE_B, LOW);
    digitalWrite(PELTIER, LOW);
    digitalWrite(AGITATEUR, LOW);
  }
}


draawnzu.png

Septième séance : Lors de cette séance, notre objectif principal était pour tester le bon fonctionnement de notre système. Nous avons identifié plusieurs problèmes, notamment :

  • Un des vannes était initialement dans la position NO (Normally Open), mais nous l'avons rapidement remplacé par un autre.
  • Nous avons également détecté des fuites dans les réservoirs et les vannes, et avons entrepris des ajustements pour les résoudre.

Parallèlement, nous avons débuté la conception de la plaque de présentation de notre projet. Un code QR a été intégré, dirigeant vers notre projet sur le wiki, et les noms des membres de l'équipe ont été ajoutés, accompagnés du logo de notre faculté, en utilisant le software Adobe Illustrator.

Huitième Séance : Lors de cette séance de test supplémentaire, nous avons rencontré des problèmes de code et de branchement. Nous avons pris le temps d'analyser ces problèmes afin d'apporter les ajustements nécessaires.

Nous avons également utilisé la machine laser pour fabriquer notre plaque de présentation.

skyhedgr.pnghnkw3vfm.png

Neuvième séance : Lors de cette séance, nous avons résolu avec succès les problèmes de branchement et de code, permettant ainsi au système de fonctionner correctement. Cependant, nous avons rencontré un obstacle lié au capteur de température que nous avons tenté de résoudre, mais malheureusement sans succès. En conséquence, nous avons modifié notre plan d'automatisation du projet. Désormais, nous avons programmé l'agitation et l'ouverture de la deuxième vanne lorsque le niveau atteint la marque L1, comme illustré dans le graphique ci-dessous.

après_65°C ~~ fin.png

Dixième séance : Lors de cette séance, nous avons testé notre projet d'automatisation, qui a fonctionné correctement à l'exception d'un problème avec l'intensité de l'agitation. En effet, celle-ci était excessive avec une alimentation de 12 V. Par conséquent, nous avons opté pour une solution en remplaçant cette alimentation par deux piles de 1,5 V chacune, ce qui fournit un voltage plus adapté et suffisant pour contrôler l'agitation.

1707680644397.jpg