במדריך זה אנו הולכים לממשק מנוע DC ל- Arduino UNO ולשלוט על מהירותו באמצעות רעיון PWM (Pulse Width Modulation). תכונה זו מופעלת ב- UNO לקבל מתח משתנה על פני מתח קבוע. שיטת ה- PWM מוסברת כאן; שקול מעגל פשוט כפי שמוצג באיור.
אם לוחצים על הכפתור אם הדמות, המנוע יתחיל להסתובב והוא יהיה בתנועה עד לחיצה על הכפתור. לחיצה זו רציפה ומיוצגת בגל הדמות הראשון. אם, במקרה, כפתור שקול נלחץ למשך 8ms ונפתח למשך 2ms לאורך מחזור של 10ms, במקרה זה המנוע לא יחווה את מתח הסוללה השלם 9V שכן הלחצן נלחץ רק למשך 8ms, כך שמתח מסוף ה- RMS המנוע יהיה סביב 7V. בשל מתח RMS מופחת זה המנוע יסתובב אך במהירות מופחתת. כעת ההפעלה הממוצעת על פני תקופה של 10ms = הפעל זמן / (זמן הפעלה + זמן כיבוי), זה נקרא מחזור חובה והוא 80% (8 / (8 + 2)).
במקרים שני ושלישי לחיצה על הלחצן עוד פחות זמן בהשוואה למקרה הראשון. בגלל זה, מתח מסוף ה- RMS במסופי המנוע יורד עוד יותר. בשל מתח מופחת זה מהירות המנוע אפילו פוחתת עוד יותר. ירידה מהירה זו עם מחזור חובה המתמשך לקרות עד לנקודה בה מתח מסוף המנוע לא יספיק להפעלת המנוע.
אז על ידי זה אנו יכולים להסיק כי ניתן להשתמש ב- PWM כדי לשנות את מהירות המנוע.
לפני שנמשיך הלאה עלינו לדון ב- H-BRIDGE. כעת למעגל זה יש בעיקר שתי פונקציות, הראשונה היא להניע מנוע DC מאותות בקרת הספק נמוך והשני הוא לשנות את כיוון הסיבוב של מנוע DC.
איור 1
איור 2
כולנו יודעים שכדי שמנוע DC, כדי לשנות את כיוון הסיבוב, עלינו לשנות את הקוטביות של מתח האספקה של המנוע. אז כדי לשנות את הקוטביות אנו משתמשים בגשר H. עכשיו באיור 1 לעיל יש לנו מתגים לארבעה. כפי שמוצג באיור 2, לסיבוב המנוע A1 ו- A2 סגורים. מסיבה זו, זורם זרם דרך המנוע מימין לשמאל, כפי שמוצג 2 nd חלק figure3. בינתיים שקול את המנוע מסתובב בכיוון השעון. כעת אם המתגים A1 ו- A2 נפתחים, B1 ו- B2 סגורים. הזרם דרך מנוע תזרימי משמאל לימין כמוצג 1 st חלק מדמות 3. כיוון זרימת זרם זה מנוגד לזה הראשון ולכן אנו רואים פוטנציאל הפוך במסוף המנוע לזה הראשון, ולכן המנוע מסתובב נגד כיוון השעון. כך עובד H-BRIDGE. עם זאת, מנועים בעלי הספק נמוך יכולים להיות מונעים על ידי H-BRIDGE IC L293D.
L293D הוא IC של H-BRIDGE המיועד להנעת מנועי DC בעלי הספק נמוך ומוצג באיור. IC זה מורכב משני גשרי h וכך הוא יכול להניע שני מנועי DC. אז ניתן להשתמש ב- IC זה להנעת מנועי רובוט מאותות המיקרו-בקר.
כעת, כפי שנדון לפני כן, ל- IC זה יכולת לשנות את כיוון הסיבוב של מנוע DC. זה מושג על ידי שליטה על רמות המתח ב- INPUT1 ו- INPUT2.
אפשר סיכה |
סיכת קלט 1 |
סיכת קלט 2 |
כיוון מוטורי |
גָבוֹהַ |
נָמוּך |
גָבוֹהַ |
פנה ימינה |
גָבוֹהַ |
גָבוֹהַ |
נָמוּך |
פונה שמאלה |
גָבוֹהַ |
נָמוּך |
נָמוּך |
תפסיק |
גָבוֹהַ |
גָבוֹהַ |
גָבוֹהַ |
תפסיק |
אז כפי שמוצג באיור לעיל, עבור סיבוב בכיוון השעון 2A צריך להיות גבוה ו- 1A צריך להיות נמוך. באופן דומה נגד השעון 1A צריך להיות גבוה ו- 2A צריך להיות נמוך.
כפי שמוצג באיור, ל- Arduino UNO יש ערוצי 6PWM, כך שנוכל לקבל PWM (מתח משתנה) בכל אחד מששת הפינים הללו. במדריך זה אנו נשתמש ב- PIN3 כפלט PWM.
חומרה: ARDUINO UNO, ספק כוח (5v), קבל 100uF, נורית, לחצנים (שני חלקים), נגד 10KΩ (שני חלקים).
תוכנה: arduino IDE (Arduino nightly).
תרשים מעגל
המעגל מחובר בלוח לחם בהתאם לתרשים המעגל שמוצג לעיל. עם זאת יש לשים לב במהלך חיבור מסופי ה- LED. למרות שהכפתורים מראים אפקט מקפץ במקרה זה זה לא גורם לשגיאות ניכרות ולכן אנחנו לא צריכים לדאוג הפעם.
ה- PWM מבית UNO קל, בהזדמנויות רגילות הגדרת בקר ATMEGA עבור אות PWM אינה קלה, עלינו להגדיר הרבה רושמים והגדרות לאות מדויק, אולם ב- ARDUINO איננו צריכים להתמודד עם כל הדברים האלה.
כברירת מחדל כל קבצי הכותרת והרשמים מוגדרים מראש על ידי ARDUINO IDE, אנחנו פשוט צריכים להתקשר אליהם וזהו שיהיה לנו פלט PWM בסיכה המתאימה.
עכשיו כדי לקבל פלט PWM בסיכה מתאימה, עלינו לעבוד על שלושה דברים,
|
ראשית עלינו לבחור את סיכת הפלט של PWM מתוך שישה פינים, לאחר מכן עלינו להגדיר את הסיכה כפלט.
בשלב הבא עלינו לאפשר את תכונת ה- PWM של UNO על ידי קריאת הפונקציה "analogWrite (pin, value)". כאן 'סיכה' מייצגת את מספר הסיכה במקום בו אנו זקוקים לפלט PWM אנו מכניסים אותו כ'3 '. אז ב- PIN3 אנו מקבלים פלט PWM.
הערך הוא מחזור החובה להפעיל, בין 0 (תמיד כבוי) ל- 255 (תמיד פועל). אנו הולכים להגדיל ולהקטין מספר זה בלחיצת כפתור.
ל- UNO יש רזולוציה מקסימאלית של "8", אי אפשר ללכת רחוק יותר ומכאן הערכים 0-255. עם זאת ניתן להקטין את הרזולוציה של PWM באמצעות הפקודה "analogWriteResolution ()", על ידי הזנת ערך בין 4-8 בסוגריים, אנו יכולים לשנות את ערכו מארבע סיביות PWM לשמונה סיביות PWM.
המתג הוא לשנות את כיוון הסיבוב עבור מנוע DC.