DistributeurBoisson2019

De troyesGEII
Révision datée du 10 avril 2020 à 19:20 par Bjacquot (discussion | contributions) (PILOTAGE DE LA POMPE)
Aller à : navigation, rechercher

Partie 1

INTRODUCTION

Dans le cadre de notre seconde année du DUT Génie électrique et Informatique industrielle à l’IUT de Troyes, il nous est proposé un projet de 4 mois nous permettant de mettre en pratique nos connaissances et nos compétences professionnelles au travers d’un cahier de charges ayant pour finalité de faire du café pour notre projet.

PRÉSENTATION DU PROJET

Le Bvm972 est un dispositif automatique de boissons chaudes et froides permettant de faire du café, du thé ou encore du chocolat. Le choix est assuré par une interface Homme / Machine contenant 56 sélections programmables. Pour la réalisation des boissons, il peut accueillir : • entre 3.8 à 4.5 Kg de graine de café • 5.2 Kg de sucre • 4.8 Kg de chocolat • 2.2 Kg de lait en poudre • 700 gobelets Pour son bon fonctionnement, il est équipé de système automatique pour le réglage de la mouture afin de garantir une meilleur qualité du produit quelques soient les variations de températures et le taux d’humidité ambiant. Bvm972-2.jpg

LES MESURES EFFECTUÉES

Pour pouvoir effectuer les câblages sur les actionneurs et les capteurs nous avions eu à relever les mesures ci-dessous sur ces derniers : Capture mesure.PNG

SCHÉMA HYDRAULIQUE

Pendant le fonctionnement normal, le distributeur est mis en veille. En appuyant sur la touche relative à la boisson désirée, le cycle de distribution de la boisson est activé et l'eau fraîche coule dans le circuit hydraulique ci-dessous :


Capture.PNG

Pour assurer le bon fonctionnement du circuit hydraulique, il est nécessaire de savoir piloter les actionneurs et vérifier l’état des capteurs.

Partie 2

PILOTAGE DES CAPTEURS

Ce capteur est un capteur TOR, une sorte d’interrupteur qui informe d’un stock plein de l’eau lorsque le courant passe. Capture1.PNG


Schéma de câblage

Capture2.PNG

Programmation

#include <Wire.h>
#include "Adafruit_MCP23008.h"
Adafruit_MCP23008 mcp;

int bouton = 0;     // Numéro de la broche à laquelle est connecté le bouton poussoir
int led =  1;      // Numéro de la broche à laquelle est connectée la LED

// Déclaration des variables :
int etatBouton = 0;         // variable qui sera utilisée pour stocker l'état du bouton

  
void setup() {  
  Serial.begin(9600);
  mcp.begin();      // use default address 0
  mcp.pinMode(led, OUTPUT);     // indique que la broche led est une sortie :
  mcp.pinMode(bouton, INPUT);  // indique que la broche bouton est une entrée :
}

           // le code dans cette fonction est exécuté en boucle
void loop() {
  etatBouton = mcp.digitalRead(bouton);   // lit l'état du bouton et stocke le résultat dans etatBouton

         // Si etatBouton est à 5V (HIGH) c'est que le bouton est appuyé
  if ( etatBouton == HIGH) {     
     mcp.digitalWrite(led, LOW);  // on allume la LED
      Serial.println(0);          //On affiche l'etat de la led sur le moniteur serie
      delay(1000);               //Pour une durée de 1s
  
  }
  else {
     mcp.digitalWrite(led, HIGH); // sinon on éteint
      Serial.println(1);         //On affiche l'etat de la led sur le moniteur serie
      delay(1000);              //Pour une durée de 1s
  }
}

Etat de capteurs

ces capteurs ne renverront que deux niveaux logiques : 0 = absence d’eau. 1 = présence d'eau

Capture3.PNG

Carte Capteutr

La carte capteur est associée à une carte Arduino qui lui permet de communiquer avec les autres éléments du système (des électrovannes) Capture4.PNG

PILOTAGE DES ACTIONNEURS

PILOTAGE DES ÉLECTROVANNES

Comme indiqué ci-dessous les électrovannes qui se trouvent sur la machine à café sont alimentées en 24v et elle sont commandées par une carte arduino alimentée en 5v : L’électrovanne est composé d’une entrée (1) et deux sorties (2)(3).Elle permet de fermer une sortie pour en ouvrir une autre. En clair, lorsque l’on demande du café à la machine, la sortie 2 se ferme pour laisser passer l’eau entre la 1 et 3. Et quand la machine s’arrête, la sortie 2 s’ouvre et la 3 se ferme. L’eau en pression dans la chaudière est alors évacuée. Soit l’eau retourne dans le bac à eau soit dans le réservoir d’eau usée.

Schéma de Câblage des Électrovannes

Capture5.PNG

PILOTAGE DE LA POMPE

La pompe est piloter par ce shéma ci-dessous qui est composé de deux parties: une partie commande et une partie puissance comme indiqué ci-dessous. La pompe propulse l’eau dans tout le circuit hydraulique de la machine à café de façon à passer à travers la mouture de café. IMG 20200327 201503.jpg


Schéma électrovanne explication

Le schéma montre 2 moteurs, il faut interpréter comme l'un étant le fil d'ouverture et le second le fil de fermeture. Diode de roue libre pour protéger le transistor, et résistance de rappel pour décharger la grille du transistor et éviter les commutations "aléatoires" Avec le relais que nous avons utilisés c'est assez simple, vu que nous disposons de 3 connections:

-Un contact NC -Un contact NO -Un commun.

Nous avons déterminer l'état le plus "courant" de la vanne: Ouverte ou Fermée.

Nous avons connecter le +24V sur la borne Commun. Le vert/bleu sur le NC Le rouge sur le NO

Dans cette config, relais au repos la vanne sera Fermée, relais excité la vanne sera ouverte. Si toutefois, la vanne doit rester plus souvent ouverte que fermée, il est préférable d'inverser le câblage pour garder le relais le plus possible au repos.

Cette solution a aussi l'avantage d'utiliser une seule sortie de la carte qui en état LOW/HIGH correspond à vanne ouverte/fermée

TESTE DE FONCTIONNEMENT

Programmation

Voici le programme qu’on a mis en place pour pouvoir piloter les capteurs, les électrovannes et vérifier le bon fonctionnement du système:

#include <Wire.h>
#include "Adafruit_MCP23008.h"
Adafruit_MCP23008 mcp;

int pinBouton  = 2;
int pinGrille1 = 3;
int pinGrille2 = 4;
int pinBouton1 = 5;
int pinLed1    = 6;
int pinPompe   = 7;

void setup()
{
  // définition des broches en sortie
  //Serial.begin(9600);
  mcp.pinMode(pinBouton,  INPUT);
  mcp.pinMode(pinBouton1, INPUT);
  mcp.pinMode(pinGrille1, OUTPUT);
  mcp.pinMode(pinGrille2, OUTPUT);
  mcp.pinMode(pinLed1,    OUTPUT);
  mcp.pinMode(pinPompe,   OUTPUT);
}
void loop()
{
   //test des conditions
   if (digitalRead(pinBouton1)==HIGH)
  {
    mcp.digitalWrite(pinGrille1,HIGH); //5v
    mcp.digitalWrite(pinPompe,  HIGH);
    }
    else
    {
    mcp.digitalWrite(pinGrille1,LOW); //0v
    mcp.digitalWrite(pinPompe,  LOW);
      }
  if (mcp.digitalRead(etatBouton)==HIGH)
  {
  mcp.digitalWrite(pinGrille2,LOW); //5v
  mcp.digitalWrite(pinLed1,   LOW); //Led1 ETEINTE
    
  }
  else
  {
  mcp.digitalWrite(pinGrille2,HIGH); //
    
  mcp.digitalWrite(pinLed1,   HIGH); //Led1 allumer
}  
  delay(100); //petite attente
}

CONCLUSION

Ce projet de DISTRIBUTEUR DE BOISSON a cette particularité de rassembler divers corps de métiers : programmation, informatique, électronique, et bien d'autres. Cette pluridisciplinarité fut un obstacle que nous avons surmonté grâce aux compétences multiples et à la polyvalence de notre équipe. Cette polyvalence a notamment été mise à profit dans l'attribution des tâches afin que chacun tire parti de ses accomplissements. Enfin, les temps impartis à la réalisation du système furent bref et il a fallu faire preuve de flexibilité et de persévérance pour respecter les délais imposées par le projet. Somme toute, nous avons retrouvé lors de ces quatre mois, les compétences, les contraintes mais aussi l’excitation d’un projet d’entreprise.