इस परियोजना में हम ARDUINO के साथ एक ROTARY ENCODER को इंटरफेस करने जा रहे हैं । ARDUINO UNO एक ATMEGA कंट्रोलर आधारित डेवलपमेंट बोर्ड है जिसे इलेक्ट्रॉनिक इंजीनियरों और हॉबीस्ट के लिए डिज़ाइन किया गया है। ARDUINO में हमारे पास 20 I / O पिन हैं, इसलिए हम UNO के 20 पिन को इनपुट या आउटपुट के रूप में उपयोग करने के लिए प्रोग्राम कर सकते हैं।
मोटर या अक्ष की गति और कोणीय गति की स्थिति जानने के लिए एक रॉटरी एनकोडर का उपयोग किया जाता है। यह आमतौर पर तीन टर्मिनल डिवाइस है, जिसमें पावर और ग्राउंड पिन कुल 5 टर्मिनल हैं। एक रोटरी एनकोडर मॉड्यूल नीचे दिखाया गया है।
एक रोटरी एनकोडर के पिन हैं:
- भूमि
- सकारात्मक + 5 वी से जुड़ा हुआ है
- आउटपुट सिग्नल एक पिन
- आउटपुट सिग्नल बी पिन
- क्लॉक पिन या कॉमन पिन
ENCODER सिस्टम को समझने के लिए शाफ्ट की स्थिति में परिवर्तन का प्रतिनिधित्व करने वाली दाल प्रदान करता है। विचार करें कि एक रोटरी एनकोडर को संचालित किया जाता है और शाफ्ट को स्थानांतरित किया जाता है।
जैसा कि ऊपर तालिका में दिखाया गया है, विचार करें कि शाफ्ट को घड़ी की दिशा में स्थानांतरित किया गया है इसके साथ ए टर्मिनल पर फिर बी टर्मिनल पर फॉलिंग एज होगी।
विचार करें कि शाफ्ट को एंटी क्लॉक वाइज स्थानांतरित किया गया है। इसके साथ बी टर्मिनल पर फॉलिंग एज होगा फिर ए टर्मिनल पर।
यह बढ़त एक बार 360/20 = 18 डिग्री के लिए होगी (यह 20 स्थिति वाले एनकोडर के लिए है, यह टाइप से टाइप में बदलाव करता है, गिनती अधिक सटीकता से अधिक होती है)।
उपरोक्त दोनों स्थितियों के साथ, हम रोटेशन की दिशा और डिग्री प्राप्त कर सकते हैं। इस प्रकार हम एक शाफ्ट की स्थिति प्राप्त करने के लिए आवश्यक पैरामीटर प्राप्त करते हैं।
अवयव आवश्यक
हार्डवेयर: Arduino uno बोर्ड, कनेक्टिंग पिन, 220or रेसिस्टर, LED (आठ टुकड़े), 1KΩ रेसिस्टर, 220 2 रेसिस्टर (2 टुकड़े), 100nF कैपेसिटर (2 टुकड़े), ब्रेड बोर्ड।
सॉफ्टवेयर: Arduino रात में
सर्किट आरेख और कार्य स्पष्टीकरण
यहाँ कैपेसिटर ENCODER में संपर्क शेख़ी प्रभाव को बेअसर करने के लिए हैं। उन कैपेसिटर के बिना स्थिति पढ़ने में कुछ गंभीर समस्याएं होंगी।
जब शाफ्ट ले जाया जाता है तो दो आउटपुट पिंस आउटपुट के बीच समय का अंतर होगा। Arduino UNO इस समय अंतर को एंटी क्लॉक वाइज रोटेशन के क्लॉकवाइज के लिए पहचानेंगे।
यदि रोटेशन क्लॉकवाइज है तो बाइनरी काउंट एक से बढ़ जाता है, और यह संख्या एलईडी पोर्ट में दर्शाई गई है जैसा कि चित्र में दिखाया गया है।
यदि रोटेशन एंटी क्लॉक वाइज है तो बाइनरी काउंट को एक से घटाया जाता है और बाइनरी काउंट को एलईडी बाइट में दिखाया जाता है।
रोटरी एनकोडर के साथ Arduino का कार्य नीचे दिए गए C कोड में कदम से समझाया गया है।