LEI400 : Différence entre versions
| Ligne 40 : | Ligne 40 : | ||
Celui-ci est une thermistance, nous faisons actuellement plusieurs mesures pour obtenir la courbe (et donc l'équation de température) la plus précise. | Celui-ci est une thermistance, nous faisons actuellement plusieurs mesures pour obtenir la courbe (et donc l'équation de température) la plus précise. | ||
Nous sommes actuellement en train de faire la dernière mesure de la résistance en fonction de la température. | Nous sommes actuellement en train de faire la dernière mesure de la résistance en fonction de la température. | ||
| + | |||
| + | [[Fichier:Enpleinemesure.jpg|sans_cadre|centré|En pleine mesure]] | ||
| + | |||
==== Le programme Arduino est le suivant: ==== | ==== Le programme Arduino est le suivant: ==== | ||
Version du 10 novembre 2016 à 09:38
Distributeur de boisson Bianchi LEI400.
Sommaire
Présentation du projet:
Dans le cadre de notre projet d'étude et réalisation du troisième semestre nous somme chargés de réparer et convertir une machine à café industrielle pour un usage personnel.
- Les paramètres doivent donc tous pouvoir être modifiés par l'utilisateur.
- La machine doit pouvoir s'adapter à la boisson que l'utilisateur veut obtenir (modification du contenu des bacs).
- La machine doit pouvoir s'adapter aux récipients de l'utilisateur.
- La sécurité de l'utilisateur vis-à-vis de la machine.
- Le système de monnaie sera supprimé.
Présentation du distributeur:
La machine:
La machine à café LEI400 sur laquelle nous allons travailler ne fonctionne actuellement plus.
Il nous faut donc recréer une carte de puissance et une carte de gestion.
A l'origine la machine dispose de 11 boutons permettant de choisir les boissons, et de deux boutons permettant de régler la quantité de sucre.
Documentation:
DOC 1
DOC 2, Utilisateur
DOC 3, Technique
Analyse fonctionnelle:
Diagrammes(...):
Etude de la machine:
Etude des capteurs:
Flotteur dans la cuvette[3] (voir lei400.pdf p56):
Après avoir testé le contact on s'est rendu compte qu'il est normalement fermé. Sur le connecteur les deux premières broches accessibles sont utilisées.
Capteur de Température
Celui-ci est une thermistance, nous faisons actuellement plusieurs mesures pour obtenir la courbe (et donc l'équation de température) la plus précise. Nous sommes actuellement en train de faire la dernière mesure de la résistance en fonction de la température.
Le programme Arduino est le suivant:
#define resistanceserie 9844.0
#define pinthermistance A0
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
float vRt;
float lecture;
float RT;
float Temp;
lecture = analogRead(pinthermistance);
vRt = (5.0*lecture)/1023.0;
RT=(vRt*resistanceserie)/(5.0-vRt);
//Temp=80.3944*exp(-0.0139854326*(RT/1000));
//Temp=296.70771*exp(-0.044304*(RT/1000));
Temp=100.7692461863*exp(-0.0196531819*(RT/1000));
Serial.println(Temp);
Serial.println(RT);
Serial.print("tension au borne de RT : ");
Serial.println(vRt);
delay(1000);
}
Celui-ci nous donnera la température, les lignes en commentaire montre que l'équation de température n'est pas encore stabilisée.
Etude des electrovannes:
Electrovanne d'arrivée d'eau
- 24VDC, 400mA
- Normalement Fermée
- Dispose d'une sécurité mécanique bloquant l'arrivée d'eau si un retour ce produit.
Etude du triac fonctionnant sur le réseau 230V:
Montage réalisé
Lors de la première séance, on a étudié le fonctionnement du triac et on est arrivé à ce montage
Calcul de la résistance d'entrée: R= (5-1,25)/0,015 = 250 ohms. On a pris une tension d'entrée qui vaut 5v (soit celle d'une carte arduino) et l'intensité vaut 15mA max (ceci a été défini par le constructeur, voir datasheet du moc3041).
Valeurs des composants utilisés:
- R1= 220 ohms
- R2= 390 ohms
- R3= 330 ohms
- R4= 39 ohms
- C1= 0,01 uf
- R6= Réstance chauffante
Lors de la deuxième séance, on a préparé la boite pour l'alimentation (rajouter photo) et on a soudé les différents composants sur une plaquette pour pouvoir tester le bon fonctionnement du système.
Utilisation du montage
Ce montage va nous permettre de contrôler la pompe à eau principale.
Tests:
Circuit d'arrivée d'eau jusqu'à la cuvette le 06/10
Schéma électrique:
Petit programme arduino:
boolean flag=true; //on ne veut faire la manip qu'une fois
void setup() {
pinMode(13,OUTPUT);//led carte arduino
pinMode(2,OUTPUT);
pinMode(3,INPUT_PULLUP);//contacteur en pull up on retrouve 0 si pas d'eau et 1 si de l'eau
}
void loop() {
while(digitalRead(3)==LOW && flag){// si pas plein d'eau et première fois
digitalWrite(13,1);//on rempli
digitalWrite(2,1);
}
flag=false;
digitalWrite(13,0);//c'est plein on coupe l'arrivée
digitalWrite(2,0);
}
On constate que l'eau arrive bien jusqu'a la cuvette. Une fois que le flotteur est remonté l'arrivée d'eau est bien coupée par l'arduino.
- Il faut par la suite ajouter une sécurité permettant de couper l'arrivé d'eau si le flotteur monte sans passer par le micro-controleur.
Ébauche d'idées pour la sécurité.
| Entrées | Sorties | |
| A | B | S |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
On pose A le flotteur dans la cuvette et B le µC.
Quand le niveau de logique de A est 1 on peut ajouter de l'eau.
B doit pouvoir autoriser l'arrivée d'eau si A n'est pas à 0 et il doit pouvoir bloquer l'arrivée d'eau dès qu'il souhaite.
- Pour résumer on doit donc apporter de l'eau seulement quand le niveau le permet et quand le µC le demande on a donc la correspondance avec une fonction AND entre A et B.
Circuit d'arrivée d'eau jusqu'à la cuvette le 20/10
- Ajout du système de sécurité pour bloquer l'arrivée d'eau en cas de cuve pleine.
Dans un premier temps nous avons essayé d'utiliser une porte logique NAND, on constate que le système fonctionne cependant on utilise qu'un quart du composant. Nous allons donc utiliser deux transistors SI2336DS de type N-MOS, qui se contrôlent en tension, en série de façon à ce qu'on ouvre l’électrovanne si et seulement si l'arduino demande l'ouverture et que la cuve n'est pas pleine.
- Cela simplifie le montage et le rend beaucoup plus petit.
Etude du capteur volumétrique le 03/11
- Nous avons étudié le capteur grâce au montage ci dessous et nous avons remarqué qu'à la sortie de ce capteur, on a un signal carré dont la fréquence change en fonction du débit de l'eau.
- Nous avons donc réalisé des tests grâce au programme suivant:
volatile long compteur = 0;
void reagir()
{
compteur++; // interruption 0 reliée à la patte n°2 de l'arduino
}
void setup() {
Serial.begin(9600);
attachInterrupt(0, reagir, CHANGE); // incrémentation de la variable compteur à tout les fronts envoyés par le capteur
}
void loop() {
Serial.println(compteur);
delay(100);
}
- Ensuite, avec l'aide de ce programme, nous avons relevé les valeurs en fonction de la quantité d'eau qui passait dans le capteur. On obtient le tableau suivant:
| Quantité (ml) | 100 | 200 | 300 | 400 | 500 |
| vitesse lente | 264 | 490 | 737 | 998 | 1204 |
| vitesse moyenne | 241 | 506 | 750 | 1000 | 1222 |
| vitesse rapide | 248 | 486 | 738 | 1009 | 1218 |
| valeur moyenne | 251 | 494 | 741,7 | 1002,3 | 1214,7 |
- Avec toutes ces valeurs, on peut donc tracer la courbe qui nous donnera l’équation de la quantité en ml en fonction du nombre de valeur envoyé par le capteur.
Composants utilisés/ables
| Nom | Type | Boîtier | Librairie Eagle | Référence eagle | Documentation | Fournisseur | Référence |
|---|---|---|---|---|---|---|---|
| SI2336DS | N-MOS | SOT23 | datasheet | ||||
| touchscreen | documentation |
Datasheets et informations techniques
- capteur volumétrique
- 974-9522-b
- Dans la doc si dessous et (surtout) avant de cabler bien lire et comprendre la rubrique MEASUREMENT TIPS
- pompe
- 230 VAC
- 48W
- résistance chauffante
- 230 VAC
- 1500W
- flotteur
- contact normalement fermé
