Arduino - सर्वो मोटर
एक सर्वो मोटर एक छोटा उपकरण है जिसमें एक आउटपुट शाफ्ट होता है। इस शाफ्ट को सर्वो को एक कोडेड सिग्नल भेजकर विशिष्ट कोणीय पदों पर तैनात किया जा सकता है। जब तक इनपुट लाइन पर कोडेड सिग्नल मौजूद रहता है, तब तक सर्वो शाफ्ट की कोणीय स्थिति बनाए रखेगा। यदि कोडित सिग्नल बदलता है, तो शाफ्ट की कोणीय स्थिति बदल जाती है। व्यवहार में, सर्वो का उपयोग रेडियो-नियंत्रित हवाई जहाजों में किया जाता है ताकि लिफ्ट और पतवार जैसी नियंत्रण सतहों को स्थिति में लाया जा सके। वे रेडियो-नियंत्रित कारों, कठपुतलियों और निश्चित रूप से, रोबोट में भी उपयोग किए जाते हैं।
रोबोटिक्स में सर्वो उपयोगी हैं। मोटर छोटे होते हैं, इन-बिल्ट कंट्रोल सर्किट्री होते हैं, और अपने आकार के लिए बेहद शक्तिशाली होते हैं। एक मानक सर्वो जैसे कि फ़तबा एस -148 में 42 ऑउंस / इंच का टॉर्क है, जो इसके आकार के लिए मजबूत है। यह यांत्रिक भार के लिए आनुपातिक शक्ति भी खींचता है। एक हल्का भरा हुआ इमदादी, इसलिए, अधिक ऊर्जा का उपभोग नहीं करता है।
एक इमदादी मोटर के हिम्मत को निम्नलिखित चित्र में दिखाया गया है। आप कंट्रोल सर्किट्री, मोटर, गियर का एक सेट और केस देख सकते हैं। आप 3 तारों को भी देख सकते हैं जो बाहरी दुनिया से जुड़ते हैं। एक शक्ति (+ 5 वोल्ट), जमीन और सफेद तार नियंत्रण तार के लिए है।
एक इमदादी मोटर का कार्य करना
सर्वो मोटर में कुछ नियंत्रण सर्किट होते हैं और आउटपुट शाफ्ट से जुड़ा एक पोटेंशियोमीटर (एक चर अवरोधक, उर्फ पॉट) होता है। ऊपर की तस्वीर में, सर्किट बोर्ड के दाईं ओर पॉट देखा जा सकता है। यह पॉट नियंत्रण सर्किटरी को इमदादी मोटर के वर्तमान कोण की निगरानी करने की अनुमति देता है।
यदि शाफ्ट सही कोण पर है, तो मोटर बंद हो जाता है। यदि सर्किट पाता है कि कोण सही नहीं है, तो यह मोटर को चालू कर देगा जब तक कि यह वांछित कोण पर न हो। सर्वो का आउटपुट शाफ्ट 180 डिग्री के आसपास कहीं यात्रा करने में सक्षम है। आमतौर पर, यह 210-डिग्री रेंज में कहीं होता है, हालांकि, यह निर्माता के आधार पर भिन्न होता है। एक सामान्य सर्वो का उपयोग 0 से 180 डिग्री के कोणीय गति को नियंत्रित करने के लिए किया जाता है। यह यंत्रवत् मुख्य आउटपुट गियर पर निर्मित एक यांत्रिक स्टॉप के कारण किसी भी प्रकार को मोड़ने में सक्षम नहीं है।
मोटर पर लागू होने वाली शक्ति उस दूरी के लिए आनुपातिक है जो उसे यात्रा करने के लिए आवश्यक है। इसलिए, यदि शाफ्ट को एक बड़ी दूरी को चालू करने की आवश्यकता है, तो मोटर पूरी गति से चलेगी। यदि इसे केवल एक छोटी राशि चालू करने की आवश्यकता है, तो मोटर धीमी गति से चलेगी। यह कहा जाता हैproportional control।
आप किस तरह से किस मोड़ पर सर्वो को बदलना चाहते हैं?
नियंत्रण तार का उपयोग कोण को संप्रेषित करने के लिए किया जाता है। कोण एक पल्स की अवधि से निर्धारित होता है जो नियंत्रण तार पर लागू होता है। यह कहा जाता हैPulse Coded Modulation। सर्वो को हर 20 मिलीसेकंड (.02 सेकंड) पर एक नाड़ी देखने की उम्मीद है। नाड़ी की लंबाई निर्धारित करेगी कि मोटर कितनी दूर जाती है। एक 1.5 मिलीसेकंड पल्स, उदाहरण के लिए, मोटर को 90 डिग्री की स्थिति में बदल देगा (जिसे अक्सर तटस्थ स्थिति कहा जाता है)। यदि पल्स 1.5 मिलीसेकंड से कम है, तो मोटर शाफ्ट को 0 डिग्री के करीब बदल देगा। यदि पल्स 1.5 मिलीसेकंड से अधिक है, तो शाफ्ट 180 डिग्री के करीब हो जाता है।
अवयव आवश्यक
आपको निम्नलिखित घटकों की आवश्यकता होगी -
- 1 × Arduino UNO बोर्ड
- 1 × सर्वो मोटर
- 1 × ULN2003 ड्राइविंग आईसी
- 1 × 10 KΩ रोकनेवाला
प्रक्रिया
सर्किट आरेख का पालन करें और नीचे दी गई छवि में दिखाए अनुसार कनेक्शन बनाएं।
स्केच
अपने कंप्यूटर पर Arduino IDE सॉफ्टवेयर खोलें। Arduino भाषा में कोडिंग आपके सर्किट को नियंत्रित करेगा। New पर क्लिक करके एक नया स्केच फाइल खोलें।
Arduino कोड
/* Controlling a servo position using a potentiometer (variable resistor) */
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
val = analogRead(potpin);
// reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180);
// scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15);
}
नोट करने के लिए कोड
सर्वो मोटर्स के तीन टर्मिनल हैं - पावर, ग्राउंड और सिग्नल। बिजली का तार आम तौर पर लाल होता है, और इसे Arduino पर 5V पिन से जोड़ा जाना चाहिए। जमीन का तार आम तौर पर काला या भूरा होता है और इसे ULN2003 IC (10 -16) के एक टर्मिनल से जुड़ा होना चाहिए। अपने Arduino बोर्ड को नुकसान से बचाने के लिए, आपको ऐसा करने के लिए कुछ ड्राइवर IC की आवश्यकता होगी। यहां हमने सर्वो मोटर को चलाने के लिए ULN2003 IC का उपयोग किया है। सिग्नल पिन आमतौर पर पीला या नारंगी होता है और इसे Arduino पिन नंबर 9 से जोड़ा जाना चाहिए।
पोटेंशियोमीटर को जोड़ना
एक वोल्टेज डिवाइडर / संभावित विभक्त एक श्रृंखला सर्किट में प्रतिरोधक होते हैं जो आउटपुट वोल्टेज को लागू इनपुट वोल्टेज के एक विशेष अनुपात में मापते हैं। निम्नलिखित सर्किट आरेख है -
$$ V_ {आउट} = (V_ {in} \ _ R_ {2}) / (R_ {1} + R_ {2}) $$
वी बाहर उत्पादन संभावित है, जो लागू इनपुट वोल्टेज पर निर्भर करता है (वी है में ) और प्रतिरोधों (आर 1 और आर 2 श्रृंखला में)। इसका मतलब है कि R 1 से बहने वाला प्रवाह भी R 2 के माध्यम से विभाजित किए बिना बहेगा । उपरोक्त समीकरण में, R 2 के मान में परिवर्तन होता है, V आउट इनपुट इनपुट के संबंध में स्केल करता है, V में ।
आमतौर पर, एक पोटेंशियोमीटर एक संभावित विभक्त होता है, जो चर अवरोध के मूल्य के आधार पर सर्किट के आउटपुट वोल्टेज को स्केल कर सकता है, जिसे घुंडी का उपयोग करके स्केल किया जाता है। इसके तीन पिन हैं: जीएनडी, सिग्नल और +5 वी जैसा कि नीचे चित्र में दिखाया गया है -
परिणाम
पॉट की एनओपी स्थिति को बदलकर, सर्वो मोटर अपने कोण को बदल देगा।