DistributeurBoisson2019
Sommaire
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.
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 :
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 :
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.
Schéma de câblage
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
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)
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
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é.
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.