- מנוע DC ללא ליבות למכוניות RC
- חומרים נדרשים
- ג'ויסטיק RF לרכב RC באמצעות ארדואינו
- תרשים מעגלי מכוניות RC Arduino
- ייצור PCB לרכב RC Arduino
- הרכבת ה- PCB
- גלגלים להדפסת תלת מימד והתקנת מנוע
- תכנות את הארדואינו
- עבודה של מכונית RC Arduino
מכוניות RC תמיד כיף לשחק איתן, אני באופן אישי מעריץ גדול של המכוניות הנשלטות מרחוק ושיחקתי (עדיין עושה) בהרחבה. רוב המכוניות הללו כיום מספקות מומנט עצום להתמודדות עם שטחים מחוספסים, אבל יש משהו שהיה תמיד בפיגור, המהירות שלו !!.. אז, בפרויקט זה, אנו נבנה סוג אחר לגמרי של מכונית RC באמצעות Arduino, הראשי המטרה של מכונית זו היא להשיג מהירות מרבית, ולכן החלטתי לנסות את מנוע ה- DC חסר הליבה למכונית RC. מנועים אלה משמשים בדרך כלל במזל"טים והם מדורגים ל- 39,000 סל"ד שאמור להספיק כדי להרוות את צמאוננו המהיר. המכונית תופעל באמצעות סוללת ליתיום קטנה וניתנת לשליטה מרחוק באמצעות מודול RF nRF24L01. לחלופין, אם אתם מחפשים משהו פשוט, תוכלו גם לבדוק את פרויקטים אלה של רובוט RF פשוט ו- Raspberry Pi Bluetooth.
מנוע DC ללא ליבות למכוניות RC
מנוע coreless DC המשמש בפרויקט זה מוצג בתמונה למטה. אתה יכול למצוא אותם בקלות מכיוון שהם נמצאים בשימוש נרחב במזל"טים מיני. רק חפש מנוע 8520 מגנטי מיקרו ללא קורוזיה ותמצא את זה.
כעת, ישנם חסרונות מסוימים בשימוש במנועי DC למכונית RC. הדבר הראשון הוא שהם מספקים מומנט התחלתי נמוך מאוד ולכן מכונית ה- RC שלנו צריכה להיות קלה ככל האפשר. זו הסיבה שהחלטתי לבנות את המכונית כולה על גבי PCB באמצעות רכיבי SMD ולהפחית את גודל הלוח עד כמה שאפשר. הבעיה השנייה היא המהירות הגבוהה שלה, 39000 סל"ד (סל"ד של הפיר) קשה להתמודד, ולכן אנו זקוקים למעגל בקרת מהירות בצד הארדואינו, אותו בנינו באמצעות MOSFET. הדבר השלישי הוא שמנועים אלה יופעלו על ידי סוללת ליתיום-פולימר אחת עם מתח הפעלה בין 3.6 וולט ל -4.2 וולט, ולכן עלינו לתכנן את המעגל שלנו כך שיפעל ב -3.3 וולט. זו הסיבה שהשתמשנו במיני Arduino Pro 3.3Vכמוח של מכונית ה- RC שלנו. כאשר הבעיות הללו מסודרות, בואו נסתכל על החומרים הנדרשים לבניית פרויקט זה.
חומרים נדרשים
- 3.3V Arduino Pro Mini
- ארדואינו ננו
- NRF24L01 - 2 יחידות
- מודול ג'ויסטיק
- SI2302 MOSFET
- 1N5819 דיודה
- מנועי BLDC חסרי גרעין
- AMS1117-3.3V
- סוללת ליתיום פולימר
- נגדים, קבלים,
- חוטי חיבור
ג'ויסטיק RF לרכב RC באמצעות ארדואינו
כפי שצוין קודם לכן, מכונית ה- RC תישלט מרחוק באמצעות ג'ויסטיק RF. ג'ויסטיק זה ייבנה גם באמצעות Arduino יחד עם מודול RF nRF24L01, השתמשנו גם במודול ג'ויסטיק בכדי לשלוט ב- RC שלנו בכיוון הנדרש. אם אתה חדש לגמרי בשני המודולים האלה, אתה יכול לשקול לקרוא Interfacing Arduino עם nRF24L01 ו- Interfacing Joystick with Articles של Arduino כדי ללמוד כיצד הם עובדים וכיצד להשתמש בהם. כדי לבנות את הג'ויסטיק מרחוק Arduino RF שלך, תוכל לעקוב אחר דיאגרמת המעגלים הבאה.
ניתן להפעיל את מעגל הג'ויסטיק RF באמצעות יציאת ה- USB בלוח הננו. מודול nRF24L01 פועל רק על 3.3 וולט, ולכן השתמשנו בסיכת 3.3 וולט על Arduino. בניתי את המעגל על קרש לחם וזה נראה כמו למטה, אתה יכול גם ליצור PCB לזה במידת הצורך.
Arduino קוד עבור מעגל RF ג'ויסטיק הוא די פשוט, אנחנו צריכים לקרוא את הערך X וערך Y מ ג'ויסטיק שלנו ולשלוח אותו אל המכונית RC דרך nRF24L01. התוכנית המלאה למעגל זה נמצאת בתחתית עמוד זה. לא ניכנס להסבר על זה מכיוון שכבר דנו בכך בקישור הפרויקט הממשק המשותף לעיל.
תרשים מעגלי מכוניות RC Arduino
תרשים המעגל השלם לרכב הארדואינו השלט רחוק שלנו מוצג להלן. תרשים המעגל כולל גם אפשרות להוסיף שני מודולי IRR TCRT5000 למכונית שלנו. זה תוכנן כדי לאפשר למכונית ה- RC שלנו לעבוד כרובוט שעוקב אחר קו, כך שהוא יוכל לעבוד בכוחות עצמו מבלי להיות נשלט חיצונית. עם זאת, למען הפרויקט הזה לא נתרכז בו, הישאר מכוון להדרכת פרויקט נוספת בה ננסה לבנות את "הרובוט העוקב אחר הקו המהיר ביותר". שילבתי את שני המעגלים על גבי מעגל PCB יחיד בכדי להקל על הבנייה, תוכלו להתעלם מחלק ה- IR ומקטע ה- Op-amp עבור פרויקט זה.
</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>מכונית ה- RC תופעל באמצעות סוללת הליפו המחוברת למסוף P1. ה- AMS117-3.3V משמש לוויסות 3.3V עבור ה- nRF24L01 והלוח הפרו-מיני שלנו. אנו יכולים גם להפעיל את לוח הארדואינו ישירות על הסיכה הגולמית, אך ווסת המתח של 3.3 וולט על פרו מיני לא יוכל לספק מספיק זרם למודולי ה- RF שלנו, ולכן השתמשנו בווסת מתח חיצוני.
כדי להניע את שני המנוע BLDC שלנו, השתמשנו בשני SI2302 MOSFETs. חשוב לוודא ש- MOSFETS אלה יכולים להיות מונעים על ידי 3.3V. אם אינך מוצא את אותו מספר חלק בדיוק, תוכל לחפש MOSFET שווה ערך עם מאפייני ההעברה שלהלן
המנועים יכולים לצרוך זרם שיא גבוה עד 7A (רציף נבדק כ 3A עם עומס), ומכאן שזרם הניקוז של MOSFET צריך להיות 7A ומעלה והוא אמור להידלק לחלוטין ב -3.3 וולט. כפי שניתן לראות כאן ה- MOSFET שבחרנו יכול לספק 10A אפילו ב -2.25 וולט ולכן זו בחירה אידיאלית.
ייצור PCB לרכב RC Arduino
החלק המהנה בבניית פרויקט זה היה פיתוח PCB. ה- PCB כאן לא רק מהווה את המעגל אלא גם משמש כשלדה לרכב שלנו, אז תכננו מכונית שנראית לו צורה עם אפשרויות להרכיב את המנועים שלנו בקלות. אתה יכול גם לנסות לעצב PCB משלך באמצעות המעגל שלמעלה או להשתמש בעיצוב ה- PCB שלי שנראה כך למטה לאחר השלמתו.
כפי שניתן לראות תכננתי את ה- PCB כך שניתן יהיה לעלות בקלות על הסוללה, המנוע ורכיבים אחרים. אתה יכול להוריד את הקובץ גרבר עבור PCB זה מהקישור. ברגע שאתה מוכן עם קובץ גרבר, הגיע הזמן להכין אותו. כדי לבצע את PCBGOGO בקלות על ידי PCBGOGO בצע את השלבים הבאים
שלב 1: היכנס ל- www.pcbgogo.com, הירשם אם זו הפעם הראשונה שלך. לאחר מכן, בכרטיסיית אב טיפוס PCB הזן את ממדי ה- PCB שלך, מספר השכבות ומספר PCB שאתה זקוק לו. ה- PCB שלי הוא 80 ס"מ × 80 ס"מ, כך שהכרטיסייה נראית כך למטה.
שלב 2: המשך על ידי לחיצה על כפתור ציטוט עכשיו . תועבר לדף שבו ניתן להגדיר כמה פרמטרים נוספים במידת הצורך, כגון חומר המרווח בין מסלולים וכו '. אך בעיקר ערכי ברירת המחדל יעבדו בסדר. הדבר היחיד שעלינו לקחת בחשבון כאן הוא המחיר והזמן. כפי שאתה יכול לראות זמן הבנייה הוא רק 2-3 ימים וזה פשוט עולה רק 5 $ עבור ה- PSB שלנו. לאחר מכן תוכל לבחור שיטת משלוח מועדפת על פי הדרישות שלך.
שלב 3: השלב האחרון הוא העלאת קובץ גרבר והמשך התשלום. כדי לוודא שהתהליך חלק PCBGOGO מאמת אם קובץ הגרבר שלך תקף לפני שתמשיך עם התשלום. בדרך זו אתה יכול לוודא כי ה- PCB שלך הוא ידידותי לייצור ויגיע אליך כמחויב.
הרכבת ה- PCB
לאחר הזמנת הלוח, הוא הגיע אלי לאחר כמה ימים, אם כי שליח בארגז ארוז היטב, וכמו תמיד איכות ה- PCB הייתה מדהימה. אני משתף כמה תמונות מהלוחות למטה כדי שתוכלו לשפוט.
הפעלתי את מוט ההלחמה שלי והתחלתי להרכיב את הלוח. מכיוון שטביעות הרגליים, הרפידות, הוויאות ומסך המשי מושלמים בצורה ובגודל הנכונים, לא הייתה לי שום בעיה להרכיב את הלוח. הלוח היה מוכן תוך עשר דקות בלבד מרגע פריקת הארגז.
כמה תמונות של הלוח לאחר ההלחמה מוצגות למטה.
גלגלים להדפסת תלת מימד והתקנת מנוע
כפי ששמתם לב בתמונה לעיל, עלינו לבצע תלת מימד לתושבת המנוע ולגלגלים עבור הרובוט. אם השתמשת בקובץ הגרבר PCB שלנו ששותף לעיל, אתה יכול להשתמש במודל תלת ממדי על ידי הורדתו מהקישור הזה.
השתמשתי בקורה כדי לפרוס את הדגמים שלי והדפסתי אותם באמצעות Tevo Terantuala ללא תומכים ומילוי של 0% להפחתת משקל. אתה יכול לשנות את ההגדרה המתאימה למדפסת שלנו. מכיוון שהמנועים מסתובבים מהר מאוד, מצאתי את זה קשה לתכנן גלגל שיתאים בצורה הדוקה וצמוד לפיר המנוע. לפיכך החלטתי להשתמש בלהבי הזמזום שבתוך הגלגל כפי שניתן לראות למטה
מצאתי שזה אמין וחזק יותר, עם זאת, עשה ניסויים בעיצובי גלגלים שונים והודיע לי בסעיף ההערות מה עבד בשבילך.
תכנות את הארדואינו
התוכנית המלאה (הן Arduino ננו והן פרו מיני) לפרויקט זה נמצאת בתחתית עמוד זה. ההסבר על תוכנית ה- RC שלך הוא כדלקמן
אנו מתחילים את התוכנית על ידי הכללת קובץ הכותרת הדרוש. שים לב, כי מודול nRF24l01 דורש להוסיף ספרייה ל- Arduino IDE שלך, אתה יכול להוריד את ספריית RF24 מ- Github באמצעות קישור זה. מלבד זאת, כבר הגדרנו את המהירות המינימלית והמהירות המקסימלית עבור הרובוט שלנו. הטווח המינימלי והמקסימלי הם 0 עד 1024 בהתאמה.
# הגדר מינימום מהירות 200 # הגדר מקסימום מהירות 800 # כולל
ואז בתוך פונקציית ההתקנה, אנו מאתחלים את מודול ה- nRF24L01 שלנו. השתמשנו ב -115 הלהקות מכיוון שהוא לא עמוס והגדרנו את המודול לפעול עם הספק נמוך, אתה יכול גם לשחק עם הגדרות אלה.
הגדרת חלל () {Serial.begin (9600); myRadio.begin (); myRadio.setChannel (115); // רצועת 115 מעל WIFI מאותתת myRadio.setPALevel (RF24_PA_MIN); // MINRADIO.setDataRate (זעם נמוך) מיני נמוך (RF24_250KBPS); // מהירות מינימלית}
לאחר מכן בפונקציית הלולאה הראשית, נבצע רק את פונקציית ReadData איתה נקרא כל הזמן את הערך שנשלח ממודול הג'ויסטיק של המשדר שלנו. שים לב שכתובת הצינור המוזכרת בתוכנית צריכה להיות זהה לזו המוזכרת בתוכנית המשדר. הדפסנו גם את הערך שאנו מקבלים לצורך איתור באגים. לאחר קריאת הערך בהצלחה נבצע את הפונקציה Control Car כדי לשלוט במכונית ה- RC שלנו על סמך הערך שהתקבל
ממודול ה- Rf.
בטל ReadData () {myRadio.openReadingPipe (1, 0xF0F0F0F0AA); // איזה צינור לקרוא, 40 סיביות כתובת myRadio.startListening (); // הפסק את השידור והתחל לבצע בדיקה מחדש אם (myRadio.available ()) {while (myRadio.available ()) {myRadio.read (& data, sizeof (data)); } Serial.print ("\ n קיבל:"); Serial.println (data.msg); קיבל = data.msg; Control_Car (); }}
בתוך פונקציית Car Control נשלט על מנועים המחוברים לסיכות PWM באמצעות פונקציית הכתיבה האנלוגית. בתכנית המשדר שלנו המיר את הערכים האנלוגיים מ- A0 ו- A1 של ה- Nano ל- 1 ל- 10, 11 ל- 20, 21 ל- 30 ו- 31 ל- 40 לשליטה במכונית קדימה, אחורה, שמאלה וימינה בהתאמה. התוכנית שלהלן משמשת לשליטה ברובוט בכיוון קדימה
אם (קיבל> = 1 && קיבל <= 10) // העבר קדימה {int PWM_Value = מפה (קיבל, 1, 10, מינימום מהירות, מקסימום מהירות); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, PWM_Value); }
באופן דומה, אנו יכולים גם לכתוב שלוש פונקציות נוספות לשליטה לאחור, שמאלה וימינה כפי שמוצג להלן.
אם (קיבל> = 11 && קיבל <= 20) // הפסקה {int PWM_Value = מפה (קיבלה, 11, 20, מינימום מהירות, מקסימום מהירות); analogWrite (R_MR, 0); analogWrite (L_MR, 0); } אם (קיבל> = 21 && קיבל <= 30) // פנה שמאלה {int PWM_Value = map (קיבל, 21, 30, מינימום מהירות, מקס_מהירות); analogWrite (R_MR, PWM_Value); analogWrite (L_MR, 0); } אם (קיבל> = 31 && קיבל <= 40) // פנה ימינה {int PWM_Value = מפה (קיבל, 31, 40, מינימום מהירות, מקסימום מהירות); analogWrite (R_MR, 0); analogWrite (L_MR, PWM_Value); }
עבודה של מכונית RC Arduino
לאחר שסיימתם את הקוד, העלו אותו ללוח המיני-מיני. הסר את הסוללה ואת הלוח שלך דרך מודול FTDI לבדיקה. הפעל את הקוד שלך, פתח סוללה טורית וכדאי שתקבל את הערך ממודול הג'ויסטיק שלך. חבר את הסוללה שלך והמנועים שלך צריכים גם להתחיל להסתובב.
את העבודה המלאה של הפרויקט ניתן למצוא בסרטון המקושר בתחתית עמוד זה. אם יש לך שאלות השאיר אותן בסעיף ההערות. אתה יכול גם להשתמש בפורומים שלנו כדי לקבל תשובות מהירות לשאלות טכניות אחרות שלך.