- अवयव आवश्यक
- YFS201 वॉटर फ्लो सेंसर
- सर्किट आरेख
- Arduino जल प्रवाह सेंसर कोड
- Arduino जल प्रवाह सेंसर काम कर रहा है
यदि आपने कभी बड़े पैमाने पर निर्माण कंपनियों का दौरा किया है, तो पहली बात यह है कि आप देखेंगे कि वे सभी स्वचालित हैं। शीतल पेय उद्योग और रासायनिक उद्योगों को इस स्वचालन प्रक्रिया के दौरान उन तरल पदार्थों को लगातार मापना और मापना पड़ता है, जिन्हें वे संभाल रहे हैं, और एक तरल के प्रवाह को मापने के लिए उपयोग किया जाने वाला सबसे सामान्य सेंसर एक फ्लो सेंसर है। Arduino जैसे एक माइक्रोकंट्रोलर के साथ फ्लो सेंसर का उपयोग करके, हम प्रवाह दर की गणना कर सकते हैं, और एक पाइप से गुजरने वाले तरल की मात्रा की जांच कर सकते हैं, और इसे आवश्यकतानुसार नियंत्रित कर सकते हैं। विनिर्माण उद्योगों के अलावा, फ्लो सेंसर कृषि क्षेत्र, खाद्य प्रसंस्करण, जल प्रबंधन, खनन उद्योग, जल पुनर्चक्रण, कॉफी मशीन आदि में भी पाए जा सकते हैं। इसके अलावा, जल प्रवाह संवेदक स्वचालित जल मशीन जैसी परियोजनाओं के लिए एक अच्छा अतिरिक्त होगा। और स्मार्ट सिंचाई प्रणाली जहां हमें तरल पदार्थों के प्रवाह की निगरानी और नियंत्रण की आवश्यकता है।
इस परियोजना में, हम Arduino का उपयोग करके एक जल प्रवाह सेंसर बनाने जा रहे हैं । हम Arduino और LCD के साथ जल प्रवाह संवेदक को इंटरफेस करेंगे, और पानी की मात्रा को प्रदर्शित करने के लिए इसे प्रोग्राम करेंगे, जो वाल्व से होकर गुजरा है। इस विशेष परियोजना के लिए, हम YF-S201 वॉटर फ्लो सेंसर का उपयोग करने जा रहे हैं, जो तरल के प्रवाह दर को महसूस करने के लिए एक हॉल प्रभाव का उपयोग करता है।
अवयव आवश्यक
- पानी का प्रवाह सेंसर
- Arduino UNO
- एलसीडी (16x2)
- आंतरिक सूत्रण के साथ संबंधक
- तारों को जोड़ना
- पाइप
YFS201 वॉटर फ्लो सेंसर
सेंसर में 3 तार RED, YELLOW और BLACK हैं जैसा कि नीचे दिए गए चित्र में दिखाया गया है। लाल तार का उपयोग आपूर्ति वोल्टेज के लिए किया जाता है जो 5V से 18V तक होता है और काला तार GND से जुड़ा होता है। पीले तार का उपयोग आउटपुट (दालों) के लिए किया जाता है, जिसे एमसीयू द्वारा पढ़ा जा सकता है। जल प्रवाह संवेदक में एक पिनव्हील सेंसर होता है जो उस तरल की मात्रा को मापता है जो इसके माध्यम से गुजरा है।
YFS201 जल प्रवाह सेंसर की कार्यप्रणाली को समझने के लिए सरल है। जल प्रवाह संवेदक हॉल प्रभाव के सिद्धांत पर काम करता है। जब एक चुंबकीय क्षेत्र को धारा के प्रवाह के लिए लंबवत दिशा में लागू किया जाता है, तो हॉल प्रभाव एक इलेक्ट्रिक कंडक्टर में संभावित अंतर का उत्पादन होता है। जल प्रवाह सेंसर एक चुंबकीय हॉल प्रभाव सेंसर के साथ एकीकृत है, जो हर क्रांति के साथ एक इलेक्ट्रिक पल्स उत्पन्न करता है। इसका डिज़ाइन इस तरह से है कि हॉल प्रभाव सेंसर को पानी से बंद कर दिया जाता है, और सेंसर को सुरक्षित और शुष्क रहने की अनुमति देता है।
अकेले YFS201 सेंसर मॉड्यूल की तस्वीर नीचे दिखाई गई है।
पाइप और जल प्रवाह संवेदक के साथ जुड़ने के लिए, मैंने नीचे दिखाए गए अनुसार एक महिला धागे के साथ दो कनेक्टर का उपयोग किया।
YFS201 विनिर्देशों के अनुसार , यह अधिकतम 5V 15mA है, और काम की प्रवाह दर 1 से 30 लीटर / मिनट है। जब सेंसर के माध्यम से तरल बहता है, तो यह टरबाइन व्हील के पंखों के साथ संपर्क बनाता है, जिसे बहते तरल के मार्ग में रखा जाता है। टरबाइन व्हील का शाफ्ट एक हॉल इफेक्ट सेंसर से जुड़ा होता है। इसके कारण, जब भी पानी वाल्व के माध्यम से बहता है तो यह दालों को उत्पन्न करता है। अब, हमें केवल इतना करना है कि प्लसस के लिए समय को मापना है या 1 सेकंड में दालों की संख्या की गणना करना है और फिर प्रति लीटर (एल / आरआर) में प्रवाह की दरों की गणना करना है और फिर वॉल्यूम खोजने के लिए सरल रूपांतरण फॉर्मूला का उपयोग करना है जो पानी से होकर गुजरा था। दालों को मापने के लिए, हम Arduino UNO का उपयोग करने जा रहे हैं। नीचे दिया गया चित्र आपको जल प्रवाह सेंसर का पिनआउट दिखाता है।
सर्किट आरेख
पानी के प्रवाह सेंसर सर्किट आरेख Arduino के साथ एक पानी के प्रवाह सेंसर और एलसीडी (16x2) इंटरफेस करने नीचे दिखाया गया है। यदि आप Arduino और LCDs में नए हैं, तो आप इस Interfacing Arduino और LCD Article को पढ़ने पर विचार कर सकते हैं।
Arduino के साथ जल प्रवाह सेंसर और एलसीडी (16x2) का कनेक्शन नीचे तालिका प्रारूप में दिया गया है। ध्यान दें कि पॉट 5V और GND के बीच जुड़ा हुआ है और पॉट का पिन 2 LCD के V0 पिन से जुड़ा है।
एस.एन.ओ. |
वाटर फ्लो सेंसर पिन |
अरुडिनो पिंस |
1 |
लाल तार |
5 वी |
२ |
काली |
GND |
३ |
पीला |
ए ० |
एस.एन.ओ. |
एलसीडी |
Arduino |
1 |
वीएसएस |
GND (ब्रेडबोर्ड की जमीनी रेल) |
२ |
VDD |
5V (ब्रेडबोर्ड की सकारात्मक रेल) |
३ |
V0 के संबंध में उपरोक्त नोट की जाँच करें |
|
४ |
रुपये |
१२ |
५ |
आरडब्ल्यू |
GND |
६ |
इ |
1 1 |
। |
डी 7 |
९ |
। |
डी 6 से डी 3 |
3 से 5 |
मैंने एक ब्रेडबोर्ड का उपयोग किया, और एक बार जब कनेक्शन ऊपर दिखाए गए सर्किट आरेख के अनुसार किया गया था, तो मेरा परीक्षण सेट-अप कुछ इस तरह दिखाई दिया।
Arduino जल प्रवाह सेंसर कोड
पूर्ण जल प्रवाह सेंसर Arduino कोड पृष्ठ के नीचे दिया गया है। कोड की व्याख्या इस प्रकार है।
हम एलसीडी के हेडर फ़ाइल का उपयोग कर रहे हैं, जो कि Arduino के साथ हमारे एलसीडी को बदलने में आसानी करता है, और 12,11,5,4,3,9 पिन एलसीडी और Arduino के बीच डेटा ट्रांसफर के लिए आवंटित किए जाते हैं। सेंसर का आउटपुट पिन 2 Arduino UNO के पिन से जुड़ा है।
वाष्पशील int flow_frequency; // माप प्रवाह सेंसर दालों // परिकलित लीटर / घंटा फ्लोट वॉल्यूम = 0.0, l_minute; अहस्ताक्षरित char flowensor = 2; // सेंसर इनपुट अहस्ताक्षरित लंबी वर्तमान समय; अहस्ताक्षरित लंबी क्लॉपोपाइम; #शामिल
यह फ़ंक्शन एक रुकावट सेवा दिनचर्या है और इसे तब भी कहा जाएगा जब Arduino UNO के पिन 2 पर एक बाधा संकेत हो। प्रत्येक रुकावट संकेत के लिए, चर flow_frequency की गिनती 1 से बढ़ जाएगी। इंटरप्ट और उनके काम करने के बारे में अधिक जानकारी के लिए, आप Arduino इंटरप्ट पर इस लेख को पढ़ सकते हैं।
शून्य प्रवाह () // बाधा कार्य { flow_frequency ++; }
शून्य सेटअप में, हम MCU को बताते हैं कि Arduino UNO के पिन 2 को कमांड पिनमोड (pin, OUTPUT) देकर INPUT के रूप में उपयोग किया जाता है। अटैचमेंट कमांड का उपयोग करके, जब भी पिन 2 पर सिग्नल में वृद्धि होती है, प्रवाह फ़ंक्शन को कहा जाता है। यह चर flow_frequency में 1. से गिनती बढ़ाता है। वर्तमान समय और क्लो समय का उपयोग कोड के लिए हर 1 सेकंड में किया जाता है।
शून्य सेटअप () { pinMode (flowensor, INPUT); digitalWrite (flowensor, HIGH); सीरियल.बेगिन (9600); lcd.begin (16, 2); संलग्नक (digitalPinToInterrupt (flowensor), प्रवाह, RISING); // सेटअप इंटरप्ट lcd.clear (); lcd.setCursor (0,0); lcd.print ("जल प्रवाह मीटर"); lcd.setCursor (0,1); lcd.print ("सर्किट डाइजेस्ट"); currentTime = मिली (); cloopTime = currentTime; }
यदि फ़ंक्शन यह सुनिश्चित करता है कि हर एक सेकंड के अंदर कोड चलता है। इस तरह, हम प्रति सेकंड जल प्रवाह सेंसर द्वारा उत्पादित आवृत्तियों की संख्या की गणना कर सकते हैं। डेटाशीट से फ्लो रेट पल्स विशेषताओं को दिया जाता है कि फ़्लो दर द्वारा आवृत्ति 7.5 गुणा की जाती है। तो प्रवाह दर आवृत्ति / 7.5 है। प्रवाह दर जो कि लीटर / मिनट में है, को खोजने के बाद इसे लीटर / सेकंड में बदलने के लिए 60 से विभाजित करें। यह मान हर एक सेकंड के लिए वॉल्यूम चर में जोड़ा जाता है।
शून्य लूप () { currentTime = millis (); // हर सेकंड, गणना करें और लीटर / घंटा प्रिंट करें यदि (करंट टाइम> = (क्लोप् टाइम + 1000)) { क्लोप् टाइम = करंट टाइम; // अपडेट क्लॉफटाइम यदि (flow_frequency! = 0) { // पल्स फ़्रीक्वेंसी (Hz) = 7.5Q, Q, L / मिनट में प्रवाह दर है। l_minute = (flow_frequency / 7.5); // / पल्स आवृत्ति x 60 मिनट) / 7.5Q = एल / घंटा में प्रवाहित करें lcd.clear (); lcd.setCursor (0,0); lcd.print ("दर:"); lcd.print (l_minute); lcd.print ("L / M"); l_minute = l_minute / 60; lcd.setCursor (0,1); vol = vol + l_minute; lcd.print ("Vol:"); lcd.print (vol); lcd.print ("L"); flow_frequency = 0; // रीसेट काउंटर सीरियल.प्रिंट (l_minute, DEC); // प्रिंट लीटर / घंटा Serial.println ("L / Sec"); }
अन्य फ़ंक्शन तब काम करता है जब दिए गए समय अवधि के भीतर जल प्रवाह सेंसर से कोई आउटपुट नहीं होता है।
और { lcd.clear (); lcd.setCursor (0,0); lcd.print ("दर:"); lcd.print (flow_frequency); lcd.print ("L / M"); lcd.setCursor (0,1); lcd.print ("Vol:"); lcd.print (vol); lcd.print ("L"); }
Arduino जल प्रवाह सेंसर काम कर रहा है
हमारी परियोजना में, हमने जल प्रवाह संवेदक को एक पाइप से जोड़ा। यदि पाइप का आउटपुट वाल्व बंद है, तो जल प्रवाह सेंसर का उत्पादन शून्य है (कोई दाल नहीं)। Arduino के पिन 2 पर कोई रुकावट संकेत नहीं दिखाई देगा, और flow_frequency की गिनती शून्य होगी। इस हालत में, कोड जो दूसरे लूप के अंदर लिखा गया है वह काम करेगा।
यदि पाइप का आउटपुट वाल्व खोला जाता है। पानी सेंसर के माध्यम से बहता है, जो बदले में सेंसर के अंदर पहिया घूमता है। इस स्थिति में, हम दालों का निरीक्षण कर सकते हैं, जो सेंसर से उत्पन्न होते हैं। ये दालें Arduino UNO के लिए एक बाधा संकेत के रूप में काम करेंगी। प्रत्येक रुकावट संकेत (बढ़ती बढ़त) के लिए, flow_frequency चर की गिनती एक से बढ़ जाएगी। वर्तमान समय और क्लॉपीटीम चर सुनिश्चित करते हैं कि प्रत्येक एक सेकंड के लिए flow_frequency का मान प्रवाह दर और मात्रा की गणना के लिए लिया जाता है। गणना समाप्त होने के बाद, flow_frequency वैरिएबल को शून्य पर सेट किया जाता है और पूरी प्रक्रिया शुरू से शुरू की जाती है।
इस पृष्ठ के निचले भाग में लिंक किए गए वीडियो में भी पूरा काम किया जा सकता है। आशा है कि आपने ट्यूटोरियल का आनंद लिया और कुछ उपयोगी का आनंद लिया, यदि आपको कोई समस्या है, तो कृपया उन्हें टिप्पणी अनुभाग में छोड़ दें या अन्य तकनीकी प्रश्नों के लिए हमारे मंचों का उपयोग करें।