Page 1 sur 1

Compteur de bulle CO2 pour le Rac

Posté : mercredi 08 janvier 2014 à 8:47
par billyboyk
Bon, je vais inaugurer cette section, c'est trop calme ici :mrgreen:

Utilisant mon RAC sans sonde PH, pour le régler je dois compter les bulles de Co2 injectées et ajuster le débit qui le traverse. Pour le débit, pas de soucis avec la méthode de la seringue que je vous avais présentée auparavant. Mais pour le Co2... La méthode me plait moins, compter les bulles oui mais c'est pas vraiment précis, une bulle par seconde, 2 bulles par secondes peuvent encore aller mais si je dois mesurer 1.5 bulles, je sais que c'est 90 par minutes mais ça devient vite fastidieux.
Un autre point faible de cette méthode, c'est que l'on manque de stabilité, la pression de la bouteille diminue et nous ne sommes pas sûr que le débit ne change pas non plus.

Donc, n'ayant pas envie de passer mon temps à compter les bulles, je me suis dit que l'Arduino pourrait le faire à ma place et voilà le résultat:

Image

Donc en gros, j'ai une précision de + ou - 0.05 bulles secondes, le top! ;--)

Comment y suis-je parvenu?

Au départ, je voulais faire un simple bouton poussoir sur une entrée digitale, appuyer dessus quand je vois une bulle, et l'Arduino me calculerait le "tempo". C'est mieux que compter dans ma tête mais pas super précis et toujours un peu contraignant... :roll:

Alors je me suis demandé comment pourrais-je "capturer" le passage d'une bulle de manière précise? L'idée qui m'est alors venue à l'esprit était d'utiliser une Led dont le faisceau couperait le trajet de la bulle. De l'autre côté, une photodiode qui mesure l'intensité du faisceau, intensité perturbée par le passage d'une bulle.
Une contrainte est de ne pas être perturbé par la lumière ambiante donc j'avais 2 solutions, soit je met tout cela dans une boite opaque, soit je travaille dans des longueurs d'ondes en dessous de la lumière visible: les infrarouges.

J'ai donc utilisé une Led IR 5mm 950nm (LD 271) et une photodiode IR 950 nm (BP104F). Le signal de la photodiode est amplifié par un montage AOP:

Image

J'utilise un AOP (LTC 1050) qui peut fonctionner directement entre 0 et 5V afin de ne pas utiliser d'alimentation supplémentaire (mon Arduino est alimenté en 5V), on trouve des exemples avec ce modèle un peu partout sur le net.

Au niveau de la mécanique, j'ai simplement utilisé un bout de tube pvc que j'ai coupé, percé, plié... :

Image

Au niveau soft, le signal de sortie de l'AOP est branché sur une entrée analogique de l'Arduino, je mesure le signal, lorsque celui-ci passe en dessous d'une valeur, c'est une bulle, le tour est joué ! ;)
// __________________________________________________________________
//|| Gestion du debit CO2 ||
// |_______________________________________________________________|


void GestionDesBullesCo2()
{
valeurMesureePhotodiode = analogRead(PinCapteurDebitCO2); //Mesure de l'entrée analogique

if(valeurMesureePhotodiode < 30 && valeurMesureePhotodiode > 0 && millis() - MillisBullePrecedente > 50)//On a une nouvelle bulle
{
float MillisActuel = millis(); //Relevé de l'instant de la bulle actuelle
EcartAvecLaBullePRecendente = MillisActuel - MillisBullePrecedente; //Relevé de l'écart temps avec la bulle précédente

debitCO2Instantanee = 1000 / EcartAvecLaBullePRecendente; //Calcul de la fréquence instantanée en bulle/seconde

EcartTotal = EcartTotal + EcartAvecLaBullePRecendente;
indexMesuresBulles++;

if(indexMesuresBulles == 30) //On extrait la valeur de la mesure moyenne sur 30 bulles
{
MoyenneDebitCo2 = 1000 / (EcartTotal / indexMesuresBulles); //Calcul de la fréquence moyenne en bulle/seconde
indexMesuresBulles = 0;
EcartTotal = 0;
}

MillisBullePrecedente = MillisActuel;
UpdateGLCD();
}
delay(2);
}
Maintenant que l'on sait mesurer la fréquences des bulles, je peux rajouter une alarme si le débit sort d'une fourchette, pour éviter par exemple que le système s'emballe suite à un déréglage du robinet de débit ou encore prévenir que l'on arrive en fin de bouteille.

On peut également imaginer piloter le robinet de réglage via un servo-moteur pour maintenir un débit stable et pourquoi pas, soyons fous (merci Antoine), piloter le débit en fonction du Ca via une sonde Ca...

Et biensûr, là je mesure des bulles mais ça fonctionnera forcément pour des gouttes :crazy:

Bref, on a encore du quoi s'amuser avec cet Arduino! :mrgreen:

Re: Compteur de bulle CO2 pour le Rac

Posté : mercredi 08 janvier 2014 à 9:38
par Phoenix912
chapeau !! good job

Re: Compteur de bulle CO2 pour le Rac

Posté : mercredi 08 janvier 2014 à 20:57
par naso1260
Hello Julien!!

Grand malade!! Vraiment joli boulot!!!

Re: Compteur de bulle CO2 pour le Rac

Posté : mercredi 08 janvier 2014 à 21:10
par Seb
woaw ! Beau boulot ;--)

Re: Compteur de bulle CO2 pour le Rac

Posté : mercredi 08 janvier 2014 à 21:36
par Yves
Chapeau. Tu trouves ou le temps ;) :)