इमदादी मोटर्स इलेक्ट्रॉनिक्स और एम्बेडेड सिस्टम में बहुत उपयोगी हैं। आप अपने आस-पास हर जगह सर्वो मोटर का उपयोग कर सकते हैं, उनका उपयोग खिलौने, रोबोट, कंप्यूटर, कार, हवाई जहाज आदि की सीडी ट्रे में किया जाता है। इस व्यापक दायरे का कारण है, सर्वो मोटर बहुत विश्वसनीय और सटीक है। हम इसे किसी भी विशेष कोण पर घुमा सकते हैं। वे विस्तृत श्रृंखला में उपलब्ध हैं, उच्च टोक़ मोटर से निम्न टोक़ मोटर बनाते हैं। इस ट्यूटोरियल में हम 8051 माइक्रोकंट्रोलर (AT89S52) के लिए एक सर्वो मोटर इंटरफेस करने जा रहे हैं ।
पहले हमें सर्वो मोटर्स के कार्य सिद्धांत को समझने की आवश्यकता है । सर्वो मोटर पीडब्लूएम (पल्स चौड़ाई मॉडुलन) प्रिंसिपल पर काम करता है, इसका मतलब है कि इसके रोटेशन का कोण इसके नियंत्रण पिन पर लागू पल्स की अवधि से नियंत्रित होता है। मूल रूप से सर्वो मोटर डीसी मोटर से बनी होती है जिसे एक चर अवरोधक (पोटेंशियोमीटर) और कुछ गियर द्वारा नियंत्रित किया जाता है । डीसी मोटर के उच्च गति बल को गियर्स द्वारा टॉर्क में बदल दिया जाता है। हम जानते हैं कि DC मोटर में WORK = FORCE X DISTANCE कम है और दूरी (गति) अधिक है और सर्वो में, बल अधिक है और दूरी कम है। पोटेंटियोमीटर कोण की गणना करने के लिए और आवश्यक कोण पर डीसी मोटर को रोकने के लिए सर्वो के आउटपुट शाफ्ट से जुड़ा हुआ है।
सर्वो मोटर को 0 से 180 डिग्री तक घुमाया जा सकता है, लेकिन यह मैन्युफैक्चरिंग के आधार पर 210 डिग्री तक जा सकता है। रोटेशन की इस डिग्री को 1ms से 2ms के बीच की अवधि के लिए एक LOGIC स्तर 1 पल्स को लागू करके नियंत्रित किया जा सकता है। 1 ms, सर्वो को 0 डिग्री तक घुमा सकता है, 1.5ms 90 डिग्री तक घूम सकता है और 2 ms पल्स इसे 180 डिग्री तक घुमा सकता है। 1 से 2 एमएस के बीच की अवधि सर्वो मोटर को 0 से 180 डिग्री के बीच किसी भी कोण पर घुमा सकती है।
सर्किट आरेख और कार्य स्पष्टीकरण
सर्वो मोटर में तीन तार लाल होते हैं Vcc (बिजली की आपूर्ति), भूरा के लिए भूरा, और नारंगी नियंत्रण तार होता है। नियंत्रण तार को 8051 से जोड़ा जा सकता है, हमने इसे 8051 के पिन 2.1 से जोड़ा है। अब हमें इस पिन को 1 डिग्री के लिए 1 सेंटीमीटर के लिए इसे 0 डिग्री, 90 डिग्री के लिए 1.5 सेमी, 180 डिग्री के लिए 2 एमएस में रखना होगा। हमने देरी पैदा करने के लिए 8051 के चिप टाइमर पर उपयोग किया है। हमने फ़ंक्शन "सर्वो" के माध्यम से 50us की देरी पैदा की है, और 50us से अधिक में देरी पैदा करने के लिए "पाश" के लिए उपयोग किया है।
हम टाइमर 0 और मोड 1 में उपयोग कर रहे हैं, इसलिए हमने TMH रजिस्टर में 01H डाला है। मोड 1 16 बिट टाइमर मोड है और TH0 में हाई बाइट और TL0 में 16 बिट टाइमर का लो बाइट होता है। हमने FFD2 को 16 बिट टाइमर रजिस्टर, THF में FF और TL2 में D2 में रखा है। FFD2 लगाने से लगभग विलंब हो जाएगा। 50 हमें 11.0592 मेगाहर्ट्ज के क्रिस्टल के साथ। TR0 और TF0, TCON रजिस्टर के बिट्स हैं, TR पिन का उपयोग टाइमर को सेट करने और रीसेट करने (0) के दौरान बंद करने के लिए किया जाता है। टीएफ अतिप्रवाह झंडा है, हार्डवेयर जब अतिप्रवाह द्वारा सेट किया जाता है और इसे सॉफ़्टवेयर द्वारा रीसेट करने की आवश्यकता होती है। मूल रूप से TF टाइमर के पूरा होने को बताता है, और हार्डवेयर द्वारा सेट किया जाता है जब 16 टाइमर FFFFH से 0000H तक पहुंचता है। आप टाइमर रजिस्टर में मूल्य की गणना को समझने के लिए "8051 टाइमर" के बारे में पढ़ सकते हैं, जिससे हमें 50 देरी हो सकती है।
अब जब सीआरओ से मापा जाता है, इमदादी_देल समारोह के 13 लूप 1ms की देरी देंगे, इसलिए हमने 1ms (13 लूप) से शुरू किया है और 0 से 180 डिग्री तक सर्वो को घुमाने के लिए 2 ms (26 छोरों) में चले गए हैं। लेकिन हमने धीरे-धीरे 1ms से देरी की वृद्धि की है, हमने 1ms को 2 ms विंडो को 7 भागों में विभाजित किया है जैसे 1.14ms, 1.28 ms, 1.42ms और इतने पर, इसलिए सर्वो लगभग कई में घूमेगा। 26 डिग्री (180/7)। 180 के बाद यह स्वचालित रूप से 0 डिग्री पर वापस आ जाएगा।