विषयसूची:

Arduino का उपयोग करके मोटर गति मापन: 6 चरण
Arduino का उपयोग करके मोटर गति मापन: 6 चरण

वीडियो: Arduino का उपयोग करके मोटर गति मापन: 6 चरण

वीडियो: Arduino का उपयोग करके मोटर गति मापन: 6 चरण
वीडियो: L298N स्टेपर मोटर ड्राइवर का उपयोग 4 तारों स्टेपर मोटर को नियंत्रित करने के लिए 2024, जुलाई
Anonim
Arduino का उपयोग करके मोटर गति मापन
Arduino का उपयोग करके मोटर गति मापन
Arduino का उपयोग करके मोटर गति मापन
Arduino का उपयोग करके मोटर गति मापन
Arduino का उपयोग करके मोटर गति मापन
Arduino का उपयोग करके मोटर गति मापन

क्या मोटर के आरपीएम को मापना मुश्किल है ???मुझे ऐसा नहीं लगता। यहाँ एक सरल उपाय है।

आपके किट में केवल एक IR सेंसर और Arduino ऐसा कर सकता है।

इस पोस्ट में मैं एक सरल ट्यूटोरियल दूंगा जिसमें बताया गया है कि IR सेंसर और Arduino UNO/nano का उपयोग करके किसी भी मोटर के RPM को कैसे मापें

आपूर्ति:

1. Arduion uno(Amazon)/Arduion nano(Amazon)

2. आईआर सेंसर (अमेज़ॅन)

3. डीसी मोटर कोई भी (अमेज़ॅन)

4. एलसीडी 16*2 (अमेज़ॅन)

उपकरणों का इस्तेमाल

1. सोल्डरिंग आयरन (अमेज़ॅन)

2. वायर स्ट्रिपर (अमेज़ॅन)

चरण 1: चरण: 1 सेंसर और उपकरणों के काम करने की स्थिति सुनिश्चित करें

IR सेंसर क्या है? IR सेंसर एक इलेक्ट्रॉनिक उपकरण है, जो आसपास की किसी वस्तु को महसूस करने के लिए प्रकाश का उत्सर्जन करता है। एक IR सेंसर किसी वस्तु की गर्मी को मापने के साथ-साथ गति का पता लगा सकता है। आमतौर पर, अवरक्त स्पेक्ट्रम में, सभी वस्तुएं किसी न किसी रूप में थर्मल विकिरण का विकिरण करती हैं। इस प्रकार के विकिरण हमारी आंखों के लिए अदृश्य होते हैं, लेकिन इन्फ्रारेड सेंसर इन विकिरणों का पता लगा सकते हैं।

डीसी मोटर क्या है? एक प्रत्यक्ष वर्तमान (डीसी) मोटर एक प्रकार की विद्युत मशीन है जो विद्युत ऊर्जा को यांत्रिक ऊर्जा में परिवर्तित करती है। डीसी मोटर्स प्रत्यक्ष धारा के माध्यम से विद्युत शक्ति लेती हैं, और इस ऊर्जा को यांत्रिक घुमाव में परिवर्तित करती हैं।

डीसी मोटर्स उत्पन्न विद्युत धाराओं से उत्पन्न होने वाले चुंबकीय क्षेत्रों का उपयोग करते हैं, जो आउटपुट शाफ्ट के भीतर तय किए गए रोटर की गति को शक्ति प्रदान करते हैं। आउटपुट टॉर्क और गति विद्युत इनपुट और मोटर के डिजाइन दोनों पर निर्भर करती है।

Arduino क्या है?

Arduino एक ओपन-सोर्स इलेक्ट्रॉनिक्स प्लेटफॉर्म है जो उपयोग में आसान हार्डवेयर और सॉफ्टवेयर पर आधारित है। Arduino बोर्ड इनपुट पढ़ने में सक्षम हैं - एक सेंसर पर प्रकाश, एक बटन पर एक उंगली, या एक ट्विटर संदेश - और इसे एक आउटपुट में बदल दें - एक मोटर को सक्रिय करना, एक एलईडी चालू करना, कुछ ऑनलाइन प्रकाशित करना। आप बोर्ड पर माइक्रोकंट्रोलर को निर्देशों का एक सेट भेजकर अपने बोर्ड को बता सकते हैं कि क्या करना है। ऐसा करने के लिए आप प्रसंस्करण पर आधारित Arduino प्रोग्रामिंग भाषा (वायरिंग पर आधारित), और Arduino सॉफ़्टवेयर (IDE) का उपयोग करते हैं।

डाउनलोड ARDUINO IDE

चरण 2: यह कैसे काम करता है?

तो इसके पीछे क्या लॉजिक है??

यह काफी हद तक एनकोडर की तरह काम करता है। शुरुआती लोगों के लिए एन्कोडर्स को समझना मुश्किल है। आपको केवल यह जानने की जरूरत है कि IR सेंसर पल्स उत्पन्न करता है और हम प्रत्येक पल्स के बीच के समय अंतराल का पता लगा रहे हैं।

इस मामले में IR सेंसर Arduino को एक पल्स भेजेगा जब कभी भी इसके IR बीम को मोटर प्रोपेलर के साथ इंटरसेप्ट किया जाएगा। आम तौर पर हम दो ब्लेड वाले प्रोपेलर का उपयोग करते हैं लेकिन मैंने तीन ब्लेड वाले प्रोपेलर का उपयोग किया है जैसा कि चित्र में दिखाया गया है। प्रोपेलर ब्लेड की संख्या के आधार पर हमें आरपीएम की गणना करते समय कुछ मूल्यों को संशोधित करने की आवश्यकता होती है।

आइए मान लें कि हमारे पास एक प्रोपेलर है जिसमें दो ब्लेड हैं। प्रत्येक क्रांति मोटर के लिए ब्लेड IR किरण को दो बार इंटरसेप्ट करेगा। इस प्रकार आईआर सेंसर कभी भी इंटरसेप्ट होने पर दालों का उत्पादन करेगा।

अब हमें एक प्रोग्राम लिखना है जो एक विशेष समय अंतराल पर IR सेंसर द्वारा उत्पादित संख्या दालों को माप सके।

किसी समस्या को हल करने के एक से अधिक तरीके हैं लेकिन हमें यह चुनना होगा कि इस कोड में कौन सा सबसे अच्छा है मैंने इंटरप्ट्स (आईआर सेंसर) के बीच की अवधि को माप लिया है मैंने माइक्रो सेकेंड में दालों की अवधि को मापने के लिए माइक्रो () फ़ंक्शन का उपयोग किया है।

आप RPMRPM = ((1/अवधि)*1000*1000*60)/ब्लेड को मापने के लिए इस सूत्र का उपयोग कर सकते हैं

जहां, अवधि - दालों के बीच समय अंतराल।

60 - सेकंड से मिनट

१००० - मिल से सेकंड

1000 - माइक्रो से मिल

ब्लेड - प्रोपेलर में पंखों की संख्या नहीं।

LCD डिस्प्ले - Arduino LCD डिस्प्ले के कमांड और डेटा रजिस्टर को अपडेट करता है। जो LCD डिस्प्ले पर ASCII कैरेक्टर को प्रदर्शित करता है।

चरण 3: Arduino IDE का उपयोग करके अपने Arduino को प्रोग्राम करें

#शामिल

लिक्विड क्रिस्टल एलसीडी (9, 8, 7, 6, 5, 4); कॉन्स्ट इंट IR_IN = 2; // IR सेंसर INPUT अहस्ताक्षरित लंबे prevmicros; // अहस्ताक्षरित लंबी अवधि के समय को स्टोर करने के लिए; // समय अंतर को स्टोर करने के लिए अहस्ताक्षरित लंबी LCDrefresh; // एलसीडी के लिए इंट आरपीएम को रिफ्रेश करने के लिए समय स्टोर करने के लिए; // आरपीएम मूल्य बूलियन करंटस्टेट; // आईआर इनपुट स्कैन बूलियन प्रीस्टेट की वर्तमान स्थिति; // पिछले स्कैन शून्य सेटअप में आईआर सेंसर की स्थिति () {पिनमोड (IR_IN, INPUT); LCD.begin (16, 2); prevmicros = 0; prevstate = कम; } शून्य लूप () {///////////////////////////////////////// ///////////////////////////////////////////////// RPM मापन वर्तमान स्थिति = digitalRead (IR_IN); // IR सेंसर स्थिति पढ़ें अगर (prevstate! = currentstate) // यदि इनपुट में परिवर्तन होता है {if (currentstate == LOW) // यदि इनपुट केवल उच्च से निम्न में बदलता है {अवधि = (micros () - prevmicros); // माइक्रोसेकंड आरपीएम में क्रांति के बीच समय का अंतर = ((60000000/अवधि)/3); // आरपीएम = (1/ समय मिली)*1000*1000*60; prevmicros = माइक्रो (); // nect क्रांति गणना के लिए स्टोर समय } } prevstate = currentstate; // इस स्कैन (पिछला स्कैन) डेटा को अगले स्कैन के लिए स्टोर करें /////////////////////////////////// //////////////////////////////////////////// एलसीडी डिस्प्ले अगर ((मिली) (-एलसीडीआरफ्रेश) >= १००) {lcd.clear (); LCD.setCursor(0, 0); LCD.print ("मोटर की गति"); LCD.setCursor(0, 1); एलसीडी.प्रिंट ("आरपीएम ="); एलसीडी.प्रिंट (आरपीएम); LCDrefresh = मिली (); } }

चरण 4: प्रोटियस का उपयोग करके सिमुलेशन

प्रोटीस का उपयोग करके सिमुलेशन
प्रोटीस का उपयोग करके सिमुलेशन

जब मैंने प्रोटीस की मदद से इसका अनुकरण करने की कोशिश की तो यह परियोजना पूरी तरह से ठीक रही।

IR सेंसर का उपयोग करने के बजाय मैंने DC पल्स जनरेटर का उपयोग किया, जो IR पल्स के समान उत्पन्न होता है जब IR किरणें प्रोपेलर ब्लेड से टकराती हैं।

आपके द्वारा उपयोग किए जाने वाले सेंसर के आधार पर आपको अपने प्रोग्राम में बदलाव करने होंगे

LM358 वाले IR सेंसर को इस कमांड का उपयोग करना चाहिए।

अगर (वर्तमान स्थिति == उच्च) // यदि इनपुट केवल निम्न से उच्च में बदलता है

LM359 वाले IR सेंसर को इस कमांड का उपयोग करना चाहिए।

if(currentstate == LOW) // यदि इनपुट केवल उच्च से निम्न में बदलता है

चरण 5: हार्डवेयर निष्पादन

हार्डवेयर निष्पादन
हार्डवेयर निष्पादन
हार्डवेयर निष्पादन
हार्डवेयर निष्पादन
हार्डवेयर निष्पादन
हार्डवेयर निष्पादन

योजनाबद्ध उपयोग के लिए सिमुलेशन चित्र या प्रोग्राम कोड देखें और तदनुसार कनेक्शन बनाएं। Arduino पर प्रोग्राम कोड अपलोड करें और किसी भी मोटर के RPM को मापें। मेरी अगली पोस्ट के लिए बने रहें और मेरा YouTube चैनल देखें।

सिफारिश की: