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

מד מגנט ארדואינו: 5 שלבים (עם תמונות)
מד מגנט ארדואינו: 5 שלבים (עם תמונות)

וִידֵאוֹ: מד מגנט ארדואינו: 5 שלבים (עם תמונות)

וִידֵאוֹ: מד מגנט ארדואינו: 5 שלבים (עם תמונות)
וִידֵאוֹ: רכב היברידי - טורי ומקבילי | תחבורה מתקדמת לכיתות י,יא,יב 2024, סֶפּטֶמבֶּר
Anonim
מד מגנט ארדואינו
מד מגנט ארדואינו

מה אנחנו בונים?

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

מהו ארדואינו?

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

לפני שתתחיל במדריך זה, הורד את סביבת הפיתוח של Arduino וכן את כל הספריות הדרושות לדגם הספציפי שלך. סביבת הפיתוח זמינה בכתובת https://www.arduino.cc/en/main/software, והוראות התקנה זמינות בכתובת

מהו שדה מגנטי?

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

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

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

אנו יכולים לדמיין את השדה המגנטי במיקום יחיד כחץ. אנו יכולים לדמיין את השדה המגנטי ברחבי החלל על ידי מערך של חץ במיקומים שונים, אולי בגדלים שונים ומצביעים לכיוונים שונים. הדמיה חזקה זמינה בכתובת https://www.falstad.com/vector3dm/. המגנומטר שאנו בונים מציג את השדה המגנטי במיקום החיישנים כחץ בתצוגה.

מהו חיישן אפקט הול וכיצד הוא פועל?

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

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

תמונה
תמונה

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

תמונה
תמונה

מהי הקרנה איזומטרית?

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

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

שלב 1: אסוף חומרים מתכלים

ארדואינו וכבל

הארדואינו הוא המוח של המגנומטר. הוראות אלה מתארות כיצד להשתמש ב- Arduino Uno או ב- Arduino MKR1010. בכל מקרה, יש צורך בכבל כדי לחבר אותו למחשב.

אפשרות 1: כבל Arduino Uno ו- USB AB

www.digikey.com/product-detail/en/arduino/A000066/1050-1024-ND/2784006

www.digikey.com/product-detail/en/stewart-connector/SC-2ABE003F/380-1424-ND/8544570

אפשרות 2: Arduino MKR1010 וכבל microUSB

www.digikey.com/product-detail/en/arduino/ABX00023/1050-1162-ND/9486713

www.digikey.com/product-detail/en/stewart-connector/SC-2AMK003F/380-1431-ND/8544577

תצוגת TFT

TFT מייצג טרנזיסטור של סרט דק. הצג בגודל 1.44 אינץ 'מכיל 128 על 128 פיקסלים. הוא קטן, בהיר וצבעוני. הוא מוצמד ללוח פריצה. עם זאת, סיכות הכותרת נפרדות, כך שעליך להלחין אותן. (הלחמה ומגהץ הן נָחוּץ.)

www.digikey.com/product-detail/en/adafruit-industries-llc/2088/1528-1345-ND/5356830

    תמונה
    תמונה
  • חיישני אפקט היכל אנלוגי

נדרשים שלושה חיישני אפקט הול. הקישור להלן מיועד למספר חלק Allegro A1324LUA-T. עבור חיישן זה, סיכה 1 היא מתח האספקה, סיכה 2 היא הקרקע וסיכה 3 היא הפלט. גם חיישני הול אחרים צריכים לפעול, אך וודא שהם אנלוגיים, לא דיגיטליים. אם אתה משתמש בחיישן אחר, בדוק את הנעוץ והתאם את החיווט במידת הצורך. (למעשה השתמשתי בחיישן אחר מאותה חברה למטרות בדיקה. עם זאת, זה שהשתמשתי בו מיושן, וחיישן זה הוא החלפתו.)

www.digikey.com/product-detail/en/allegro-microsystems-llc/A1324LUA-T/620-1432-ND/2728144

לוח לחם קטן וחוט

www.digikey.com/product-detail/en/adafruit-industries-llc/239/1528-2143-ND/7244929

מגנטים קבועים לבדיקה

מגנטים למקרר יעבדו מצוין.

שלב 2: חיווט

תִיוּל
תִיוּל

הלחם את הכותרות בתצוגה.

תמונה
תמונה

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

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

תמונה
תמונה

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

עקוב אחר התרשימים וההוראות להלן עבור הארדואינו שבו אתה משתמש.

חיווט עם ה- Arduino Uno

תמונה
תמונה

לתצוגה יש 11 סיכות. חבר אותם ל- Arduino Uno כדלקמן. (NC פירושו לא מחובר).

  • וין → 5V
  • 3.3 → NC
  • Gnd → GND
  • SCK → 13
  • SO → NC
  • SI → 11
  • TCS → 10
  • RST → 9
  • D/C → 8
  • CCS → NC
  • לייט → NC

חבר את Vin של החיישנים ל- 5V של הארדואינו. חבר את קרקע החיישן לקרקע של הארדואינו. חבר את פלט החיישנים לכניסות אנלוגיות A1, A2 ו- A3 של הארדואינו.

תמונה
תמונה

חיווט עם ה- Arduino MKR1010

תמונה
תמונה

לתצוגה יש 11 סיכות. חבר אותם ל- Arduino כדלקמן. (NC פירושו לא מחובר).

  • וין → 5V
  • 3.3 → NC
  • Gnd → GND
  • SCK → SCK 9
  • SO → NC
  • SI → MOSI 8
  • TCS → 5
  • RST → 4
  • D/C → 3
  • CCS → NC
  • לייט → NC

חבר את Vin של החיישנים ל- Vcc של הארדואינו. סיכה זו היא 3.3V, לא 5V. חבר את קרקע החיישן לקרקע של הארדואינו. חבר את פלט החיישנים לכניסות אנלוגיות A1, A2 ו- A3 של הארדואינו.

תמונה
תמונה

שלב 3: בדוק את המסך

בואו לגרום לתצוגת TFT לפעול. למרבה המזל, ל- Adafruit יש כמה ספריות ידידותיות למשתמש והדרכה מצוינת ללכת איתן. הוראות אלה עוקבות מקרוב אחר ההדרכה, פתח את סביבת הפיתוח של Arduino. עבור אל כלים → נהל ספריות. התקן את ספריות Adafruit_GFX, Adafruit_ZeroDMA ו- Adafruit_ST7735. הפעל מחדש את סביבת הפיתוח של Android.

הדוגמה הגרפית ביותר כלולה בספריות. פתח את זה. קובץ → דוגמאות → ספריית Adafruit ST7735 ו- ST7789 → בדיקה גרפית. לבחירת שורת התצוגה של התצוגה בגודל 1.44 אינץ 'ושורה 98 ללא תגובה.

גרסה מקורית:

94 // השתמש באתחול זה אם אתה משתמש במסך TFT בגודל 1.8 אינץ ':

95 tft.initR (INITR_BLACKTAB); // שבב ST7735S Init, לשונית שחורה 96 97 // או השתמש באתחול זה (לא הגיב) אם אתה משתמש ב- TFT 1.44 אינץ ': 98 //tft.initR(INITR_144GREENTAB); // שבב Init ST7735R, כרטיסייה ירוקה

הגירסה הנכונה לתצוגה בגודל 1.44 אינץ ':

94 // השתמש באתחול זה אם אתה משתמש במסך TFT בגודל 1.8 אינץ ':

95 //tft.initR(INIT_BLACKTAB); // שבב Init ST7735S, כרטיסייה שחורה 96 97 // או השתמש באתחול זה (ללא תגובה) אם אתה משתמש ב- TFT 1.44 אינץ ': 98 tft.initR (INITR_144GREENTAB); // שבב Init SST35R, כרטיסייה ירוקה

התצוגה מתקשרת באמצעות SPI, ודוגמאות שונות של Arduinos משתמשות בסיכות ייעודיות שונות לקווי תקשורת מסוימים. הדוגמה הגרפית ביותר מוגדרת לעבודה עם סיכות Uno. אם אתה משתמש ב- MKR1010, הוסף את השורות הבאות בין שורות 80 ו- 81.

תיקונים עבור MKR1010:

80

#הגדר TFT_CS 5 #הגדר TFT_RST 4 #הגדר TFT_DC 3 #הגדר TFT_MOSI 8 #הגדר TFT_SCLK 9 Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_SCLK, 81 מצוף p = 3.1415926;

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

שלב 4: קוד המגנטומטר

הורד את הקוד המצורף ופתח אותו בסביבת הפיתוח של Arduino.

תוכנית זו משתמשת בשש פונקציות:

Setup () מאתחל את התצוגה

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

DrawAxes3d () מצייר ומתייג את הצירים x, y ו- z

DrawArrow3d () לוקח קלט x, y ו- z שנעה בין 0 ל- 1023. מערכים אלה הוא מחשב את נקודות הסיום של החץ בחלל. לאחר מכן הוא משתמש בפונקציות isometricxx () ו- isometricyy () לחישוב נקודות הסיום במסך. לבסוף, הוא מצייר את החץ ומדפיס את המתחים בתחתית המסך

Isometricxx () מוצא את קואורדינטת x של ההקרנה האיזומטרית. הוא לוקח את הקואורדינטות x, y ו- z של נקודה ומחזיר את המיקום x פיקסל המתאים על המסך

Isometricyy () מוצא את קואורדינטת y של ההקרנה האיזומטרית. הוא לוקח את הקואורדינטות x, y ו- z של נקודה ומחזיר את המיקום של פיקסל y על המסך

לפני הפעלת הקוד, עלינו לציין באילו סיכות להשתמש בתקשורת SPI עם הצג, ועלינו לציין את מתח המקור של החיישנים. אם אתה משתמש ב- MKR1010, הערה על שורות 92-96 כמו גם על שורה 110. לאחר מכן, לא הגיב שורות 85-89 כמו גם שורה 108. אם אתה משתמש ב- Uno, ציין את השורות 85-89 כמו גם את שורה 108 לאחר מכן, שורות 92-96 כמו גם קו 110.

העלה את הקוד, סקיצה → העלה.

אתה צריך לראות את הצירים x, y ו- z באדום. חץ ירוק עם עיגול כחול לקצה מייצג את וקטור השדה המגנטי בחיישנים. קריאות מתח מוצגות בצד שמאל למטה. ככל שאתה מקרב מגנט לחיישנים, קריאות המתח צריכות להשתנות וגודל החץ צריך לגדול.

תמונה
תמונה

שלב 5: עבודה עתידית

עבודה עתידית
עבודה עתידית

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

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

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

הפניות

מידע על ספריות הגרפיקה של Arduino Adafruit

https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview

הדמיה של שדה מגנטי

https://www.falstad.com/vector3dm/

מידע על חיישני אפקט האולם וחיישני אפקט האולם

  • https://sensing.honeywell.com/index.php?ci_id=47847
  • https://www.allegromicro.com/~/media/Files/Datasheets/A1324-5-6-Datasheet.ashx

מידע על הקרנה איזומטרית

  • https://en.wikipedia.org/wiki/3D_ פרוייקט
  • https://en.wikipedia.org/wiki/Isometric_projection

מוּמלָץ: