द SG90 सर्वो मोटर रोबोटिक्स, ऑटोमेशन और DIY प्रोजेक्ट्स में आमतौर पर इस्तेमाल किया जाने वाला एक छोटा, हल्का सर्वो है. यह उपयोग करके कोणीय स्थिति के सटीक नियंत्रण की अनुमति देता है पल्स चौड़ाई मॉड्यूलेशन (PWM). यह मार्गदर्शिका आपको दिखाएगी कि कैसे नियंत्रण करना है रास्पबेरी पाई के साथ SG90 सर्वो मोटर पायथन का उपयोग करना.
आपको क्या चाहिए
- रास्पबेरी पाई (जीपीआईओ समर्थन के साथ कोई भी मॉडल, जैसे, पाई 3, पाई 4)
- SG90 सर्वो मोटर
- बाहरी शक्ति स्रोत (5V, कई सर्व के लिए वैकल्पिक)
- ब्रेडबोर्ड और जम्पर तारों
- पायथन स्थापित रास्पबेरी पाई पर
चरण 1: रास्पबेरी पाई के लिए SG90 सर्वो वायरिंग
द SG90 सर्वो मोटर में तीन पिन होते हैं:
SG90 पिन | रास्पबेरी पाई पिन | समारोह |
---|---|---|
VCC (रेड) | 5V (पिन 2) | बिजली की आपूर्ति |
GND (ब्राउन) | GND (पिन 6) | मैदान |
सिग्नल (नारंगी) | GPIO18 (पिन 12) | PWM सिग्नल कंट्रोल |
ध्यान दें: यदि कई सर्वो का उपयोग कर रहे हैं, तो एक का उपयोग करें बाहरी 5V बिजली की आपूर्ति रास्पबेरी पाई के 5V पिन को ओवरलोड करने से बचने के लिए.
चरण 2: रास्पबेरी पाई पर PWM सक्षम करें
रास्पबेरी पाई PWM सिग्नल उत्पन्न करता है सर्वो स्थिति को नियंत्रित करने के लिए.
- स्थापित करें रास्पबेरी पाई GPIO पुस्तकालय (यदि पहले से स्थापित नहीं है):
sudo apt update && sudo apt install python3-rpi.gpio
- पायथन स्क्रिप्ट संपादक खोलें:
nano servo_control.py
- निम्नलिखित पायथन स्क्रिप्ट को कॉपी करें SG90 सर्वो मोटर को नियंत्रित करें:
चरण 3: सर्वो को नियंत्रित करने के लिए पायथन कोड
import RPi.GPIO as GPIO
import time
# Set up the GPIO pin for PWM
SERVO_PIN = 18 # Use GPIO18 (Pin 12)
GPIO.setmode(GPIO.BCM)
GPIO.setup(SERVO_PIN, GPIO.OUT)
# Start PWM with 50Hz frequency
pwm = GPIO.PWM(SERVO_PIN, 50)
pwm.start(0)
def set_angle(angle):
duty_cycle = (angle / 18) + 2.5 # Convert angle to duty cycle
GPIO.output(SERVO_PIN, True)
pwm.ChangeDutyCycle(duty_cycle)
time.sleep(0.5) # Wait for servo to move
GPIO.output(SERVO_PIN, False)
pwm.ChangeDutyCycle(0)
try:
while True:
angle = int(input("Enter angle (0-180): "))
if 0 <= angle <= 180:
set_angle(angle)
else:
print("Invalid angle! Enter a value between 0 and 180.")
except KeyboardInterrupt:
print("Exiting...")
pwm.stop()
GPIO.cleanup()
चरण 4: सर्वो कंट्रोल स्क्रिप्ट चलाना
-
स्क्रिप्ट सहेजें और बाहर निकलें:
- दबाएँ CTRL + एक्स, फिर Y, फिर दर्ज.
-
स्क्रिप्ट चलाएं:
python3 servo_control.py
-
0 और 180 के बीच कोण दर्ज करें सर्वो को स्थानांतरित करने के लिए.
चरण 5: सर्वो नियंत्रण के लिए PWM को समझना
- PWM आवृत्ति: SG90 पर संचालित होता है 50Hz.
-
कर्तव्य चक्र गणना:
- 0 ° → 2.5% ड्यूटी साइकिल
- 90 ° → 7.5% ड्यूटी साइकिल
- 180 ° → 12.5% ड्यूटी साइकिल
-
सूत्र:
duty_cycle = (angle / 18) + 2.5
चरण 6: रास्पबेरी पाई के साथ SG90 सर्वो के अनुप्रयोग
- रोबोटिक हथियार – आंदोलन के लिए नियंत्रण जोड़ों.
- स्वचालित दरवाजे और ताले – सर्वो का उपयोग करके खुला / बंद तंत्र.
- पैन-टिल्ट कैमरा सिस्टम – निगरानी या फोटोग्राफी के लिए कैमरों को स्थानांतरित करें.
- स्मार्ट होम ऑटोमेशन – नियंत्रण लीवर, ताले, और स्विच दूर से.
समस्या निवारण
-
सर्वो नहीं चल रहा है?
- सुनिश्चित करें सही वायरिंग (सिग्नल के लिए VCC, GND और GPIO18).
- यदि कई सर्वो का उपयोग कर रहे हैं, तो एक का उपयोग करें बाहरी 5V शक्ति स्रोत.
-
अनियमित आंदोलन?
- स्थिर शक्ति सुनिश्चित करें; उपयोग कैपेसिटर (100µF) अगर जरूरत पड़ी.
- उपयोग उच्च परिशुद्धता PWM नियंत्रण, जैसे कि ए PCA9685 PWM मॉड्यूल कई सर्व के लिए.
-
अनुमति अस्वीकृत त्रुटि?
- स्क्रिप्ट के साथ चलाएं
sudo
:sudo python3 servo_control.py
- स्क्रिप्ट के साथ चलाएं
निष्कर्ष
द SG90 सर्वो मोटर जोड़ने का एक शानदार तरीका है गति नियंत्रण रास्पबेरी पाई परियोजनाओं के लिए. उपयोग करके PWM संकेत, आप के लिए सर्वो की स्थिति को ठीक से नियंत्रित कर सकते हैं रोबोटिक्स, स्वचालन और IoT अनुप्रयोग. अपनी पूरी क्षमता को अनलॉक करने के लिए विभिन्न कोणों और अनुप्रयोगों के साथ प्रयोग करें! 🚀