Flowmeter: alles wat u moet weten

debietmeter

Meet de vloeistofstroom of het vloeistofverbruik het is in sommige gevallen belangrijk en hiervoor heb je een debietmeter nodig. Als je bijvoorbeeld de Formule 1 volgt, weet je dat de FIA ​​teams dwingt om een ​​debietmeter in de motor te gebruiken om het verbruik van elk team in hun auto's te detecteren en zo mogelijke valstrikken te vermijden door een grotere stroom te injecteren om meer te krijgen. vermogen soms. of hoe olie wordt gebruikt om de motor te verbranden ...

Maar buiten F1 ben je misschien geïnteresseerd in het hebben van een van deze apparaten om erachter te komen welk verbruik van water of een andere vloeistof een systeem heeft, of om ook het debiet te bepalen van een buis die uit een tank wordt gehaald om te bepalen wanneer het wordt verbruikt, geautomatiseerde tuinirrigatiesystemen, etc. De toepassingen van deze elementen zijn talrijk, u kunt de limiet zelf instellen.

Debietmeter of debietmeter

Hoe moet je dat weten? de stroom is de hoeveelheid vloeistof of vloeistof die per tijdseenheid door een pijp of stomp circuleert. Het wordt gemeten in volume-eenheden gedeeld door tijdseenheid, zoals liter per minuut, liter per uur, kubieke meter per uur, kubieke meter per seconde, enz. (l / min, l / u, m³ / u, ...).

Wat is een debietmeter?

El debietmeter of vloeistofmeter Het is het apparaat dat in staat is om de hoeveelheid stroom te meten die door een buis gaat. Er zijn verschillende modellen en fabrikanten die eenvoudig kunnen worden geïntegreerd met de Arduino. Dit debiet is afhankelijk van verschillende factoren, zoals het gedeelte van de buis en de toevoerdruk.

Door deze twee parameters te regelen en met een debietmeter die het debiet meet, kunt u beschikken over een geavanceerd regelsysteem voor de vloeistoffen. Zeer handig voor domotica of andere elektronische en zelfs industriële projecten. Voor thuisprojecten hebben makers bekende modellen zoals de YF-S201, FS300A, FS400A, Etc.

Flowmetertypes

Op de markt vind je verschillende types van debietmeters of debietmeters afhankelijk van het gebruik dat u eraan geeft en het budget dat u wilt investeren. Bovendien zijn sommige specifiek voor een vloeistof, zoals water, brandstof, olie, andere hebben een grotere of kleinere precisie, met prijzen variërend van enkele euro's tot duizenden euro's in sommige zeer geavanceerd op industrieel niveau:

  • Mechanische debietmeter: het is een heel typische meter die iedereen in huis heeft om het water dat ze verbruiken in hun meters te meten. De stroom draait een turbine die een as beweegt die is verbonden met een mechanische teller die de metingen verzamelt. Omdat het mechanisch is, kan het in dit geval niet worden geïntegreerd met Arduino.
  • Ultrasone debietmeter- Veel gebruikt in de industrie, maar extreem duur voor thuisgebruik. U kunt de stroomsnelheid meten aan de hand van de tijd die het duurt voordat echografie door de te meten vloeistof gaat.
  • Elektromagnetische debietmeter: Ze worden ook vaak gebruikt in de industrie voor leidingen tot 40 inch en hoge drukken. Ze zijn erg duur en gebruiken een elektromagnetisch systeem voor metingen.
  • Elektronische turbinestroommeter: lage kosten en zeer nauwkeurig. Dit zijn degenen die u eenvoudig kunt integreren met uw Arduino en die ook voor thuisgebruik worden gebruikt. Ze gebruiken een turbine met bladen die draaien als de vloeistofstroom erdoorheen stroomt en een Hall-effectsensor berekent de stroom op basis van het toerental dat hij in de bocht bereikt. Het probleem is dat ze opdringerig zijn, een hoge drukval hebben en onderhevig zijn aan verslechtering van hun onderdelen, dus ze zullen niet lang meegaan ...

Rekening houdend met het feit dat we geïnteresseerd zijn in elektronica, gaan we deze blijven bestuderen ...

Flowmeters voor Arduino en waar te koop

De elektronische type debietmeters gebruikt in ArduinoNet als de YF-S201, YF-S401, FS300A en FS400A hebben ze een plastic behuizing en een rotor met bladen erin, zoals ik al eerder zei. Een magneet die aan de rotor is bevestigd en de rotatie ervan, door het Hall-effect, bepaalt te allen tijde het debiet of het verbruik dat wordt gemeten. De sensoruitvoer is een blokgolf met een frequentie die evenredig is met de stroom erdoorheen.

De zogenaamde K-conversiefactor tussen frequentie (Hz) en doorstroming (l / min) hangt af van de parameters die de fabrikant aan de sensor heeft gegeven en is daarom niet voor iedereen hetzelfde. In de datasheets of modelinformatie u koopt, heeft deze waarden zodat u ze in de Arduino-code kunt gebruiken. De precisie zal ook niet hetzelfde zijn, hoewel deze voor Arduino over het algemeen variëren tussen 10% boven of onder met betrekking tot de huidige stroom.

De aanbevolen modellen zijn:

  • YF-S201: het heeft een aansluiting voor een 1/4 ″ buis, om de doorstroming tussen 0.3 en 6 liter per minuut te meten. De maximale druk die het tolereert is 0.8 MPa, met maximale vloeistoftemperaturen tot 80ºC. De spanning werkt tussen 5-18v.
  • YF-S401: in dit geval is de verbinding met de buis 1/2 ″, hoewel je altijd converters kunt gebruiken. Het meetde debiet is van 1 tot 30 l / min, met drukken tot 1.75 MPa en vloeistoftemperaturen tot 80 ° C. Het voltage is echter nog steeds 5-18v.
  • FS300A: dezelfde spanning en dezelfde maximale temperatuur als de vorige. In dit geval met 3/4 ″ leidingen, met een maximale doorstroming van 1 tot 60 l / min en drukken van 1.2 MPa.
  • Geen producten gevonden.: het behoudt ook spanning en maximale temperatuur ten opzichte van zijn alternatieven, ook de maximale stroom en druk zijn hetzelfde als voor de FS300A. Het enige dat varieert, is dat de buis 1 inch is.

U moet degene kiezen die u het meest interesseert voor uw project ...

Integratie met Arduino: een praktisch voorbeeld

Arduino aangesloten op debietmeter

La het aansluiten van uw debietmeter is heel eenvoudig. Ze hebben meestal 3 kabels, één voor gegevensverzameling over de stroom en de andere twee voor stroom. De gegevens kunnen worden aangesloten op de Arduino-ingang die het beste bij u past en vervolgens de schetscode programmeren. En de voedingen, één voor de 5V en een andere voor GND, en dat zou genoeg zijn om het te laten werken.

Maar om het een of andere functie te geven, moet u eerst het code in Arduino IDE. Er zijn veel manieren om deze flowsensor te gebruiken, en ook de manieren om hem te programmeren, hoewel je die hier hebt een praktisch en eenvoudig voorbeeld zodat u kunt beginnen om te zien hoe het werkt:

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)");
}

En als je wilt krijg consumptie, dan kunt u deze andere code gebruiken, of beide combineren om beide te hebben ... Voor consumptie moet de bereikte stroom worden geïntegreerd met betrekking tot de tijd:

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)");
}

Je weet al dat, afhankelijk van wat je nodig hebt, je deze code moet aanpassen, daarnaast is het erg belangrijk om de K-factor van het model dat u hebt gekocht, anders worden er geen daadwerkelijke metingen uitgevoerd. Niet vergeten!


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.