Vienkārša digitālā ūdens plūsmas mērītāja shēma, izmantojot Arduino

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā ziņojumā mēs izveidosim digitālu ūdens plūsmas mērītāju, izmantojot Arduino un 16 x 2 LCD displeju. Mēs aplūkosim ūdens plūsmas sensoru YF-S201, tā uzbūvi un darbību, kā arī saskarni ar Arduino, lai iegūtu dažus noderīgus rādījumus.

Piedāvātajā projektā var izmērīt ūdens plūsmas ātrumu litros / minūtē un kopējo ūdens plūsmu litros.



Apskatīsim YF-S201 ūdens plūsmas sensoru.

YF-S201 ilustrācija:

YF-S201 ir a Pamatojoties uz zāles efektu ūdens sensors. Tam ir trīs spailes 5V (nominālais darba spriegums), GND un izeja. + 5V ir sarkanās krāsas vads, melnais ir GND un dzeltenais.



Sensors izsniedz frekvenci, kas tieši proporcionāla ūdens plūsmai. YF-S201 sensors var mērīt no 1 litra minūtē līdz 30 litriem minūtē. Ūdens spiedienam jābūt mazākam vai vienādam ar 1,75 MPa.

Ūdeni var iesmidzināt no viena gala, un ūdens plūst caur otru galu.

Sensoru var novietot aiz galvenā tvertnes vārsta vārsta, ja vēlaties izmērīt ūdens plūsmu ūdens cauruļu tīklā, vai arī jūs varat ievietot tieši pirms ūdens krāna, lai izmērītu viena krāna ūdens plūsmu.

Sensoru var novietot jebkurā vietā atbilstoši lietotāja vajadzībām, taču jārūpējas, lai izvairītos no ūdens noplūdes.

Sensoram ir a magnēts un Hall efekta sensors ja mēs ieskatāmies ūdens plūsmas sensora sānos, mēs varam būt liecinieki plastmasas turbīnai ūdens plūsmas ceļā.

Turbīnas centrā ir iestrādāts apaļas formas magnēts, un Hall Effect sensors ir noslēgts un pasargāts no mitruma un novietots virs magnēta. Hall efekta sensors rada impulsu katram turbīnas apgriezienam.

Ūdens plūsmas viļņu forma uz sērijveida plotera

Mēs varam redzēt ūdens plūsmas sensora radītos impulsus arduino IDE sērijveida ploterī, kas parādīts zemāk (izmantojot Arduino viena kanāla osciloskopu).

Mēs esam izpūtuši gaisu caur sensoru pagriezt turbīnu kā tests, un radītā viļņu forma ir parādīta iepriekš. Blīvāka viļņu forma kreisajā pusē apzīmē augstāku frekvenci un ātrāku turbīnas rotāciju, mazāk blīvā viļņu forma labajā pusē nozīmē otrādi.

Pastāvīga ūdens plūsma nodrošina vienmērīgu frekvences izvadi.

Mums vajag konvertēt frekvenci litrā / minūtē. Lai to izdarītu, ražotājs ir norādījis formulu:

Ūdens plūsmas ātrums (litrs / min) = biežums / 7,5

Tātad, mums ir jāmēra ģenerētā frekvence un jāpiemēro iepriekš minētā formula programmas kodā.

YF-S201 tehniskās specifikācijas:

· Precizitāte: +/- 10%, ja jums nepieciešama lielāka precizitāte, mums jākalibrē.

· Darba temperatūra: -25 līdz + 80 grādi pēc Celsija.

· Darba mitrums: 35% līdz 80% RH.

· Izejas darba cikls: 50% +/- 10%.

· Maksimālais ūdens spiediens: 1,75 MPa.

· Pākšaugi uz litru: 450.

· Maksimālā strāvas novadīšana: 15 mA pie 5V

Ar to secina ūdens plūsmas sensoru YF-S201.

Tagad pārejam pie shēmas.

Shematiska diagramma:

Ūdens plūsmas sensora izejas tapa ir savienota ar Arduino A0. Izmantojiet 10K potenciometrs displeja kontrasta pielāgošanai. Vadu Arduino un LCD displejs kā norādīts iepriekš diagrammā.

Programmas kods:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time = 0
float frequency = 0
float waterFlow = 0
float total = 0
float LS = 0
const int input = A0
const int test = 9
void setup()
{
Serial.begin(9600)
lcd.begin(16, 2)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Water Flow Meter')
lcd.setCursor(0,1)
lcd.print('****************')
delay(2000)
pinMode(input,INPUT)
pinMode(test, OUTPUT)
analogWrite(test,100)
}
void loop()
{
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000/Time
waterFlow = frequency/7.5
LS = waterFlow/60
if(frequency >= 0)
{
if(isinf(frequency))
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('L/Min: 0.00')
lcd.setCursor(0,1)
lcd.print('Total: ')
lcd.print(total)
lcd.print(' L')
}
else
{
total = total + LS
Serial.println(frequency)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('L/Min: ')
lcd.print(waterFlow)
lcd.setCursor(0,1)
lcd.print('Total: ')
lcd.print(total)
lcd.print(' L')
}
}
delay(1000)
}
//-----Program Developed by R.Girish-----//

Autora prototips:

“L / Min” norāda pašreizējo ūdens plūsmas ātrumu, bet “Total” - kopējo ūdens plūsmu kopš ķēdes ieslēgšanas.

Jūs varat arī plūst šķidrumus, kuru viskozitātes vērtība ir tuvu ūdenim.

Ja jums ir kādi jautājumi par šo digitālo ūdens plūsmas mērītāju, izmantojot Arduino, nekautrējieties izteikties komentāru sadaļā, iespējams, saņemsit ātru atbildi.




Pāri: kursorsviras kontrolēts 2,4 GHz RC automobilis, izmantojot Arduino Nākamais: Izveidojiet šo Buck Converter, izmantojot Arduino