Compteur de bulle CO2 pour le Rac

Ce forum contient les posts archivés de cette section.
Avatar de l’utilisateur
billyboyk
Conseiller
Conseiller
Messages :952
Enregistré le :vendredi 11 novembre 2011 à 15:24
Localisation :Pays de Gex
Compteur de bulle CO2 pour le Rac

#1

Messagepar billyboyk » mercredi 08 janvier 2014 à 8:47

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:
<*)))) >< ><{{{*> >-+++(o>

Avatar de l’utilisateur
Phoenix912
Aquariofou à lier !
Aquariofou à lier !
Messages :1844
Enregistré le :vendredi 26 novembre 2010 à 8:18
Localisation :Evionnaz VS

Re: Compteur de bulle CO2 pour le Rac

#2

Messagepar Phoenix912 » mercredi 08 janvier 2014 à 9:38

chapeau !! good job

Avatar de l’utilisateur
naso1260
Administrateur
Administrateur
Messages :2162
Enregistré le :jeudi 17 mai 2012 à 12:59
Localisation :Nyon

Re: Compteur de bulle CO2 pour le Rac

#3

Messagepar naso1260 » mercredi 08 janvier 2014 à 20:57

Hello Julien!!

Grand malade!! Vraiment joli boulot!!!
C'est en faisant n'importe quoi qu'ont devient n'importe qui ;)

Salutations

Séb

Avatar de l’utilisateur
Seb
Conseiller
Conseiller
Messages :2009
Enregistré le :samedi 15 septembre 2012 à 21:23
Localisation :Villargiroud (Fribourg)

Re: Compteur de bulle CO2 pour le Rac

#4

Messagepar Seb » mercredi 08 janvier 2014 à 21:10

woaw ! Beau boulot ;--)

Avatar de l’utilisateur
Yves
Aquariofou à lier !
Aquariofou à lier !
Messages :1725
Enregistré le :lundi 12 novembre 2012 à 17:21
Localisation :St. Séverin - Conthey (VS)
Contact :

Re: Compteur de bulle CO2 pour le Rac

#5

Messagepar Yves » mercredi 08 janvier 2014 à 21:36

Chapeau. Tu trouves ou le temps ;) :)
Yves

On ne vit qu'une fois ;)


Retourner vers « Archives »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités