דלגו לתוכן המרכזי
KitLab
שיעור קודם
מנוע DC ודרייבר· 13 / 41
מנוע DC ודרייבר
🎬

הסרטון בדרך אלינו

בינתיים — התמלול המלא של השיעור מחכה לכם למטה

מנוע DC ודרייבר

מה בשיעור?

  • סטטור ורוטור
  • כיוון הזרם קובע כיוון, עוצמתו מהירות
  • למה חיבור ישיר מסוכן
  • הדרייבר וארבעת תפקידיו
  • freq כתדר מיתוג ולא תדר צליל
  • סף ההתנעה

מה נלמד כאן

  • מנוע DC ולמה אסור לחבר אותו ישירות
  • דרייבר מנועים
  • freq() בהקשר של מנוע

תנועה

מנוע DC

מכוניות צעצוע, מאווררים, שערים, רחפנים, מדפסות.


הידע שצריך

1. מנוע DC

מבנה המנוע

סטטור נייח שיוצר שדה מגנטי, רוטור מסתובב. וממנו נובעים שני דברים:

  • כיוון הזרם קובע כיוון הסיבוב
  • עוצמת הזרם קובעת מהירות

2. למה אסור ישירות

⚠️ פין ה-ESP32 מספק זרם קטן מאוד — מספיק לנורית, לא למנוע. חיבור ישיר לא יסובב את המנוע ויכול לשרוף את הפין או את הלוח.

תמיד דרך דרייבר.

3. הדרייבר

מודול הדרייבר

התפקיד מה זה נותן
הספק הזרם שהלוח לא יכול לספק
כיוון קדימה ואחורה
מהירות מקבל PWM ומווסת
הגנה יתר-זרם ויתר-חום

מזכיר את הטרנזיסטור? בדיוק — הדרייבר הוא ארבעה טרנזיסטורים מסודרים כך שאפשר גם להפוך כיוון.

4. שני פיני בקרה ו-freq

from machine import Pin, PWM

pwmA1 = PWM(Pin(5))
pwmA2 = PWM(Pin(16))
pwmA1.freq(1000)      # תדר המיתוג
pwmA2.freq(1000)

freq(1000) כאן הוא לא תדר צליל — הוא תדר המיתוג של ה-PWM. 1000Hz הוא ערך נפוץ למנועים: מהיר מספיק כדי שהמנוע יסתובב חלק, ולא גבוה מדי כדי לא לבזבז אנרגיה.

שימו לב שאותה פקודה freq() משמשת לשני דברים שונים — תדר צליל בזמזם, תדר מיתוג במנוע. זו אותה פיזיקה, הקשר אחר.

כיוון ומהירות:

# קדימה
pwmA1.duty(speed); pwmA2.duty(0)
# אחורה
pwmA1.duty(0); pwmA2.duty(speed)
# עצירה
pwmA1.duty(0); pwmA2.duty(0)

⚠️ לעולם אל תיתנו ערך גבוה לשני הפינים בו-זמנית.


ניסוי 1 — קדימה ואחורה

רשימת רכיבים

הרכיב כמות
לוח ESP32 1
לוח ניסוי 400 נקודות 1
דרייבר מנועים 1
מנוע DC 1

התרשים החשמלי

התרשים החשמלי

החיבור

חיבור הרכיבים

הקוד

from machine import Pin, PWM
import time

pwmA1 = PWM(Pin(5))
pwmA2 = PWM(Pin(16))
pwmA1.freq(1000)
pwmA2.freq(1000)

while True:
    # קדימה
    pwmA1.duty(1023); pwmA2.duty(0)
    time.sleep(2)
    # אחורה
    pwmA1.duty(0); pwmA2.duty(1023)
    time.sleep(2)
    # עצירה
    pwmA1.duty(0); pwmA2.duty(0)
    time.sleep(2)

ניסוי 2 — שליטה במהירות

from machine import Pin, PWM
import time

pwmA1 = PWM(Pin(5))
pwmA2 = PWM(Pin(16))
pwmA1.freq(1000)
pwmA2.freq(1000)

while True:
    for speed in range(0, 1024):
        print(speed)
        pwmA1.duty(speed)
        pwmA2.duty(0)
        time.sleep_ms(10)

    for speed in range(1023, -1, -1):
        print(speed)
        pwmA1.duty(speed)
        pwmA2.duty(0)
        time.sleep_ms(10)

זו בדיוק תוכנית נורית הנשימה — עם מנוע במקום נורית.

שליטה במהירות

תופעה שתראו: המנוע לא יזוז ב-duty נמוך. יש סף התנעה (בדרך כלל 200-400) שמתחתיו הזרם לא מספיק להתגבר על החיכוך. זה הבדל אמיתי בין נורית למנוע.


נסו בעצמכם

  • מצאו את סף ההתנעה של המנוע שלכם.
  • שלבו עם שיעור 7: הפוטנציומטר שולט במהירות.
  • שנו את freq ל-50 ואז ל-5000. שומעים הבדל?
  • שלבו עם שיעור 4: לחצן אחד קדימה, שני אחורה.

🧰 הרכיבים לשיעור הזה

רוצים את חומרי הקורס והעדכונים?

נשלח למייל את קובצי הקוד, החומרים ועדכונים על שיעורים חדשים. בלי ספאם.