Raspberry Pi הוא לוח מבוסס מעבד ארכיטקטורה של ARM המיועד למהנדסים אלקטרוניים וחובבים. ה- PI היא אחת מפלטפורמות פיתוח הפרויקטים המהימנות ביותר שקיימות כעת. עם מהירות מעבד גבוהה יותר ו- 1 GB RAM, ניתן להשתמש ב- PI לפרויקטים רבים בפרופיל גבוה כמו עיבוד תמונה ואינטרנט של הדברים.
לצורך ביצוע פרויקטים בפרופיל גבוה, יש להבין את הפונקציות הבסיסיות של PI. אנו נסקור את כל הפונקציות הבסיסיות של פטל פאי במדריכים אלה. בכל הדרכה נדון באחת הפונקציות של PI. בסוף סדרת הדרכה זו של פטל, תוכל לבצע פרויקטים בעלי פרופיל גבוה בעצמך. עבור להדרכות למטה:
- תחילת העבודה עם פטל פי
- תצורת פטל פי
- נורית LED מהבהבת
- ממשק כפתור פטל פי
- דור ה- PWM של פטל פי
- שליטה במנוע DC באמצעות Raspberry Pi
במדריך זה נשלוט על מהירות מנוע צעד באמצעות פטל פטל. ב Stepper Motor, כפי שהשם עצמו אומר, סיבוב הפיר הוא בצורה Step. ישנם סוגים שונים של מנוע צעד; כאן נשתמש בזה הפופולרי ביותר שהוא מנוע צעד חד קוטבי. בניגוד למנוע DC, אנו יכולים לסובב את מנוע הצעד לכל זווית מסוימת על ידי מתן הוראות מתאימות.
לסיבוב מנוע צעד זה בעל ארבע שלבים, אנו נעביר פעימות הספק באמצעות מעגל נהג מנוע צעד. מעגל הנהג לוקח מפעילי לוגיקה מ- PI. אם אנו שולטים בהדק ההיגיון, אנו שולטים בפולסי הכוח ומכאן במהירות של מנוע צעד.
ישנם 40 סיכות פלט של GPIO ב- Raspberry Pi 2. אך מתוך 40 ניתן לתכנת רק 26 סיכות GPIO (GPIO2 ל- GPIO27). חלק מהפינים הללו מבצעים כמה פונקציות מיוחדות. עם הצבת GPIO מיוחד, נותרו לנו רק 17 GPIO. כל אחד מ 17 סיכות GPIO אלה יכול לספק זרם מקסימלי של 15mA. וסכום הזרמים מכל סיכות GPIO אינו יכול לעלות על 50mA. למידע נוסף על סיכות GPIO, עברו על: LED מהבהב עם Raspberry Pi
יש +5V (פינים 2 ו -4) ו -3.3 וולט (פינים 1 ו -17) סיכות פלט על הלוח לחיבור מודולים וחיישנים אחרים. לא ניתן להשתמש במסילות חשמל אלה להנעת המנוע הצעד, מכיוון שאנו זקוקים ליותר כוח כדי לסובב אותו. אז עלינו לספק את הכוח למנוע הצעד ממקור כוח אחר. מנוע הצעדים שלי הוא בעל דירוג מתח של 9 וולט ולכן אני משתמש בסוללת 9 וולט כמקור החשמל השני שלי. חפש במספר דגם המנוע הצעד שלך כדי לדעת את דירוג המתח. בהתאם לדירוג בחר את המקור המשני כראוי.
כאמור, אנו זקוקים למעגל נהג בכדי להניע את מנוע הצעד. אנו נתכנן כאן גם מעגל נהג טרנזיסטור פשוט.
רכיבים נדרשים:
כאן אנו משתמשים ב- Raspberry Pi 2 דגם B עם Raspbian Jessie OS. כל דרישות החומרה והתוכנה הבסיסיות נדונו בעבר, אתה יכול לחפש את זה במבוא לפטל, מלבד זה שאנחנו צריכים:
- סיכות חיבור
- 220Ω או 1KΩ נגד (3)
- מנוע צעדים
- כפתורים (2)
- טרנזיסטור 2N2222 (4)
- דיודה 1N4007 (4)
- קבלים- 1000uF
- לוח לחם
הסבר מעגל:
מנוע צעד משתמש ב 200 צעדים להשלמת סיבוב של 360 מעלות, פירושו שהוא מסתובב ב -1.8 מעלות לכל צעד. כשאנחנו נוהגים במנוע צעד ארבע שלבים, אז אנחנו צריכים לתת ארבעה פעימות כדי להשלים מחזור לוגי יחיד. כל שלב במנוע זה משלים 1.8 מעלות סיבוב, כך שכדי להשלים מחזור אנו זקוקים ל 200 פעימות. אז 200/4 = 50 מחזורי לוגיקה הדרושים להשלמת סיבוב יחיד. בדוק זאת כדי לדעת יותר על Steppers Motors ומצבי הנהיגה שלה.
אנו נניע כל אחד מארבעת הסלילים הללו על ידי טרנזיסטור NPN (2N2222), טרנזיסטור NPN זה לוקח את הדופק ההגיוני מ- PI ומניע את הסליל המתאים. ארבעה טרנזיסטורים לוקחים ארבעה לוגיקה מ- PI כדי להניע ארבעה שלבים של מנוע צעד.
מעגל נהג הטרנזיסטור הוא התקנה מסובכת; כאן עלינו לשים לב שחיבור שגוי של הטרנזיסטור עלול להעמיס את הלוח בכבדות ולפגוע בו. בדוק זאת כדי להבין כראוי את מעגל נהגי המנוע הצעד.
המנוע הוא אינדוקציה ולכן בזמן החלפת המנוע, אנו חווים קפיצה אינדוקטיבית. דוקרן זה יחמם את הטרנזיסטור בכבדות, לכן נשתמש בדיודה (1N4007) בכדי לספק הגנה לטרנזיסטור מפני ספייק אינדוקטיבי.
על מנת להפחית את תנודות המתח, נחבר קבל של 1000uF על פני ספק הכוח כפי שמוצג בתרשים המעגלים.
הסבר עבודה:
לאחר שהכל מחובר לפי דיאגרמת המעגל, אנו יכולים להפעיל את ה- PI כדי לכתוב את התוכנית ב- PYHTON.
נדבר על כמה פקודות בהן נשתמש בתוכנית PYHTON, אנו הולכים לייבא קובץ GPIO מהספרייה, הפונקציה הבאה מאפשרת לנו לתכנת סיכות GPIO של PI. אנו גם משנים את השם "GPIO" ל- "IO", ולכן בתוכנית בכל פעם שברצוננו להתייחס לסיכות GPIO נשתמש במילה 'IO'.
ייבא את RPi.GPIO כ- IO
לפעמים, כאשר סיכות ה- GPIO, בהן אנו מנסים להשתמש, עשויות לבצע פונקציות אחרות. במקרה כזה נקבל אזהרות בזמן ביצוע התוכנית. הפקודה למטה אומרת ל- PI להתעלם מהאזהרות ולהמשיך בתוכנית.
IO.setwarnings (שקר)
אנו יכולים להפנות את סיכות ה- GPIO של PI, על ידי מספר סיכה על הלוח או על ידי מספר הפונקציה שלהן. כמו 'PIN 35' על הלוח הוא 'GPIO19'. אז אנו אומרים כאן או שאנחנו נציג את הסיכה כאן על ידי '35' או '19'.
IO.setmode (IO.BCM)
אנו מגדירים ארבעה סיכות GPIO כפלט להנעה של ארבעה סלילי מנוע צעד.
IO.setup (5, IO.OUT) IO.setup (17, IO.OUT) IO.setup (27, IO.OUT) IO.setup (22, IO.OUT)
אנו מגדירים את GPIO26 ו- GPIO19 כסיכות קלט. אנו נזהה לחיצה על כפתור לפי סיכות אלה.
IO.setup (19, IO.IN) IO.setup (26, IO.IN)
במקרה והתנאי בסוגריים נכון, ההצהרות בתוך הלולאה יבוצעו פעם אחת. אז אם סיכת ה- GPIO 26 תישאר נמוכה, ההצהרות בתוך לולאת ה- IF יבוצעו פעם אחת. אם סיכת ה- GPIO 26 אינה נמוכה, ההצהרות בתוך לולאת ה- IF לא יבוצעו.
אם (IO.input (26) == False):
פקודה זו מבצעת את הלולאה 100 פעמים, כאשר x מוגברת בין 0 ל -99.
עבור x בטווח (100):
בעוד 1: משמש לולאת אינסוף. באמצעות פקודה זו ההצהרות בתוך הלולאה הזו יבוצעו ברציפות.
יש לנו את כל הפקודות הדרושות בכדי להשיג את בקרת המהירות של מנוע הצעד בעזרת זה.
לאחר כתיבת התוכנית וביצועה, כל מה שנותר הוא הפעלת השליטה. יש לנו שני כפתורים המחוברים ל- PI. אחד להגדלת העיכוב בין ארבעת הפולסים והשני להפחתת העיכוב בין ארבעת הפולסים. העיכוב עצמו מדבר על מהירות; אם העיכוב גבוה יותר המנוע לוקח בלמים בין כל צעד וכך הסיבוב איטי. אם העיכוב קרוב לאפס, המנוע מסתובב במהירות מקסימאלית.
כאן צריך לזכור כי צריך להיות עיכוב כלשהו בין הפולסים. לאחר מתן דופק, מנוע צעד לוקח כמה אלפיות שניות זמן להגיע לשלב הסופי שלו. אם לא ניתן עיכוב בין הפולסים, מנוע הצעד כלל לא ינוע. בדרך כלל עיכוב של 50ms הוא בסדר בין הפולסים. למידע מדויק יותר, עיין בגיליון הנתונים.
כך שעם שני כפתורים אנו יכולים לשלוט בעיכוב, אשר בתורו שולט במהירותו של מנוע הצעד.