इस ट्यूटोरियल में हम ATmega8 माइक्रोकंट्रोलर के साथ एक रोटरी एनकोडर इंटरफेस करने जा रहे हैं। ATmega8 एम्बेडेड अनुप्रयोगों के लिए डिज़ाइन किया गया atmel का माइक्रोकंट्रोलर श्रृंखला है। रोटरी एनकोडर का उपयोग मोटर या अक्ष की गति और कोणीय गति की स्थिति जानने के लिए किया जाता है। यह आमतौर पर तीन टर्मिनल डिवाइस है, जिसमें पावर और ग्राउंड पिन पांच तक गिना जाता है। एक रोटरी एनकोडर मॉड्यूल नीचे दिखाया गया है।
एक रोटरी एनकोडर के पिन हैं:
- ग्राउंड।
- सकारात्मक + 5 वी से जुड़ा हुआ है
- आउटपुट सिग्नल एक पिन
- आउटपुट सिग्नल बी पिन
- क्लॉक पिन या कॉमन पिन।
ENCODER सिस्टम को समझने के लिए शाफ्ट की स्थिति में परिवर्तन का प्रतिनिधित्व करने वाली दाल प्रदान करता है। विचार करें कि एक एन्कोडर को संचालित किया जाता है और शाफ्ट को स्थानांतरित किया जाता है।
जैसा कि ऊपर तालिका में दिखाया गया है, विचार करें कि शाफ्ट को घड़ी की दिशा में स्थानांतरित किया गया है इसके साथ ए टर्मिनल पर फिर बी टर्मिनल पर फॉलिंग एज होगी।
विचार करें कि शाफ्ट को एंटी क्लॉक वाइज स्थानांतरित किया गया है। इसके साथ बी टर्मिनल पर फॉलिंग एज होगा फिर ए टर्मिनल पर।
यह बढ़त एक बार 360/20 = 18 डिग्री के लिए होगी (यह 20 स्थिति वाले एनकोडर के लिए है, यह टाइप से टाइप में बदलाव करता है, गिनती अधिक सटीकता से अधिक होती है)।
उपरोक्त दोनों स्थितियों के साथ, हम रोटेशन की दिशा और डिग्री प्राप्त कर सकते हैं। इस प्रकार हम एक शाफ्ट की स्थिति प्राप्त करने के लिए आवश्यक पैरामीटर प्राप्त करते हैं।
अवयव
हार्डवेयर: ATMEGA8, कनेक्टिंग पिन, AVR-ISP PROGRAMMER, 220EG रोकनेवाला, एलईडी (आठ टुकड़े), 1K) रोकनेवाला, 220Ω रोकनेवाला (2 टुकड़े), 100nF संधारित्र (2 टुकड़े), ब्रेड बोर्ड।
सॉफ्टवेयर: Atmel स्टूडियो 6.1, progisp या फ़्लैश मैजिक।
सर्किट आरेख और कार्य स्पष्टीकरण
यहाँ कैपेसिटर ENCODER में संपर्क शेख़ी प्रभाव को बेअसर करने के लिए हैं। उन कैपेसिटर के बिना स्थिति पढ़ने में कुछ गंभीर समस्याएं होंगी।
जब शाफ्ट ले जाया जाता है तो दो आउटपुट पिंस आउटपुट के बीच समय का अंतर होगा। ATMEGA8 एंटी क्लॉक वाइज रोटेशन के क्लॉकवाइज के लिए इस बार के अंतर को पहचान लेगा।
यदि रोटेशन क्लॉकवाइज है तो बाइनरी काउंट एक से बढ़ जाता है, और यह संख्या एलईडी पोर्ट में दर्शाई गई है जैसा कि चित्र में दिखाया गया है।
यदि रोटेशन एंटी क्लॉक वाइज है तो बाइनरी काउंट को एक से घटाया जाता है और बाइनरी काउंट को एलईडी बाइट में दिखाया जाता है।
याद रखें कि हम atmega8 के किसी भी फ्यूज बिट्स को सेट नहीं कर रहे हैं, इसलिए नियंत्रक 1Mhz डिफ़ॉल्ट आंतरिक क्रिस्टल पर काम करेगा।
ATmega8 माइक्रोकंट्रोलर के साथ रोटरी एनकोडर के इंटरफेसिंग का कार्य नीचे दिए गए कोड में बताया गया है।