תוכן עניינים:

טילמטריה/מעקב אחר רקטות: 7 שלבים
טילמטריה/מעקב אחר רקטות: 7 שלבים

וִידֵאוֹ: טילמטריה/מעקב אחר רקטות: 7 שלבים

וִידֵאוֹ: טילמטריה/מעקב אחר רקטות: 7 שלבים
וִידֵאוֹ: תרומתה של צרפת לכיבוש החלל והשפעתו על החזון שלנו על כדור הארץ 2024, יולי
Anonim
טילמטריה/מעקב אחר רקטות
טילמטריה/מעקב אחר רקטות

פרויקט זה נועד לרשום נתוני טיסה ממודול חיישן 9 DOF לכרטיס SD, ולהעביר במקביל את מיקום ה- GPS שלו באמצעות רשתות סלולריות לשרת. מערכת זו מאפשרת למצוא את הרקטה אם אזור הנחיתה של המערכת נמצא מעבר ל- LOS.

שלב 1: רשימת חלקים

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

מערכת טלמטריה:

1x מיקרו -בקר ATmega328 (Arduino UNO, ננו)

1x פריצת מיקרו SD -

1x כרטיס מיקרו SD - (הגודל לא משנה בפורמט FAT 16/32) - קישור אמזון

1x Gy -86 IMU - קישור אמזון

מעקב אחר מיקום:

1x מיקרו -בקר ATmega328 (Arduino UNO, Nano) (כל מערכת צריכה מיקרו משלה)

מודול 1x Sim800L GSM GPRS - קישור אמזון

1x כרטיס SIM (חייב להיות בעל תכנית נתונים) - https://ting.com/ (תעריף בלבד עבור מה שאתה משתמש)

1x NEO 6M GPS מודול - אמזון LK

חלקים כלליים:

סוללת ליפו אחת 3.7V

1x ממיר שלב 3.7-5v (אם אתה לא בונה את ה- PCB)

1x פטל פטל, או כל מחשב שיכול לארח שרת PHP

-גישה למדפסת תלת מימד

-BOM עבור pcb מופיע בגיליון האלקטרוני

-גרברים נמצאים ב- github repo -https://github.com/karagenit/maps-gps

שלב 2: תת מערכת 1: מעקב אחר מיקומים

בדיקה:

ברגע שיש לך את חלקי המערכת (NEO-6M GPS, Sim800L) ביד, עליך לבדוק את הפונקציונליות של המערכות באופן עצמאי, כך שלא יהיה לך כאב ראש בניסיון להבין מה לא עובד כשאתה משלב את המערכות.

בדיקת GPS:

כדי לבדוק את מקלט ה- GPS, תוכל להשתמש בתוכנה המסופקת על ידי Ublox (תוכנת U-Center)

או סקיצת הבדיקה המקושרת בריפו github (בדיקת GPS)

1. כדי לבדוק עם תוכנת U-center, פשוט חבר את מקלט ה- GPS דרך USB ובחר את יציאת ה- com במרכז U, המערכת צריכה להתחיל אוטומטית לעקוב אחר המיקום שלך לאחר מכן.

2. כדי לבדוק עם בקר בקר, העלה את סקיצת בדיקת ה- GPS לארדואינו באמצעות ה- IDE. לאחר מכן חבר את 5V ו- GND לפינים המסומנים על המקלט אל ה- arduino ו- pin RX GPS ל- digital 3 ו- pin pin to digital 4 on the arduino. לבסוף פתח את הצג הטורי ב- arduino IDE והגדר את קצב השידור ל- 9600 וודא שהקואורדינטות שהתקבלו נכונות.

הערה: מזהה ויזואלי של נעילת לוויין במודול NEO-6M הוא שמחוון LED האדום יהבהב כל כמה שניות כדי להצביע על חיבור.

בדיקת SIM800L:

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

המטרה של מודול ה- Sim היא לשלוח בקשת HTTP GET לשרת עם המיקום המתקבל על ידי מקלט ה- GPS.

1. לבדיקת מודול התא הכנס את כרטיס ה- sim לתוך המודול כשהקצה המשופע כלפי מטה

2. חבר את מודול ה- sim ל- GND ולמקור 3.7-4.2v, אל תשתמש ב- 5v !!!! המודול אינו מסוגל לפעול במהירות 5V. חבר את מודול ה- Sim RX ל- Analog 2 ו- TX ל- Analog 3 ב- Arduino

3. העלה את שרטוט המעבר הטורי מה- github כדי שתוכל לשלוח פקודות למודול התא.

4. עקוב אחר הדרכה זו, או הורד את גרסת הניסיון של בודק הפקודות AT כדי לבדוק את הפונקציונליות של HTTP GET

יישום:

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

*אל תשכח לשנות את ה- ip והיציאה של השרת לשלך ולוודא למצוא את ה- APN של ספק הסלולר שבו אתה משתמש.

עבור לשלב הבא שבו הגדרנו את השרת

שלב 3: הגדרת שרת

הגדרת שרת
הגדרת שרת

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

עקוב אחר הדרכה זו בנושא הגדרת lightphp ב- RPI ולאחר מכן העתק את קבצי ה- php מה- github לתיקייה/var/www/html של ה- RPI שלך. אחרי פשוט השתמש בפקודה

sudo service lighttpd טען מחדש

כדי לטעון מחדש את השרת.

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

זה רעיון טוב להגדיר IP סטטי ל- RPI כך שהיציאות שאתה קדימה תמיד מצביעות לכיוון הכתובת של ה- RPI.

שלב 4: תת מערכת 2: רישום טלמטריה

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

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

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

בדיקה:

כדי לבדוק את המערכת תחבר תחילה את התפרצות כרטיס ה- SD

כרטיס SD Arduino

סיכה 4 ---------------- CS

פין 11 -------------- DI

סיכה 13 -------------- SCK

סיכה 12 -------------- DO

כעת חבר את ה- GY-86 למערכת באמצעות I^2C

Arduino GY-86

סיכה A4 -------------- SDA

סיכה A5 -------------- SCL

סיכה 2 ---------------- INTA

על כרטיס ה- SD צור קובץ בספרייה הראשית בשם datalog.txt לכאן המערכת תכתוב נתונים.

לפני העלאת הסקיצה של Data_Logger.ino למיקרו -בקר, שנה את הערך של ALT_THRESHOLD ל- 0 כך שהמערכת תתעלם מהגובה לבדיקה. לאחר ההעלאה, פתח את הצג הטורי ב- 9600 baud כדי לצפות בפלט המערכת. ודא שהמערכת מסוגלת להתחבר לחיישן וכי הנתונים נכתבים לכרטיס ה- SD. נתק את המערכת והכנס את כרטיס ה- SD למחשב שלך כדי לוודא שכתבו נתונים בכרטיס.

שלב 5: שילוב מערכת

שילוב מערכת
שילוב מערכת
שילוב מערכת
שילוב מערכת

לאחר שווידא כי כל חלק במערכת פועל באותה תצורה המשמשת במחשב הלוח הראשי הגיע הזמן לחבר את הכל ולהתכונן להשקה! כללתי את קבצי Gerbers ו- EAGLE עבור ה- PCB והסכמטיות בגיטוב. יהיה עליך להעלות את הגרברים ליצרן כגון OSH park או JLC כדי לייצר אותם. לוחות אלה הם שני שכבות והם קטנים מספיק כדי להתאים את רוב יצרני 10cmx10cm עבור לוחות זולים.

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

תִכנוּת:

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

  • להעלאת התוכנית עקוב אחר הדרכה זו בנושא שימוש בלוח Arduino כמתכנת. העלה את SimGpsTransmitter.ino ליציאת ICSP_GPS ו- Data_Logger.ino ליציאת ICSP_DL (יציאת ICSP על הלוח היא אותה פריסה של מה שנמצא בלוחות UNO סטנדרטיים של Arduino).
  • לאחר העלאת כל התוכניות תוכל להפעיל את המכשיר מכניסת הסוללה עם 3.7-4.2V ולנצל את 4 נוריות החיווי כדי לוודא שהמערכת פועלת.

    • שני הנורות הראשונות 5V_Ok ו- VBATT_OK מצביעות על כך שהסוללה ומסילות 5V מופעלות.
    • הנורית השלישית DL_OK תהבהב כל שנייה אחת כדי לציין כי רישום הטלמטריה פעיל.
    • הנורית האחרונה SIM_Transmit תידלק לאחר חיבור המודולים הסלולריים וה- GPS ונתונים נשלחים לשרת.

שלב 6: מארז

קַרפִּיף
קַרפִּיף

הרקטה שאני מעצב את הפרויקט הזה מסביב היא בעלת קוטר פנימי של 29 מ מ, על מנת להגן על האלקטרוניקה ולאפשר למכלול להתאים בתוך הגוף הגלילי של הרקטה הכנתי מארז פשוט מודפס תלת מימדי בשני חלקים אשר מוברג יחד ויש לו יציאות צפייה לנורות החיווי. קבצי STL להדפסה וקובצי.ipt מקוריים נמצאים במאגר github. לא דגמתי את זה מכיוון שלא הייתי בטוח לגבי הסוללה שאשתמש בה באותו זמן, אבל יצרתי ידנית שקע לסוללה של 120 מיליאמפר / שעה כדי לשבת עם החלק התחתון של המארז. סוללה זו מוערכת בערך 45 דקות זמן ריצה מקסימלי למערכת בצריכת חשמל של ~ 200mA (הדבר תלוי בשימוש במעבד ובספק כוח להעברת נתונים, ה- SIM800L מצוין כדי לצייר עד 2A בהתפרצויות במהלך תקשורת).

שלב 7: סיכום

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

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

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

מוּמלָץ: