في هذا الدرس التعليمي ، الدي يعتبر من اهم الدوس المتعلقة باتعمال اردوينوحيث سوف نتعلم استخدام مستشعر تدفق المياه YF-S201 لقياس معدل تدفق المياه. أولاً ، سنرى مقدمة لمستشعرات معدل التدفق لهذا السبب وأين يتم استخدام مستشعرات التدفق. ثانيًا ، سنناقش مخطط pinout الخاص به والعمل. في النهاية ، سنرى كيفية ربط مستشعر تدفق المياه YF-S201 مع Arduino وبرمجته في Arduino IDE.
أين يتم استخدام مستشعر تدفق المياه؟
كونك تقني او مهندس ,يجب أن تكون قد زرت أي شركة أتمتة خاصة الصناعات الكيماوية والمشروبات الغازية. في صناعات الأتمتة هذه ، تتمثل المهمة الأكثر شيوعًا في مراقبة جودة وكمية السوائل. على سبيل المثال ، في صناعة المشروبات الغازية ، تتمثل المهمة المستمرة في ضمان ملء الزجاجات بكمية محددة من سائل المشروبات الباردة. في مثل هذه التطبيقات ، يتم استخدام مستشعرات معدل التدفق. وبالمثل ، تستخدم موزعات المياه الأوتوماتيكية أيضًا مستشعرات معدل التدفق لتقدير كمية المياه التي سيتم توفيرها للمستخدم وفقًا للمبلغ الذي يدفعه المستخدم.
يمكننا استخدام مستشعر تدفق المياه YF-S201 مع أي متحكم مثل Arduino و Raspberry Pi و Pic microcontroller و 8051 microcontroller و STM32 Blue Pill و ESP32 و ESP8266 لقياس معدل تدفق المياه.
بعض التطبيقات الهامة لجهاز استشعار تدفق المياه هي:
ماكينات القهوة
محطات إعادة تدوير المياه
صناعة التعدين (صناعة كيميائية)
نظام ري ذكي
موزعات المياه الأوتوماتيكية
مفهوم و دور مستشعر تدفق المياه
مستشعر تدفق المياه هو جهاز إلكتروني يستخدم لقياس معدل تدفق المياه. علاوة على ذلك ، فإن معدل التدفق يعني أن حجم الماء يمر عبر جهاز استشعار لكل وحدة زمنية. هناك العديد من أنواع مستشعرات قياس معدل تدفق المياه المتوفرة في السوق مثل YF-B1 و YF-B2 و YF-B3 و YF-B4 و YF-B5 و YF-B6 و G1 & 2 و G3 & 4 و G1 & 8 و YF-S201 . جميع أجهزة الاستشعار هذه متشابهة تقريبًا باستثناء الاختلاف في نطاق معدل التدفق ونطاق جهد التشغيل والطول والحجم والمواد المستخدمة. لكن مبدأ عملها وإجراءات التفاعل مع المتحكمات الدقيقة مثل Arduino لا يزالان كما هو.
YF-S201 عبارة عن مستشعر ماء مصمم تقنيًا لقياس معدل التدفق وحجم السائل المطلوب عبر خطوط الأنابيب. إنه مستشعر تدفق مياه منخفض التكلفة يتكون من جسم نحاسي ودوار مائي. بالإضافة إلى ذلك ، فإنه يحتوي أيضًا على دائرة داخلية لمستشعر تأثير هول الذي يعمل على مبدأ الكهرومغناطيسية ويوفر نبضات عند طرف الخرج. إنه جهاز صديق للطاقة ومتوافق مع MCU بمعدل تدفق بحد أقصى 30 لترًا في الدقيقة. يجد جهاز صغير بدقة عالية تطبيقه من مشاريع DIY في الصناعة لقياس التدفق.
YF-S201 عبارة عن مستشعر تدفق مياه من البلاستيك في الجسم يحتوي على صمام ودوار ومستشعر تأثير هول. إنهم يعملون على مبدأ تأثير هول ويخرجون الحجم ومعدل التدفق في شكل نبضات على دبوس الإشارة. يحتوي على ثلاثة أسلاك فقط ، أي اثنين من أسلاك الإمداد وسلك نبضي ناتج.
يوضح الرسم البياني التالي pinout لمستشعر تدفق المياه YF-S201. يتكون من ثلاثة دبابيس:
طريقة عمل مستشعر تدفق المياه
يتكون مستشعر تدفق المياه هذا من دوار مائي (عجلة توربينية) ومستشعر تأثير هول. يدخل الماء من خلال النهاية ويخرج من خلال الطرف الآخر من المستشعر. عندما يتدفق الماء عبر مستشعر التدفق ، فإنه يصطدم بعجلة التوربين وتدور عجلة التوربين. ترتبط سرعة عجلة التوربين ارتباطًا مباشرًا بسرعة تدفق المياه عبر مستشعر تدفق المياه. في كل دوران كامل لعجلة التوربين ، ينتج مستشعر تأثير القاعة نبضة تظهر على دبوس خرج الإشارة. بمعنى آخر ، عدد النبضات التي تظهر على دبوس خرج الإشارة يتناسب طرديًا مع سرعة دوران التوربين.
يُعرف YF-S201 باسم مستشعر تأثير هول لأنه يعمل على تأثير هول. من أجل قياس تدفق أو حجم السائل ، نقوم بإصلاح المستشعر بين صمامات مدخل ومخرج المياه. عندما يتدفق السائل من خلاله ، فإنه يقوم بتدوير الجزء الدوار الذي يحتوي على مغناطيس متصل به. تتداخل السرعة مع التدفق المغناطيسي الذي يستشعره مستشعر تأثير هول ويولد المستشعر في العوائد إشارة خرج تتناسب مع التدفق المغناطيسي مع كل ثورة يقوم بها الدوار. نظرًا لأن مستشعر تدفق المياه متوافق مع المتحكمات الدقيقة ، يمكننا مراقبة القياسات على شاشة الكمبيوتر التسلسلية ويمكن أيضًا عرضها.
مخطط مستشعر تدفق المياه مع اردوينو
في هذا المشروع ، سوف نستخدم I / O pin2 الرقمي من Arduino كدبوس خارجي لالتقاط المقاطعة لحساب عدد النبضات. الآن قم بإجراء اتصال مع مستشعر تدفق المياه و Arduino وفقًا لهذا الرسم التخطيطي:
كود اردوينو
يقيس رسم Arduino الخاص بمستشعر تدفق المياه معدل تدفق المياه بوحدات لتر في الساعة ويعرض القيمة المقاسة على الشاشة التسلسلية لـ Arduino IDE.
//Tech-hme.com
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++; }
بعد ذلك ، افتح الشاشة التسلسلية واضبط معدل البث بالباود على 9600. سترى القيم المقاسة على الشاشة التسلسلية كما هو موضح أدناه:
وبإمكانكم عرض هده النتائج على lcd