Debitmetru: tot ce trebuie să știți

debitmetru

Măsurați debitul sau consumul de lichid este important în unele cazuri și pentru aceasta aveți nevoie de un debitmetru. De exemplu, dacă urmați Formula 1, veți ști că FIA forțează echipele să folosească un debitmetru în motor pentru a detecta consumul pe care fiecare echipă îl face în mașinile lor și astfel să evite posibilele capcane prin injectarea unui debit mai mare pentru a obține mai mult sau cum se folosește uleiul pentru a arde motorul ...

Dar, în afara F1, este posibil să fiți interesat să aveți unul dintre aceste dispozitive pentru a ști ce consum de apă sau orice alt lichid are un sistem sau, de asemenea, pentru a determina debitul unui tub care trage dintr-un rezervor pentru a determina când este consumat, sisteme automate de irigare a grădinii etc. aplicațiile acestor elemente sunt multe, puteți seta singuri limita.

Debitmetru sau debitmetru

Cum ar trebui să știi fluxul este cantitatea de lichid sau fluid care circulă printr-o țeavă sau butuc pe unitate de timp. Se măsoară în unități de volum împărțite la unitatea de timp, cum ar fi litru pe minut, litru pe oră, metru cub pe oră, metri cubi pe secundă etc. (l / min, l / h, m³ / h, ...).

Ce este un debitmetru?

El debitmetru sau debitmetru de fluid Dispozitivul este capabil să măsoare acea cantitate de debit care trece printr-o conductă. Există mai multe modele și producători care pot fi ușor integrați cu Arduino. Acest debit va depinde de mai mulți factori, cum ar fi secțiunea conductei și presiunea de alimentare.

Prin controlul celor doi parametri și cu un debitmetru care măsoară debitul, puteți avea un sistem sofisticat de control al fluidelor. Foarte util pentru automatizarea casei sau alte proiecte electronice și chiar industriale. Pentru proiectele de acasă, producătorii au modele bine cunoscute precum YF-S201, FS300A, FS400A, Etc

Tipuri de debitmetru

În piață veți găsi tipuri variate de debitmetre sau debitmetre în funcție de utilizarea pe care i-o dați și de bugetul pe care doriți să-l investiți. În plus, unele dintre ele sunt specifice pentru un fluid, cum ar fi apa, combustibilul, uleiul, altele au o precizie mai mare sau mai mică, cu prețuri cuprinse între câțiva euro și mii de euro în unele foarte avansate la nivel industrial:

  • Debitmetru mecanic: este un contor foarte tipic pe care fiecare îl are în casă pentru a măsura apa pe care o consumă în contoare. Fluxul transformă o turbină care mișcă un arbore care este conectat la un contor mecanic care acumulează citirile. Fiind mecanic, în acest caz nu poate fi integrat cu Arduino.
  • Debitmetru cu ultrasunete- Utilizat pe scară largă în industrie, dar extrem de scump pentru uz casnic. Puteți măsura debitul în funcție de timpul necesar ultrasunetelor pentru a trece prin fluidul de măsurat.
  • Debitmetru electromagnetic: De asemenea, sunt adesea folosite în industrie pentru țevi de până la 40 inci și presiuni ridicate. Costă foarte scump și folosesc un sistem electromagnetic pentru măsurare.
  • Debitmetru electronic cu turbină: cost redus și foarte precis. Acestea sunt cele pe care le puteți integra cu ușurință cu Arduino și sunt utilizate și pentru mediul de acasă. Folosesc o turbină cu lame care se rotește pe măsură ce fluxul de fluid trece prin ea, iar un senzor de efect Hall va calcula debitul în funcție de RPM-urile pe care le atinge la rândul său. Problema este că, fiind intruzivi, au o cădere mare de presiune și suferă deteriorări în părțile lor, deci nu vor dura mult ...

Având în vedere că suntem interesați de electronică, vom continua să studiem aceste ...

Debitmetre pentru Arduino și de unde să cumpărați

L debitmetre de tip electronic utilizate în ArduinoLa fel ca YF-S201, YF-S401, FS300A și FS400A, au o carcasă din plastic și un rotor cu lame în interior, așa cum am menționat anterior. Un magnet fixat pe rotor și rotația acestuia, prin efect Hall, va determina debitul sau consumul pe care îl măsoară la un moment dat. Ieșirea senzorului va fi o undă pătrată cu o frecvență proporțională cu debitul prin ea.

Așa-numitul factor de conversie K între frecvență (Hz) și debit (l / min) depinde de parametrii pe care producătorul i-a dat senzorului, prin urmare, nu este același pentru toți. În fișe tehnice sau informații despre model cumpărați va avea aceste valori, astfel încât să le puteți utiliza în codul Arduino. Nici precizia nu va fi aceeași, deși, în general, acestea pentru Arduino variază de obicei între 10% deasupra sau dedesubt în raport cu fluxul curent.

L modele recomandate sunet:

  • YF-S201: are o conexiune pentru un tub de 1/4 ″, pentru a măsura debitul între 0.3 și 6 litri pe minut. Presiunea maximă pe care o tolerează este de 0.8 MPa, cu temperaturi maxime ale fluidului de până la 80 ° C. Tensiunea sa funcționează între 5-18v.
  • YF-S401: în acest caz, conexiunea la tub este de 1/2 ″, deși puteți folosi întotdeauna convertoare. Debitul pe care îl măsoară este de la 1 la 30 l / min, cu presiuni de până la 1.75 MPa și temperaturi ale fluidului de până la 80 ° C. Cu toate acestea, tensiunea sa este încă 5-18v.
  • FS300A: aceeași tensiune și aceeași temperatură maximă ca și cele precedente. În acest caz, cu țevi de 3/4 ″, cu un debit maxim de 1 până la 60 l / min și presiuni de 1.2 MPa.
  • FS400A: menține, de asemenea, tensiunea și temperatura maximă față de alternativele sale, de asemenea, debitul maxim și presiunea sunt aceleași ca și pentru FS300A. Singurul lucru care variază este că tubul are 1 inch.

Trebuie să-l alegi pe cel care te interesează cel mai mult pentru proiectul tău ...

Integrarea cu Arduino: un exemplu practic

Arduino conectat la debitmetru

La conectarea debitmetrului dvs. este foarte simplă. Au de obicei 3 cabluri, unul pentru colectarea datelor pe flux și celelalte două pentru alimentare. Datele pot fi conectate la intrarea Arduino care vi se potrivește cel mai bine și apoi programați codul de schiță. Și cele de putere, una la 5V și alta la GND, și asta ar fi suficient pentru a începe să funcționeze.

Dar pentru ca acesta să aibă un fel de funcție, mai întâi trebuie să creați cod în IDE Arduino. Modalitățile de utilizare a acestui senzor de flux sunt multe, precum și modalitățile de programare, deși aici aveți un exemplu practic și simplu astfel încât să puteți începe să vedeți cum funcționează:

const int sensorPin = 2;
const int measureInterval = 2500;
volatile int pulseConter;
 
// Si vas a usar el YF-S201, como en este caso, es 7.5.
//Pero si vas a usar otro como el FS300A debes sustituir el valor por 5.5, o 3.5 en el FS400A, etc.
const float factorK = 7.5;
 
void ISRCountPulse()
{
   pulseConter++;
}
 
float GetFrequency()
{
   pulseConter = 0;
 
   interrupts();
   delay(measureInterval);
   noInterrupts();
 
   return (float)pulseConter * 1000 / measureInterval;
}
 
void setup()
{
   Serial.begin(9600);
   attachInterrupt(digitalPinToInterrupt(sensorPin), ISRCountPulse, RISING);
}
 
void loop()
{
   // Con esto se obtiene la frecuencia en Hz
   float frequency = GetFrequency();
 
   // Y con esto se calcula el caudal en litros por minuto
   float flow_Lmin = frequency / factorK;
 
   Serial.print("Frecuencia obtenida: ");
   Serial.print(frequency, 0);
   Serial.print(" (Hz)\tCaudal: ");
   Serial.print(flow_Lmin, 3);
   Serial.println(" (l/min)");
}

Și dacă vrei obțineți consum, atunci puteți utiliza acest alt cod, sau combinați ambele pentru a avea ambele ... Pentru consum, fluxul realizat trebuie integrat în raport cu timpul:

const int sensorPin = 2;
const int measureInterval = 2500;
volatile int pulseConter;
 
//Para el YF-S201 es 7.5, pero recuerda que lo debes modificar al factor k de tu modelo
const float factorK = 7.5;
 
float volume = 0;
long t0 = 0;
 
 
void ISRCountPulse()
{
   pulseConter++;
}
 
float GetFrequency()
{
   pulseConter = 0;
 
   interrupts();
   delay(measureInterval);
   noInterrupts();
 
   return (float)pulseConter * 1000 / measureInterval;
}
 
void SumVolume(float dV)
{
   volume += dV / 60 * (millis() - t0) / 1000.0;
   t0 = millis();
}
 
void setup()
{
   Serial.begin(9600);
   attachInterrupt(digitalPinToInterrupt(sensorPin), ISRCountPulse, RISING);
   t0 = millis();
}
 
void loop()
{
   // Obtención del afrecuencia
   float frequency = GetFrequency();
 
   //Calcular el caudal en litros por minuto
   float flow_Lmin = frequency / factorK;
   SumVolume(flow_Lmin);
 
   Serial.print(" El caudal es de: ");
   Serial.print(flow_Lmin, 3);
   Serial.print(" (l/min)\tConsumo:");
   Serial.print(volume, 1);
   Serial.println(" (L)");
}

Știți deja că, în funcție de ceea ce aveți nevoie, trebuie să modificați acest cod, în plus, este foarte important să puneți factorul K modelului pe care l-ați cumpărat sau nu va lua măsurători efective. Nu uita!


Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.