מעגל מד זרימת מים דיגיטלי פשוט באמצעות ארדואינו

נסה את הכלי שלנו לביטול בעיות





בפוסט זה אנו הולכים לבנות מד זרימת מים דיגיטלי באמצעות Arduino ותצוגת LCD בגודל 16x2. אנו נסתכל על חיישן זרימת המים של YF-S201, בנייתו ועבודתו וכיצד ניתן להתממשק עם ארדואינו כדי לחלץ כמה קריאות שימושיות.

הפרויקט המוצע יכול למדוד את קצב זרימת המים בליטר / דקה וזרימת המים הכוללת בליטר.



בואו נסתכל על חיישן זרימת המים YF-S201.

איור של YF-S201:

YF-S201 הוא א אפקט הול מבוסס חיישן מים. יש לו שלושה מסופים 5V (מתח עבודה סמלי), GND ופלט. ה- + 5V הוא חוט בצבע אדום, השחור הוא GND והצהוב הוא פלט.



החיישן נותן תדר ביחס ישר לזרימת המים. חיישן YF-S201 יכול למדוד בין ליטר לדקה ל 30 ליטר / דקה. לחץ המים צריך להיות פחות מ- 1.75 מגה פיקסל.

ניתן להזריק את המים מקצה אחד ומים זורמים דרך הקצה השני.

ניתן למקם את החיישן אחרי שסתום השער הראשי של המיכל אם ברצונך למדוד את זרימת המים ברשת צינורות מים או שאתה יכול למקם ממש לפני ברז מים כדי למדוד את זרימת המים של ברז יחיד.

מיקום החיישן יכול להיות בכל מקום בהתאם לצורך של המשתמש אך יש לנקוט בזהירות כדי למנוע דליפת מים.

לחיישן יש מגנט וחיישן אפקט הול אם נסתכל בצידי חיישן זרימת המים, אנו יכולים לחזות בטורבינת פלסטיק בדרך זרימת המים.

מגנט בצורת עגול מוטבע במרכז הטורבינה וחיישן האפקט הול נאטם ומוגן מפני לחות ומונח מעל המגנט. חיישן האפקט הול מייצר דופק לכל מהפכה של הטורבינה.

צורת גל זרימת מים על הקושר הסדרתי

אנו יכולים לראות את הפולסים שנוצרו על ידי חיישן זרימת מים על גבי מתווה סדרתי של ארדואינו IDE, המוצג להלן (באמצעות אוסצילוסקופ ערוץ יחיד).

נשפנו אוויר דרך החיישן אל סובב את הטורבינה כמבחן וצורת הגל שנוצרת מוצגת לעיל. צורת הגל הצפופה יותר בצד שמאל מייצגת תדירות גבוהה יותר וסיבוב מהיר יותר של הטורבינה, צורת הגל הפחותה בצד ימין מסמנת את ההיפך.

זרימת מים עקבית נותנת תפוקת תדרים עקבית.

אנחנו חייבים להמיר את התדר לסולם ליטר / דקה. לשם כך, היצרן נתן נוסחה:

קצב זרימת מים (ליטר / דקה) = תדירות / 7.5

לכן, עלינו למדוד את התדר שנוצר ולהחיל את הנוסחה הנ'ל בקוד התוכנית.

מפרט טכני של YF-S201:

· דיוק: +/- 10%, אם אתה זקוק לדיוק טוב יותר, עלינו לכייל.

· טמפרטורת עבודה: -25 עד +80 מעלות צלזיוס.

· לחות עבודה: 35% עד 80% לחות יחסית.

· מחזור חובת תפוקה: 50% +/- 10%.

· לחץ מים מרבי: 1.75 מגה פיקסל.

· פולסים לליטר: 450.

· ציור זרם מרבי: 15 mA ב 5V

זה מסכם את חיישן זרימת המים YF-S201.

עכשיו בואו נעבור לסכמה.

תרשים סכמטי:

סיכת הפלט של חיישן זרימת המים מחוברת ל- A0 של Arduino. להשתמש ב פוטנציומטר 10K להתאמת ניגודיות התצוגה. חוט את הארדואינו ו תצוגת אל סי די בהתאם לתרשים לעיל.

קוד תכנית:

//-----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-----//

אב הטיפוס של המחבר:

'L / Min' מציין את קצב זרימת המים הנוכחי וה'סך הכל 'מציין את סך המים שזרמו מאז הפעלת המעגל.

אתה יכול גם להזרים כל נוזלים שערך הצמיגות שלהם קרוב למים.

אם יש לך שאלות לגבי מד זרימת מים דיגיטלי זה באמצעות Arduino, אל תהסס להביע בסעיף ההערה, ייתכן שתקבל תשובה מהירה.




קודם: ג'ויסטיק נשלט על מכונית RC 2.4 GHz באמצעות ארדואינו הבא: הפוך את ממיר ה- Buck הזה באמצעות Arduino