- Nepieciešamās sastāvdaļas
- YFS201 ūdens plūsmas sensors
- Ķēdes shēma
- Arduino ūdens plūsmas sensora kods
- Arduino ūdens plūsmas sensors darbojas
Ja esat kādreiz apmeklējis liela mēroga ražošanas uzņēmumus, vispirms pamanīsit, ka tie visi ir automatizēti. Bezalkoholisko dzērienu rūpniecībai un ķīmijas rūpniecībai ir nepārtraukti jāmēra un jānosaka šķidrumi, ar kuriem viņi rīkojas šī automatizācijas procesa laikā, un visbiežāk lietotais sensors, ko izmanto šķidruma plūsmas mērīšanai, ir plūsmas sensors. Izmantojot plūsmas sensoru ar tādu mikrokontrolleru kā Arduino, mēs varam aprēķināt plūsmas ātrumu, pārbaudīt caur cauruli izvadītā šķidruma tilpumu un kontrolēt to pēc nepieciešamības. Bez apstrādes rūpniecības plūsmas sensorus var atrast arī lauksaimniecības nozarē, pārtikas pārstrādē, ūdens apsaimniekošanā, kalnrūpniecībā, ūdens pārstrādē, kafijas automātos utt. Turklāt ūdens plūsmas sensors būs labs papildinājums tādiem projektiem kā automātiskais ūdens padeves aprīkojums un viedās apūdeņošanas sistēmas, kur mums jāuzrauga un jākontrolē šķidrumu plūsma.
Šajā projektā mēs veidosim ūdens plūsmas sensoru, izmantojot Arduino. Mēs saskarsimies ar ūdens plūsmas sensoru ar Arduino un LCD un ieprogrammēsim to, lai parādītu caur vārstu izvadītā ūdens tilpumu. Šajā konkrētajā projektā mēs izmantosim ūdens plūsmas sensoru YF-S201, kas izmanto zāles efektu, lai noteiktu šķidruma plūsmas ātrumu.
Nepieciešamās sastāvdaļas
- Ūdens plūsmas sensors
- Arduino UNO
- LCD (16x2)
- Savienotājs ar iekšējo vītni
- Savienojošie vadi
- Caurule
YFS201 ūdens plūsmas sensors
Sensoram ir 3 vadi RED, YELLOW un BLACK, kā parādīts attēlā zemāk. Sarkano vadu izmanto barošanas spriegumam, kas svārstās no 5V līdz 18V, un melnais vads ir savienots ar GND. Dzeltenais vads tiek izmantots izvadei (impulsiem), kurus var nolasīt MCU. Ūdens plūsmas sensors sastāv no riteņa sensora, kas mēra caur to izvadītā šķidruma daudzumu.
No YFS201 ūdens plūsmas sensors darba ir viegli saprast. Ūdens plūsmas sensors darbojas pēc zāles efekta principa. Hall efekts ir potenciālās starpības radīšana elektriskajam vadītājam, kad magnētiskais lauks tiek virzīts perpendikulāri strāvas plūsmas virzienam. Ūdens plūsmas sensors ir integrēts ar magnētisko zāles efekta sensoru, kas ar katru apgriezienu rada elektrisko impulsu. Tās dizains ir tāds, ka zāles efekta sensors ir noslēgts no ūdens un ļauj sensoram palikt drošībā un sausā stāvoklī.
Tikai YFS201 sensora moduļa attēls ir parādīts zemāk.
Lai izveidotu savienojumu ar cauruļu un ūdens plūsmas sensoru, es izmantoju divus savienotājus ar iekšējo vītni, kā parādīts zemāk.
Saskaņā ar YFS201 specifikācijām maksimālā strāva, ko tā piesaista pie 5V, ir 15mA, un darba plūsmas ātrums ir no 1 līdz 30 litriem / minūtē. Kad šķidrums plūst caur sensoru, tas nonāk saskarē ar turbīnas riteņa spurām, kas ievietotas plūstošā šķidruma ceļā. Turbīnas riteņa ass ir savienota ar zāles efekta sensoru. Sakarā ar to, vienmēr, kad ūdens plūst caur vārstu, tas ģenerē impulsus. Viss, kas mums jādara, ir izmērīt laiku plusiem vai saskaitīt impulsu skaitu 1 sekundē un pēc tam aprēķināt plūsmas ātrumu litros stundā (L / Hr) un pēc tam izmantot vienkāršu konversijas formulu, lai atrastu tilpumu ūdens, kas tam bija izgājis. Lai izmērītu impulsus, mēs izmantosim Arduino UNO. Zemāk redzamais attēls parāda ūdens plūsmas sensora tapu.
Ķēdes shēma
Ūdens plūsmas sensors circuit diagramma tiek parādīts zemāk saskarnes ūdens plūsmas sensors un LCD (16x2) ar Arduino. Ja esat jauns Arduino un LCD displejs, varat apsvērt iespēju izlasīt šo Interfacing Arduino un LCD rakstu.
Ūdens plūsmas sensora un LCD (16x2) savienojums ar Arduino ir norādīts tabulas formātā. Ņemiet vērā, ka katls ir savienots starp 5 V un GND, un katla 2. tapa ir savienota ar LCD V0 tapu.
S.NO |
Ūdens plūsmas sensora tapa |
Arduino Pins |
1 |
Sarkanais vads |
5V |
2 |
Melns |
GND |
3 |
Dzeltens |
A0 |
S.No |
LCD |
Arduino |
1 |
Vss |
GND (maizes plātnes zemes sliede) |
2 |
VDD |
5V (pozitīvā paneļa sliede) |
3 |
Savienojumam ar V0 pārbaudiet iepriekš minēto piezīmi |
|
4 |
RS |
12 |
5 |
RW |
GND |
6 |
E |
11 |
7 |
D7 |
9 |
8 |
D6 līdz D3 |
3 līdz 5 |
Es izmantoju paneļu un pēc tam, kad savienojums tika veikts atbilstoši iepriekš parādītajai shēmai, mana testēšanas iestatījumi izskatījās apmēram šādi.
Arduino ūdens plūsmas sensora kods
Pilns ūdens plūsmas sensora Arduino kods ir norādīts lapas apakšdaļā. Kods ir izskaidrots šādi.
Mēs izmantojam LCD galvenes failu, kas atvieglo mūsu saskarni ar LCD ar Arduino, un tapas 12,11,5,4,3,9 tiek piešķirtas datu pārsūtīšanai starp LCD un Arduino. Sensora izejas tapa ir savienota ar Arduino UNO 2. kontaktu.
volatile int flow_frequency; // Mēra plūsmas sensora impulsus // Aprēķinātie litri / stundā peldošā tilpums = 0,0, l_minūte; neparakstīts char plūsmas devējs = 2; // Sensora ievade neparakstīta gara currentTime; neparakstīts garš cloopTime; # iekļaut
Šī funkcija ir pakalpojuma pārtraukšanas kārtība, un to izsauks ikreiz, kad Arduino UNO pin2 būs pārtraukuma signāls. Katram pārtraukuma signālam mainīgā plūsmas_frekvences skaits tiks palielināts par 1. Lai iegūtu sīkāku informāciju par pārtraukumiem un to darbību, varat izlasīt šo rakstu par Arduino pārtraukumiem.
void flow () // Pārtraukt funkciju { flow_frequency ++; }
Tukšajā iestatījumā mēs sakām MCU, ka Arduino UNO tapa 2 tiek izmantota kā INPUT, dodot komandu pinMode (pin, OUTPUT). Izmantojot komandu attachInterrupt, vienmēr, kad 2. kontaktā ir signāla pieaugums, tiek izsaukta plūsmas funkcija. Tas palielina mainīgā flow_frequency mainīgo skaitu par 1. Pašreizējais laiks un cloopTime tiek izmantoti, lai kods darbotos ik pēc 1 sekundes.
void setup () { pinMode (plūsmas devējs, INPUT); digitalWrite (plūsmas sensors, HIGH); Sērijas sākums (9600); lcd.begin (16, 2); attachInterrupt (digitalPinToInterrupt (plūsmas devējs), plūsma, RISING); // Iestatīšana Pārtraukt lcd.clear (); lcd.setCursor (0,0); lcd.print ("Ūdens plūsmas mērītājs"); lcd.setCursor (0,1); lcd.print ("Circuit Digest"); currentTime = milis (); cloopTime = currentTime; }
Funkcija if nodrošina, ka ik pēc vienas sekundes kods tajā darbojas. Tādā veidā mēs varam saskaitīt frekvences, ko sekundē rada ūdens plūsmas sensors. Plūsmas ātruma impulsa raksturlielumiem no datu lapas ir norādīts, ka frekvence ir 7,5 reizināta ar plūsmas ātrumu. Tātad plūsmas ātrums ir frekvence / 7,5. Pēc plūsmas ātruma noteikšanas litros / minūtē daliet to ar 60, lai pārvērstu litros / sekundē. Šī vērtība tiek pievienota vol mainīgajam par katru sekundi.
void loop () { currentTime = milis (); // Katru sekundi aprēķiniet un izdrukājiet litrus stundā, ja (currentTime> = (cloopTime + 1000)) { cloopTime = currentTime; // Atjaunina cloopTime if (plūsmas_frekvence! = 0) { // Pulsa frekvence (Hz) = 7.5Q, Q ir plūsmas ātrums L / min. l_minūte = (plūsmas frekvence / 7,5); (Impulsa frekvence x 60 min) / 7,5Q = plūsmas ātrums L / stundā lcd.clear (); lcd.setCursor (0,0); lcd.print ("Likme:"); lcd.print (l_minūte); lcd.print ("L / M"); l_minute = l_minute / 60; lcd.setCursor (0,1); vol = vol + l_minute; lcd.print ("Vol:"); lcd.print (tilpums); lcd.print ("L"); plūsmas_frekvence = 0; // Reset Counter Serial.print (l_minute, DEC); // Drukāt litri / stundā Serial.println ("L / Sec"); }
Cita funkcija darbojas, ja noteiktā laika posmā no ūdens plūsmas sensora nav izejas.
else { lcd.clear (); lcd.setCursor (0,0); lcd.print ("Likme:"); lcd.print (plūsmas frekvence); lcd.print ("L / M"); lcd.setCursor (0,1); lcd.print ("Vol:"); lcd.print (tilpums); lcd.print ("L"); }
Arduino ūdens plūsmas sensors darbojas
Mūsu projektā mēs pievienojām ūdens plūsmas sensoru caurulei. Ja caurules izejas vārsts ir aizvērts, ūdens plūsmas sensora izeja ir nulle (nav impulsu). Arduino tapā 2 nebūs redzams pārtraukuma signāls, un plūsmas_frekvences skaits būs nulle. Šajā stāvoklī darbosies kods, kas ir ierakstīts cits cilpa iekšpusē.
Ja tiek atvērts caurules izejas vārsts. Ūdens plūst caur sensoru, kas savukārt pagriež riteni sensora iekšpusē. Šajā stāvoklī mēs varam novērot impulsus, kas rodas no sensora. Šie impulsi darbosies kā pārtraukuma signāls Arduino UNO. Katram pārtraukuma signālam (augšupejošai malai) plūsmas frekvences mainīgā skaits tiks palielināts par vienu. Pašreizējais laiks un kopas mainīgais nodrošina, ka katrai sekundei plūsmas ātruma un tilpuma aprēķināšanai tiek ņemta plūsmas frekvences vērtība. Pēc aprēķina pabeigšanas mainīgais plūsmas_frekvences mainīgais tiek iestatīts uz nulli un visa procedūra tiek sākta no sākuma.
Pilnīgu darbu var atrast arī videoklipā, kas ir saistīts ar šīs lapas apakšdaļu. Ceru, ka jums patika apmācība un patika kaut kas noderīgs. Ja jums ir kādas problēmas, lūdzu, atstājiet tās komentāru sadaļā vai izmantojiet mūsu forumus citiem tehniskiem jautājumiem.