Měření průtoku pomocí YF-S201

22.12.2022 Arduino #arduino #průtokoměr #YF-S201

Jednoduchý příklad na zapojení průtokoměru YF-S201 s Arduinem.


Proč a kde používat snímač průtoku vody?

Uplatnění průtokoměru je vhodné v poměrně širokém spektru firem. Například se jedná o chemický průmysl a průmysl nealkoholických nápojů. V takových automatizačních odvětvích je nejčastějším úkolem sledování kvality a množství kapalin. Například v průmyslu nealkoholických nápojů je stálým úkolem zajistit, aby láhve musely být naplněny přesným množstvím tekutiny pro studené nápoje. V takových aplikacích se používají snímače průtoku. Podobně automatické dávkovače vody také využívají snímače průtoku k odhadu množství vody, které má být poskytnuto uživateli podle množství zaplaceného uživatelem.

Stručně řečeno, lze použít snímač průtoku vody YF-S201 s jakýmkoli mikrokontrolérem, jako je Arduino, Raspberry Pi, Pic, 8051STM32 Blue Pill, ESP32, ESP8266 k měření průtoku vody. Některé z důležitých aplikací snímače průtoku vody jsou:

  • Kávovary
  • Závody na recyklaci vody
  • Těžební průmysl (chemický průmysl)
  • Chytrý zavlažovací systém
  • Automatické dávkovače vody

Co je snímač průtoku vody?

Snímač průtoku vody je elektronické zařízení, které se používá k měření průtoku vody. Průtok dále znamená, že objem vody projde senzorem za jednotku času. Na trhu je k dispozici mnoho typů senzorů pro měření průtoku vody, například YF-B1, YF-B2, YF-B3, YF-B4, YF-B5, YF-B6, G1&2, G3&4, G1&8 a YF-S201 . Všechny tyto snímače jsou téměř stejné s výjimkou rozdílu v rozsahu průtoku, rozsahu provozního napětí, délky, velikosti a použitého materiálu. Ale jejich pracovní princip a postup pro propojení s mikrokontroléry, jako je Arduino, zůstávají stejné.

YF-S201 snímač průtoku vody

YF-S201 je vodní senzor technicky navržený pro měření průtoku a objemu požadované tekutiny potrubím. Jedná se o levný snímač průtoku vody, který se skládá z měděného těla a vodního rotoru. Kromě toho obsahuje také vnitřní obvod Hallova snímače, který pracuje na principu elektromagnetismu a poskytuje impulsy na výstupním pinu. Jedná se o energeticky nenáročné a MCU kompatibilní zařízení s průtokem maximálně 30 litrů za minutu. Malé zařízení s vysokou přesností nachází uplatnění od kutilských projektů až po průmysl pro měření průtoku.

Piny snímače průtoku vody

Následující obrázek ukazuje vývody snímače průtoku vody YF-S201. Skládá se ze tří kolíků:

YF-S201 je plastový senzor průtoku vody v těle, který má ventil, rotor a Hallův senzor. Pracují na principu Hallova jevu a vydávají objem a průtok ve formě impulsů na signální kolík. Má pouze tři vodiče, tj. dva napájecí vodiče a výstupní impulsní vodič.

Jak funguje snímač průtoku vody?

Tento snímač průtoku vody se skládá z vodního rotoru (turbínové kolo) a snímače Hallova jevu. Voda vstupuje koncem a odchází druhým koncem snímače. Když voda protéká snímačem průtoku, narazí na kolo turbíny a kolo turbíny se otáčí. Rychlost turbínového kola má přímý vztah k rychlosti průtoku vody snímačem průtoku vody. Při každém úplném otočení turbínového kola vytváří Hallův senzor také impuls, který se objeví na výstupním kolíku signálu. Jinými slovy, počet impulsů, které se objeví na výstupním kolíku signálu, je přímo úměrný rychlosti otáčení turbíny.

YF-S201 je známý jako senzor Hallova efektu, protože pracuje na Hall efektu. Aby bylo možné měřit průtok nebo objem kapaliny, upevníme snímač mezi vstupní a výstupní ventil vody. Když tekutina protéká, otáčí rotorem, ke kterému je připevněn magnet. Rychlost interferuje s magnetickým tokem, který je snímán Hallovým snímačem a snímač ve zpětných tocích generuje výstupní signál úměrný magnetickému toku s každou otáčkou, kterou rotor udělá. Jelikož je snímač průtoku vody kompatibilní s mikrokontroléry, můžeme měření sledovat na sériovém monitoru počítače a také je zobrazovat na 16×2 LCD.

yf-s201-wate-flow-sensor-working-animation 

Stručně řečeno, při každém otočení rotoru vody vytvoří snímač průtoku vody na výstupním kolíku obdélníkovou vlnu. Můžeme tedy měřit průtok vody měřením počtu impulsů, které senzory vyprodukují za jednu sekundu nebo za minutu. To znamená, že můžeme spočítat číselný impuls, který nám poskytne informaci o průtoku vody.

Vlastnosti a specifikace

  • Provozní napětí: 4,5 – 24 voltů
  • Normální napětí: 5 – 18 voltů
  • Maximální proud: 15 mA @ 5V
  • Zatížení: ≤10 mA Voltů @ 5V
  • Průtok Kapacita: 1 -30 l/min
  • Elektrická síla: 1250 V/min
  • Tlak vody Rozsah: ≤ 1,75 MPa
  • Provozní teplota: ≤ 80 0 C
  • Provozní teplota kapaliny: ≤ 120 0 C
  • Rozsah vlhkosti: 35 % – 90 % RH
  • Izolační odpor: ≥ 100 Mohmů

Propojení snímače průtoku vody s Arduino

Tato část se zabývá propojením mikrokontroleru Arduino se snímačem průtoku vody YF-S201. Jak již bylo zmíněno dříve, potřebujeme spočítat výstupní impulsy senzoru, abychom změřili průtok vody. K detekci pulsu můžeme použít přerušovací piny Arduina. Například kdykoli dojde k pulzu na výstupním kolíku, výstupní signál přejde z aktivního nízkého do aktivního vysokého stavu, který je také známý jako kladná nebo stoupající hrana pulzu, jak je znázorněno na obrázku níže:

Tyto stoupající hrany můžeme spočítat pomocí jednoho z přerušovacích kolíků Arduina. Arduino poskytuje dva externí piny přerušení, jako jsou digitální I/O piny 2 a 3. Jeden z pinů přerušení můžeme naprogramovat tak, že kdykoli dojde k náběžné hraně, přerušení se spustí. Můžeme tedy vytvořit proměnnou čítače, která se zvýší o jedničku, kdykoli se spustí přerušení. Můžeme spustit časovač na jednu sekundu a počítat události přerušení po dobu jedné sekundy. To nám dá počet impulsů generovaných snímačem průtoku vody za jednu sekundu.

Schéma zapojení

V tomto příkladu použijeme digitální I/O pin 2 Arduina jako externí pin pro zachycení přerušení pro počítání počtu pulzů. Nyní proveďte spojení se snímačem průtoku vody a Arduinem podle tohoto schématu:

  • Připojte napájecí kolíky vodního senzoru YF-S201 k zemi a 5voltové kolíky Arduina.
  • Vodič výstupního napětí (žlutý) k digitálnímu kolíku D2 Arduina pro detekci elektrických impulsů.

Arduino kód

Tato skica Arduino pro snímač průtoku vody měří průtok vody v jednotkách litrů za hodinu a zobrazuje naměřenou hodnotu na sériovém monitoru Arduino IDE.

/*YF- S201 water Flow sensor code for Arduino */
const int Output_Pin = 2;

volatile int  Pulse_Count;
unsigned int  Liter_per_hour;
unsigned long Current_Time, Loop_Time;

void setup()
{ 
   pinMode(Output_Pin, INPUT);
   Serial.begin(9600); 
   attachInterrupt(0, Detect_Rising_Edge, RISING);

   Current_Time = millis();
   Loop_Time = Current_Time;
} 

void loop ()    
{
   Current_Time = millis();
   if(Current_Time >= (Loop_Time + 1000))
   {
      Loop_Time = Current_Time;
      Liter_per_hour = (Pulse_Count * 60 / 7.5);
      Pulse_Count = 0;
      Serial.print(Liter_per_hour, DEC);
      Serial.println(" Liter/hour");
   }
}
void Detect_Rising_Edge ()
{ 
   Pulse_Count++;
}

Programový kód je velmi jednoduchý a pochopitelný. Vysvětlení si zaslouží výpočet průtoku:

Liter_per_hour = (Pulse_Count * 60 / 7.5)

Jak víme, proměnná pulse_count obsahuje počet pulzů za jednu sekundu, který je generován výstupním kolíkem snímače průtoku vody. Hodnotu Pulse_Count vynásobíme 60, abychom toto měření převedli na jednu minutu. Protože víme, že v jedné minutě je 60 sekund. Otázkou ale je, odkud tato hodnota 7,5 pochází a proč jsme Liter_per_hour vydělili touto hodnotou.

Podle datového listu snímače průtoku vody YF-S201 lze výstupní frekvenci impulzů vypočítat pomocí této rovnice:

Pulse frequency = 7.5 x flow rate

Výše uvedená rovnice může být také zapsána jako:

 flow rate = Pulse frequency / 7.5

Frekvence pulzů je zde počet pulzů za jednu minutu. Proto:

Liter_per_hour (flow rate) = (Pulse_Count * 60 / 7.5)

Literatura

Water Flow Sensor Interfacing with Arduino – Measure Flow Rate. Microcontrollers Lab [online]. 2022 [cit. 2022-12-22]. Dostupné z: https://microcontrollerslab.com/water-flow-sensor-pinout-interfacing-with-arduino-measure-flow-rate/