Izmerite pretok ali porabo tekočine v nekaterih primerih je pomembno, za to pa potrebujete merilnik pretoka. Na primer, če sledite formuli 1, boste vedeli, da FIA prisili ekipe, da uporabljajo merilnik pretoka v motorju, da zaznajo porabo, ki jo vsaka ekipa porabi v svojih avtomobilih, in se tako izognejo morebitnim pastem z vbrizgom večjega pretoka, da dobijo več moč včasih. ali kako se olje uporablja za kurjenje motorja ...
Toda zunaj F1 vas bo morda zanimala ena od teh naprav, ki bo vedela, kakšno porabo vode ali katere koli druge tekočine ima sistem ali pa tudi določiti pretok cevi, ki se črpa iz rezervoarja, da se ugotovi, kdaj se porabi, avtomatizirani namakalni sistemi za vrt itd. The uporabe teh elementov je veliko, lahko omejitev nastavite sami.
Merilnik pretoka ali merilnik pretoka
Kako bi moral vedeti pretok je količina tekočine ali tekočine, ki v enoti časa kroži po cevi ali škrbini. Meri se v prostorninskih enotah, deljenih s časovno enoto, na primer liter na minuto, liter na uro, kubični meter na uro, kubični meter na sekundo itd. (l / min, l / h, m³ / h, ...).
Kaj je merilnik pretoka?
El merilnik pretoka ali tekočina Naprava je sposobna izmeriti količino pretoka, ki gre skozi cev. Obstaja več modelov in proizvajalcev, ki jih je mogoče enostavno integrirati z Arduinom. Ta pretok bo odvisen od več dejavnikov, kot so odsek cevi in dovodni tlak.
Z nadzorom teh dveh parametrov in z merilnikom pretoka, ki meri pretok, lahko dobite dovršen nadzorni sistem za tekočine. Zelo uporabno za avtomatizacijo stanovanj ali druge elektronske in celo industrijske projekte. Izdelovalci pri projektih doma dobro znani modeli, kot so YF-S201, FS300A, FS400A, Itd
Vrste merilnikov pretoka
Na trgu boste našli različne vrste merilnikov pretoka ali merilnikov pretoka, odvisno od vaše uporabe in proračuna, ki ga želite vložiti. Poleg tega so nekateri izmed njih specifični za tekočino, kot so voda, gorivo, olje, drugi imajo večjo ali manjšo natančnost, cene pa se gibljejo od nekaj do tisoč evrov, pri nekaterih zelo naprednih na industrijski ravni:
- Mehanski merilnik pretoka: to je zelo tipičen števec, ki ga imajo vsi v hiši za merjenje vode, ki jo porabijo v svojih števcih. Pretok obrača turbino, ki premika gred, ki je povezana z mehanskim števcem, ki zbira odčitke. Ker je mehaničen, ga v tem primeru ni mogoče integrirati z Arduinom.
- Ultrazvočni merilnik pretoka: široko uporabljen v industriji, a izjemno drag za domačo uporabo. Hitrost pretoka lahko izmerite tako, da ultrazvok preide skozi tekočino, ki jo želite izmeriti.
- Elektromagnetni merilnik pretoka: V industriji se pogosto uporabljajo tudi za cevi do 40 palcev in visoke tlake. Stanejo zelo drago in za merjenje uporabljajo elektromagnetni sistem.
- Elektronski merilnik pretoka turbine: poceni in zelo natančno. To so tiste, ki jih lahko enostavno integrirate s svojim Arduinom in se uporabljajo tudi za domačo uporabo. Uporabljajo turbino z lopaticami, ki se obrača, ko pretok tekočine prehaja skozenj, senzor Hallovega učinka pa izračuna pretok glede na vrtljaje, ki jih doseže v obratu. Težava je v tem, da imajo vsiljivci velik padec tlaka in poslabšajo svoje dele, zato ne bodo zdržali dolgo ...
Ob upoštevanju, da nas zanima elektronika, bomo še naprej preučevali te ...
Merilniki pretoka za Arduino in kje kupiti
P elektronski merilniki pretoka, ki se uporabljajo v ArduinuTako kot YF-S201, YF-S401, FS300A in FS400A imajo tudi plastično ohišje in rotor z noži, kot sem že omenil. Magnet, pritrjen na rotor in njegovo vrtenje z Hallovim učinkom, bo določal pretok ali porabo, ki jo ves čas meri. Izhod senzorja bo kvadratni val s frekvenco, sorazmerno pretoku skozi njega.
Tako imenovani faktor pretvorbe K med frekvenco (Hz) in pretokom (l / min) je odvisen od parametrov, ki jih je proizvajalec dal senzorju, zato ni enak za vse. V podatkovne liste ali informacije o modelih kupili boste imeli te vrednosti, tako da jih boste lahko uporabili v kodi Arduino. Niti natančnost ne bo enaka, čeprav se na splošno te vrednosti za Arduino običajno razlikujejo med 10% zgoraj ali spodaj glede na trenutni pretok.
P priporočeni modeli Zvok:
- YF-S201: ima priključek za 1/4 ″ cevi, za merjenje pretoka med 0.3 do 6 litrov na minuto. Najvišji tlak, ki ga dopušča, je 0.8 MPa, z najvišjimi temperaturami tekočine do 80 ° C. Njegova napetost deluje med 5-18v.
- YF-S401: v tem primeru je povezava s cevjo 1/2 ″, čeprav lahko vedno uporabite pretvornike. Pretok, ki ga meri, znaša od 1 do 30 l / min, s tlaki do 1.75 MPa in temperaturami tekočin do 80 ° C. Njegova napetost pa je še vedno 5-18v.
- FS300A: enaka napetost in enaka najvišja temperatura kot prejšnje. V tem primeru s 3/4 ″ cevmi, z največjim pretokom 1 do 60 l / min in tlakom 1.2 MPa.
- Ni najdenih izdelkov: vzdržuje tudi napetost in najvišjo temperaturo glede na druge možnosti, prav tako sta največji pretok in tlak enaka kot pri FS300A. Edino, kar se razlikuje, je, da je cev 1-palčna.
Za svoj projekt morate izbrati tistega, ki vas najbolj zanima ...
Integracija z Arduinom: praktičen primer
La priklop vašega merilnika pretoka je zelo preprost. Običajno imajo 3 kable, enega za zbiranje podatkov o toku in druga dva za napajanje. Podatke lahko povežete z vhodom Arduino, ki vam najbolj ustreza, in nato programirate kodo skice. In tiste napajalnike, enega na 5V in drugega na GND, in to bi bilo dovolj, da bi začel delovati.
Da pa ima neko funkcijo, morate najprej ustvariti koda v Arduino IDE. Načinov uporabe tega senzorja pretoka je veliko in tudi načinov za njegovo programiranje, čeprav ste tukaj praktičen in preprost primer tako da lahko začnete videti, kako deluje:
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)"); }
In če hočeš dobili porabo, potem lahko uporabite to drugo kodo ali kombinirate obe, da dobite obe ... Za porabo mora biti doseženi pretok integriran glede na čas:
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)"); }
Že veste, da morate glede na to, kaj potrebujete, spremeniti to kodo, poleg tega pa je zelo pomembno, da jo vnesete faktor K modela, ki ste ga kupili, ali ne bo opravil dejanskih meritev. Ne pozabi!