באמצעות מנוע סרוו SG90 עם ה- Raspberry Pi

Using the SG90 Servo Motor with the Raspberry Pi

THE מנוע סרוו SG90 הוא סרוו קטן וקל משקל הנפוץ בפרויקטים של רובוטיקה, אוטומציה ופרויקטים של DIY. זה מאפשר שליטה מדויקת על מיקום זוויתי באמצעות אפנון רוחב דופק (PWM)ו מדריך זה יראה לך כיצד לשלוט מנוע סרוו SG90 עם פטל pi באמצעות פייתון.


מה תצטרך

  1. Raspberry Pi (כל דגם עם תמיכה ב- GPIO, למשל, pi 3, pi 4)
  2. מנוע סרוו SG90
  3. מקור כוח חיצוני (5V, אופציונלי למספר סרוו)
  4. חוטי לחם וגשר
  5. פיתון מותקן על ה- Raspberry Pi

שלב 1: חיווט סרוו SG90 ל- Raspberry Pi

THE מנוע סרוו SG90 כולל שלוש סיכות:

סיכה SG90 סיכת פטל pi פוּנקצִיָה
VCC (אדום) 5V (סיכה 2) ספק כוח
GND (חום) GND (סיכה 6) טָחוּן
איתות (כתום) GPIO18 (סיכה 12) בקרת אות PWM

פֶּתֶק: אם אתה משתמש בסרוו מרובים, השתמש ב- ספק כוח חיצוני 5V כדי למנוע עומס יתר על סיכת 5V של Raspberry Pi.


שלב 2: הפעל PWM ב- Raspberry Pi

ה- Raspberry Pi מייצר אותות PWM לשלוט בעמדת הסרוו.

  1. התקן את ספריית Raspberry Pi Gpio (אם לא הותקן כבר):
    sudo apt update && sudo apt install python3-rpi.gpio
    
  2. פתח עורך תסריטים של פייתון:
    nano servo_control.py
    
  3. העתק את סקריפט הפיתון הבא ל לשלוט במנוע סרוו 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: הפעלת סקריפט בקרת סרוו

  1. שמור את התסריט והיציאה:

    • לִלְחוֹץ Ctrl+xואז Yואז לְהַכנִיס.
  2. הפעל את התסריט:

    python3 servo_control.py
    
  3. הזן זוויות בין 0 ל -180 להזיז את הסרוו.


שלב 5: הבנת PWM לבקרת סרוו

  • תדר PWM: ה- SG90 פועל ב 50 הרץ.
  • חישוב מחזור חובה:
    • 0 ° → 2.5% מחזור חובה
    • 90 ° → 7.5% מחזור חובה
    • 180 ° → 12.5% ​​מחזור חובה
  • נוּסחָה: duty_cycle = (angle / 18) + 2.5

שלב 6: יישומים של סרוו SG90 עם Raspberry Pi

  1. זרועות רובוטיות - בקרה על מפרקי תנועה.
  2. דלתות ומנעולים אוטומטיים - מנגנונים פתוחים/סגור באמצעות סרוו.
  3. מערכות מצלמות פאן-טון - העבר מצלמות למעקב או לצילום.
  4. אוטומציה של בית חכם - בקרה מנעולים, מנעולים ומתחילים מרחוק.

פתרון בעיות

  1. סרוו לא זז?

    • לְהַבטִיחַ חיווט נכון (VCC, GND ו- GPIO18 לאות).
    • אם אתה משתמש בסרוו מרובים, השתמש ב- מקור כוח חיצוני 5V.
  2. תנועות לא שגרתיות?

    • להבטיח כוח יציב; לְהִשְׁתַמֵשׁ קבלים (100μF) במידת הצורך.
    • לְהִשְׁתַמֵשׁ בקרת PWM מדויקת גבוהה יותר, כמו א מודול PCA9685 PWM למספר סרוו.
  3. הרשאה שגיאה נדחתה?

    • הפעל את התסריט עם sudo:
      sudo python3 servo_control.py
      

מַסְקָנָה

THE מנוע סרוו SG90 היא דרך נהדרת להוסיף בקרת תנועה לפרויקטים של Raspberry Pi. באמצעות אותות PWMאתה יכול לשלוט במדויק על עמדת הסרוו עבור יישומי רובוטיקה, אוטומציה ויישומי IoTו התנסו בזוויות ויישומים שונים כדי לפתוח את מלוא הפוטנציאל שלה! 🚀

השאירו תגובה

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.