קטגוריות: מעגלי מיקרו-בקר
מספר צפיות: 19709
הערות לכתבה: 0

בקרת מנוע וסרוו עם ארדואינו

 

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

במאמר זה אנו מסתכלים על סרוו ומנועי DC קטנים, מחברים אותם ללוח Arduino ומתאימים את ה- DCT.

בקרת מנוע וסרוו עם ארדואינו

מנוע DC

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

מנוע DC

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

עוגן מוטורי אספן

על מנועי DC גדולים, על הסטטור, מתפתל סלילת עירור, המחוברת לסיבוב הרוטור (דרך מכלול המברשת) בצורה מסוימת (עירור רצף, מקביל או מעורב). כך מושג המומנט הרצוי ומספר המהפכות.


בקרת מהירות

מנוע DC חשמלי

כאשר הוא מחובר לחשמל, מנוע ה- DC מתחיל להסתובב במהירות המדורגת. כדי להפחית את המהירות אתה צריך להגביל את הזרם. לשם כך, מוצגות התנגדות נטל, אך הדבר מפחית את היעילות של המתקן בכללותו ומופיע מקור חום עודף. לוויסות יעיל יותר של מתח וזרם, נעשה שימוש בשיטה אחרת - בקרת PWM.

בקרת PWM

שיטה לשליטה על אות מודולציה ברוחב הדופק (מתח) היא לייצר את ערך המתח הרצוי על ידי שינוי רוחב הדופק, עם משך קבוע של התקופה (תדר).

כלומר, התקופה מחולקת לשני חלקים:

1. זמן דחף.

2. השהה זמן.

היחס בין זמן הדופק לזמן הכולל של התקופה נקרא מחזור התפקיד:

Ks = ti / tper

ההדדי נקרא "מחזור חובה":

D = 1 / KZ = tper / t ו-

כדי לתאר את מצב ההפעלה של בקר ה- PWM משתמשים בשני המושגים: מחזור חובה וגם מחזור חובה.

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

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

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


אנו מתחברים לארדואינו

היה לי מנוע קטן, נראה מנגן קלטות, מה שאומר שהמתח המדורג שלו יהיה מתחת ל -5 וולט ואז כוח הפלט של הארדואינו יספיק. אני אעביר אותו מהסיכה של 5V, כלומר מפלט המייצב הליניארי הנמצא על הלוח. בהתאם לתכנית שתראה בהמשך.

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

תרשים חיבור מוטורי של Arduino DC

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

התקנתי נגן מגביל זרם בחיווט הטרנזיסטור (כדי להפחית את זרם טעינת השער, זה יחסוך את היציאה מהבעירה ואת אספקת החשמל של המיקרו-בקר מפני שקיעה והקפאתו) על ידי 240 אוהם, ומשכתי אותו לקרקע עם נגן של 12 קוט"ש, יש לעשות זאת כדי להפוך אותו יציב יותר מיכל התריס עבד ושוחרר מהר יותר.

פרטים על טרנזיסטורי אפקט שדה שתוארו במאמר באתר שלנו. השתמשתי במוספט חזק, נפוץ ולא יקר מדי עם ערוץ n ודיודה הפוכה מובנית IRF840.

ביצוע ומגדיר חלק מהמעגל

כך נראה מערך עמדות המעבדה שלי:

מנוע DC ו arduino

פונקציית בקרת ה- PWM נקראת בעת כתיבה לפלט המקביל (3, 5, 6, 9, 10, 11) מערכים מ- 0 עד 255 באמצעות הפקודה AnalogWrite (פין, ערך). ההיגיון של עבודתה מתואר בתרשימים שלהלן.

פונקצית בקרת PWM

אות כזה מופעל על שער הטרנזיסטור:

אות כזה מופעל על שער הטרנזיסטור

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

חיישן int = A0; // קלט מפוטנציומטר

int motorPin = 3; // פלט PWM לשער המצלמה

הגדרת ביטול () {

pinMode (motorPin, OUTPUT);

}

לולאת חלל () {

analogWrite (motorPin, map (analogRead (sensorPin), 0, 1023, 0, 256));

}

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


זוהי תכנית עבודה והיא נהדרת להתבוננות בתהליכים בעת התאמת כוח העומס, בהירות הנוריות, מהירות המנוע, אתה רק צריך לחבר את העומס הרצוי במקום המנוע. במקרה זה, במקום 5V, ניתן להפעיל כל מתח על העומס, למשל 12V, אל תשכחו לחבר את הכוח השלילי למגע, למשל 12V, אל תשכחו לחבר את הכוח השלילי לפין ה- GND בלוח הבקר.

בארדואינו, תדר ה- PWM, כאשר הוא נקרא דרך פונקציית ה- AnalogWrite, הוא רק 400 הרץ, בערכי המתח המינימלייים נשמע זמזום של התדר המקביל מהסלילה של המנוע.

ארדואינו וסרוו

סרווס

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

סרוו הוא מנוע מונע משוב שלילי.

בדרך כלל, שלושה חוטים יוצאים מכונן סרוו:

  • פלוס כוח.

  • פחות כוח.

  • אות בקרה.

כונן סרוו מורכב מ:

  • מנוע DC (או מנוע ללא מברשות);

  • דמי ניהול;

  • חיישן מיקום (מקודד לשרתים עם זווית סיבוב של 360 ° או פוטנציומטר לשרתים עם זווית סיבוב של 180 °);

  • צמצום ההילוכים (מוריד את מהירות המנוע ומגביר את מומנט ההינע).

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

עקרון פעולת הסרוו

המאפיינים העיקריים של סרוו:

  • מהירות סיבוב (זמן שבמהלכו מסתובב הפיר בזווית של 60 °);

  • מומנט (ק"ג / ס"מ, כלומר כמה קילוגרמים המנוע יכול לעמוד על המנוף 1 ס"מ מהפיר);

  • מתח אספקה;

  • צריכה שוטפת;

  • בשיטת הבקרה (אנלוגי או דיגיטלי, אין הבדל משמעותי, אך הדיגיטלי מהיר ויציב יותר).

בדרך כלל, תקופת האות היא 20 שניות ומשך דופק הבקרה:

  • 544 μs - מתאים ל- 0 °;

  • 2400 מיקרוגרם - מתאים לזווית של 180 מעלות.

במקרים נדירים, אורך הדופק עשוי להיות שונה, למשל 760 ו -1520 מיקרוגרם, בהתאמה, ניתן להבהיר מידע זה בתיעוד הטכני של הכונן. אחד סרוו התחביבים הפופולריים ביותר הוא Tower Pro SG90 ודגמים דומים.זה לא יקר - כ -4 דולר.

Sevroprivod ל arduino

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


שליטת סרוו וארדואינו

כאמור, השליטה מתבצעת על ידי שינוי משך הדופק, אך אל תבלבלו שיטה זו עם PWM (PWM), שמה הנכון הוא PDM (Pulul Duration Modulation). סטיות קלות בתדר האות (20 ms - משך, תדר 50 הרץ) אינן ממלאות תפקיד מיוחד. אך אל תסטו מהתדר ביותר מ -10 הרץ, המנוע יכול להתרוצץ באדיקות או לשרוף.

שליטת סרוו וארדואינו

החיבור לארדואינו די פשוט, אתה יכול גם להניע את הכונן מפינים של 5 וולט, אך לא רצוי. העובדה היא שבתחילת הדרך יש קפיצה קטנה בזרם, זה יכול לגרום לכיבוי כוח ו תפוקות מיקרו-כוזב שקריות. אמנם כונן קטן אחד (סוג SG90) אפשרי, אך לא יותר.

כדי לשלוט בסרווסים כאלה באמצעות ארדואינו, יש לך את ספריית סרוו המובנית ב- IDE, יש לה סדרה קטנה של פקודות:

  • צרף () - הוסף משתנה לסיכה. דוגמה: name drive.attach (9) - חבר סרוו לפין 9. אם הכונן שלך זקוק לאורכים שאינם סטנדרטיים של פולסי בקרה (544 ו 2400 מיקרו-שניות), ניתן לציין אותם מופרדים על ידי פסיק אחרי מספר הסיכה, למשל: servo.attach (סיכה, זווית דקה (מיקרו), זווית מקסימלית ב- ISS));

  • כתוב () - מגדיר את זווית הסיבוב של המוט במעלות;

  • writeMicroseconds () - מגדיר את הזווית לאורך אורך הדופק במיקרו-שניות;

  • read () - קובע את המיקום הנוכחי של הפיר;

  • מצורף () - בודק אם מוגדר סיכה עם סרוו מחובר;

  • נתק () - בטל את הפקודה לצרף.

ספריה זו מאפשרת לך לשלוט על 12 סרוו מ- לוחות UNO, Nano וכדומה (mega368 ו- 168), ואילו היכולת להשתמש ב- PWM בפינים 9 ו- 10 נעלמת. אם יש לך MEGA, אתה יכול לשלוט בשרתים 48, אך ה- PWM בפינים 11 ו -12 ייעלם, אם אתה משתמש עד 12 סרוו, PWM יישאר פונקציונלי לחלוטין בכל אנשי הקשר.

אם חיברת את הספרייה הזו, לא תוכל לעבוד עם מקלטים / משדרים 433 מגה הרץ. יש ספריית Servo2 לכך, שהיא אחרת זהה.

ספריית Servo2

להלן דוגמה לקוד בו השתמשתי לניסויים עם כונן סרוו, זה בערכת הדוגמאות הרגילה:

# כלול // חבר את הספריה

סרוו myservo; // שם משתנה מוצהר עבור myservo servo

int potpin = 0; // סיכה לחיבור פוטנציומטר ההגדרה

int val; // משתנה לשמירת תוצאות קריאת האות מהפוטנציומטר

הגדרת ביטול () {

myservo.attach (9); // הגדר 9 פינים כפלט בקרה עבור סרוו

}

לולאת חלל () {

val = analogRead (potpin); // תוצאות קריאת הפוטנציומטר שנשמר בטרנס. val, הם יהיו בטווח שבין 0 ל 1023

val = מפה (val, 0, 1023, 0, 180); // לתרגם את טווח המדידה מהקלט האנלוגי 0-1023

// במגוון המשימות של סרוו 0-180 מעלות

myservo.write (val); // לעבור את ההמרה איתות מפוט-רא לשליטה קלט סרוו

עיכוב (15); יש צורך בעיכוב להפעלה יציבה של המערכת

 

אנו מחברים את הסרוו לארדואינו

מסקנה

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

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

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

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

ראה גם באתר elektrohomepro.com:

  • איך הסרוו מסודר ועובד
  • ארדואינו ומנוע צעד: יסודות, סכמות, חיבור ושליטה
  • כולל התקני חיבור לארדואינו
  • כיצד להבדיל בין מנוע אינדוקציה לבין מנוע DC
  • כיצד לחבר מקודד מצטבר לארדואינו

  •