इस ट्यूटोरियल में हम ARDUINO UNO द्वारा एक सर्वो मोटर को नियंत्रित करने जा रहे हैं । सर्वो मोटर्स का उपयोग किया जाता है जहां सटीक शाफ्ट आंदोलन या स्थिति की आवश्यकता होती है। ये उच्च गति अनुप्रयोगों के लिए प्रस्तावित नहीं हैं। ये कम गति, मध्यम टोक़ और सटीक स्थिति आवेदन के लिए प्रस्तावित हैं। इन मोटर्स का उपयोग रोबोट आर्म मशीन, उड़ान नियंत्रण और नियंत्रण प्रणाली में किया जाता है।
सर्वो मोटर्स विभिन्न आकारों और आकारों में उपलब्ध हैं। एक सर्वो मोटर में मुख्य रूप से तार होते हैं, एक सकारात्मक वोल्टेज के लिए होता है दूसरा जमीन के लिए होता है और अंतिम स्थिति के लिए होता है। RED तार बिजली से जुड़ा होता है, काला तार जमीन से जुड़ा होता है और YELLOW तार सिग्नल से जुड़ा होता है।
एक इमदादी मोटर डीसी मोटर, स्थिति नियंत्रण प्रणाली, गियर का एक संयोजन है। DC मोटर के शाफ्ट की स्थिति को सर्वो में नियंत्रण इलेक्ट्रॉनिक्स द्वारा समायोजित किया जाता है, जो PWM के कर्तव्य अनुपात के आधार पर संकेत पिन को दर्शाता है।
बस बोल नियंत्रण इलेक्ट्रॉनिक्स डीसी मोटर को नियंत्रित करके शाफ्ट की स्थिति को समायोजित करता है। शाफ्ट की स्थिति के बारे में यह डेटा SIGNAL पिन के माध्यम से भेजा जाता है। नियंत्रण के लिए स्थिति डेटा को इमदादी मोटर के सिग्नल पिन के माध्यम से पीडब्लूएम सिग्नल के रूप में भेजा जाना चाहिए।
पीडब्लूएम (पल्स चौड़ाई संशोधित) सिग्नल की आवृत्ति सर्वो मोटर के प्रकार के आधार पर भिन्न हो सकती है। यहाँ महत्वपूर्ण बात PWM सिग्नल की DUTY RATIO है। इस DUTY RATION के आधार पर नियंत्रण इलेक्ट्रॉनिक्स शाफ्ट को समायोजित करता है।
जैसा कि नीचे चित्र में दिखाया गया है, शाफ्ट को 9o घड़ी में ले जाने के लिए TURN ON RATION 1 / 18.ie होना चाहिए। 1ms ऑन टाइम और 17ms ऑफ टाइम 18ms सिग्नल में।
शाफ्ट को 12o घड़ी में ले जाने के लिए सिग्नल के समय को 1.5ms और ऑफ का समय 16.5ms होना चाहिए। यह अनुपात सर्वो में नियंत्रण प्रणाली द्वारा डिकोड किया गया है और यह इसके आधार पर स्थिति को समायोजित करता है। यहाँ यह PWM ARDUINO UNO का उपयोग करके बनाया गया है।
सर्किट घटक
हार्डवेयर: ARDUINO UNO, बिजली की आपूर्ति (5v), 100uF संधारित्र, बटन (दो टुकड़े), 1K two रोकनेवाला (दो टुकड़े), सर्वो मोटर (जिसका परीक्षण किया जाना आवश्यक है)।
सॉफ्टवेयर: arduino IDE (Arduino nightly)।
Arduino इमदादी मोटर सर्किट आरेख और स्पष्टीकरण
सामान्य मामलों में हमें आवृत्ति को समायोजित करने के लिए नियंत्रक के रजिस्टरों में जाने की आवश्यकता होती है और सर्वो के नियंत्रण के लिए आवश्यक ड्यूटी अनुपात प्राप्त करने के लिए, ARDUINO में हमें उन चीजों को करने की आवश्यकता नहीं है।
ARDUINO में हमारे पास पूर्वनिर्धारित पुस्तकालय हैं, जो हेडर फ़ाइल को कॉल करने या शामिल करने के बाद तदनुसार आवृत्तियों और कर्तव्य अनुपात निर्धारित करेंगे। ARDUINO में हमें बस उस सर्वो की स्थिति के बारे में बताना होगा जो आवश्यक है और PWM को स्वचालित रूप से UNO द्वारा समायोजित किया जाना है।
सर्वो की सटीक स्थिति प्राप्त करने के लिए हमें जिन चीजों की आवश्यकता है, वे हैं:
|
पहले हमें पीडब्लूएम सिग्नल की आवृत्ति निर्धारित करने की आवश्यकता है और इसके लिए हमें "#include" कॉल करना चाहिए
अब हमें सर्वो "सर्वो sg90sevo" के लिए एक नाम को परिभाषित करने की आवश्यकता है, यहां 'sg90servo' चुना गया नाम है, इसलिए औषधि के लिए लिखते समय हम इस नाम का उपयोग करने जा रहे हैं, यह सुविधा तब काम आती है जब हम कई सर्वो को नियंत्रित करने के लिए करते हैं। हम इसके द्वारा आठ सर्वो के रूप में नियंत्रित कर सकते हैं।
अब हम UNO को बताते हैं कि सर्वो का सिग्नल पिन कहाँ से जुड़ा है या जहाँ उसे PWM सिग्नल उत्पन्न करना है। ऐसा करने के लिए हमारे पास “Sg90.attach (3)” है, यहाँ हम UNO को बता रहे हैं हमने pin3 पर सर्वो के सिग्नल पिन को जोड़ा।
सभी बचे स्थान को सेट करने के लिए है, हम "Sg90.write (30)" का उपयोग करके सर्वो की स्थिति निर्धारित कर रहे हैं, इस कमांड द्वारा सर्वो का हाथ 30 डिग्री चलता है, इसलिए यह है। उसके बाद जब भी हमें सर्वो की स्थिति बदलने की आवश्यकता होती है तो हमें कमांड "Sg90.write (आवश्यक_पोजिशन_ एंगल)"; इस सर्किट में हमारे पास दो बटन होंगे एक बटन सर्वो की स्थिति को बढ़ाता है और दूसरा सर्वो की स्थिति को कम करने के लिए है।
Arduino सर्वो मोटर नियंत्रण ट्यूटोरियल नीचे दिए गए सी कोड का चरण दर चरण में समझाया गया है।