כיצד לחבר מד תאוצה לארדואינו

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

כיצד לחבר מד תאוצה לארדואינו
כיצד לחבר מד תאוצה לארדואינו

וִידֵאוֹ: כיצד לחבר מד תאוצה לארדואינו

וִידֵאוֹ: כיצד לחבר מד תאוצה לארדואינו
וִידֵאוֹ: How To Track Orientation with Arduino | ADXL345 Accelerometer Tutorial 2024, מאי
Anonim

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

מד תאוצה אנלוגי ADXL335
מד תאוצה אנלוגי ADXL335

נחוץ

  • - ארדואינו;
  • - מד תאוצה ADXL335;
  • - מחשב אישי עם סביבת הפיתוח של Arduino IDE.

הוראות

שלב 1

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

האיור מציג תמונות מהדרכון (https://www.analog.com/static/imported-files/data_sheets/ADXL335.pdf) עבור מד התאוצה ADXL335. מוצגים כאן צירי הקואורדינטות של רגישות מד התאוצה ביחס למיקום הגיאומטרי של גוף המכשיר בחלל, כמו גם טבלת ערכי מתח מ -3 ערוצי תאוצה בהתאם לכיוונו במרחב. הנתונים בטבלה ניתנים עבור חיישן במנוחה.

בואו נסתכל מקרוב על מה מד התאוצה מראה לנו. תן לחיישן לשכב אופקית, למשל, על שולחן. ואז ההשלכה של וקטור ההאצה תהיה שווה ל- 1 גרם לאורך ציר Z, או ל- Zout = 1 גרם. בשני הצירים האחרים יהיו אפסים: Xout = 0 ו- Yout = 0. כאשר החיישן מופנה "על גבו", הוא יופנה בכיוון ההפוך ביחס לווקטור הכבידה, כלומר. זוט = -1 גרם. באופן דומה, מדידות נלקחות על כל שלושת הצירים. ברור שניתן למקם את מד התאוצה לפי הצורך בחלל, ולכן ניקח קריאות שאינן אפס משלושת הערוצים.

אם החללית מנערת חזק לאורך ציר Z האנכי, ערך ה- Zout יהיה גדול מ- "1 גרם". התאוצה המדידה המרבית היא "3 גרם" בכל אחד מהצירים לכל כיוון (כלומר שניהם עם "פלוס" ו- "מינוס").

צירי רגישות תאוצה וטבלת ערכי פלט
צירי רגישות תאוצה וטבלת ערכי פלט

שלב 2

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

שבב מד האצה האנלוגי ADXL335 הוא די קטן ושוכן בחבילת BGA, וקשה להרכיב אותו על לוח בבית. לכן אשתמש במודול GY-61 מוכן עם מד תאוצה ADXL335. מודולים כאלה בחנויות מקוונות סיניות עולים כמעט אגורה.

להפעלת מד התאוצה, יש צורך לספק מתח +3, 3 וולט לסיכה VCC של המודול. ערוצי מדידת החיישנים מחוברים לסיכות האנלוגיות של הארדואינו, למשל, "A0", "A1" ו- " A2 ". זה כל המעגל:)

תרשים חיווט של מד תאוצה ADXL335 לארדונו
תרשים חיווט של מד תאוצה ADXL335 לארדונו

שלב 3

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

ל- Arduino יש 10 סיביות ADC, ומתח הסיכה המרבי המותר הוא 5 וולט. המתחים הנמדדים מקודדים בביטים שיכולים לקחת רק 2 ערכים - 0 או 1. המשמעות היא שכל טווח המדידה יחולק על ידי (1 + 1) לעוצמה העשירית, כלומר. על 1024 פלחים שווים.

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

בואו נראה מה באמת מגיע מד תאוצה באמצעות ציר Z כדוגמה (העמודה האחרונה). כאשר החיישן ממוקם אופקי ומסתכל למעלה, המספרים מגיעים (2.03 +/- 0.01). אז זה אמור להתאים לתאוצה "+ 1 גרם" לאורך ציר Z וזווית של 0 מעלות. הפוך את החיישן. המספרים מגיעים (1, 69 +/- 0, 01), שאמור להיות תואם "-1g" וזווית של 180 מעלות.

סקיצה לקריאת תאוצה
סקיצה לקריאת תאוצה

שלב 4

בוא ניקח את הערכים ממד התאוצה בזוויות של 90 ו -270 מעלות ונכנס לטבלה. הטבלה מציגה את זוויות הסיבוב של מד התאוצה (עמודה "A") ואת ערכי הזוט המתאימים בוולט (עמודה "B").

לשם הבהרה, מוצגת עלילת מתח ביציאת Zout לעומת זווית הסיבוב. השדה הכחול הוא הטווח במנוחה (בתאוצה של 1 גרם). התיבה הוורודה בגרף היא שוליים כך שנוכל למדוד תאוצה עד + 3 גרם ועד -3 גרם.

בסיבוב של 90 מעלות, לציר ה- Z יש תאוצה אפסית. הָהֵן. ערך של 1.67 וולט הוא אפס מותנה Zo עבור ציר Z. ואז אתה יכול למצוא את התאוצה ככה:

g = Zout - Zo / רגישות_ z, כאן Zout הוא הערך הנמדד במיליוולט, Zo הוא הערך בתאוצה אפסית במיליוולט, רגישות_z היא הרגישות של החיישן לאורך ציר Z. כיול את מד התאוצה וחשב את ערך הרגישות במיוחד עבור שלך חיישן באמצעות הנוסחה:

רגישות_ז = [Z (0 מעלות) - Z (90 מעלות)] * 1000. במקרה זה, הרגישות של מד התאוצה לאורך ציר Z = (2, 03 - 1, 68) * 1000 = 350 mV. באופן דומה, יהיה צורך לחשב את הרגישות עבור צירי ה- X וה- Y.

עמודה "C" בטבלה מציגה את התאוצה המחושבת לחמש זוויות ברגישות של 350. כפי שניתן לראות, הן כמעט חופפות את אלו המוצגות באיור 1.

התכתבות של זוויות הסיבוב של מד התאוצה לקריאות
התכתבות של זוויות הסיבוב של מד התאוצה לקריאות

שלב 5

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

angle_X = arctg [sqrt (Gz ^ 2 + Gy ^ 2) / Gx].

הערכים הם ברדיאנים. כדי להמיר אותם למעלות, חלקו לפי פי והכפלו ב- 180.

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

כאשר מוציאים ליציאת "Serial.print ()", התו "\ t" מציין תו לשונית כך שהעמודות יהיו שוות והערכים ממוקמים אחד מתחת לשני. "+" פירושו שרשור (שרשור) של מיתרים. יתר על כן, אופרטור "String ()" אומר במפורש למהדר כי יש להמיר את הערך המספרי למחרוזת. המפעיל עגול () מסובב את הפינה למעלה אחת הקרובה.

שרטוט המחשב את התאוצה והזוויות של מד התאוצה
שרטוט המחשב את התאוצה והזוויות של מד התאוצה

שלב 6

אז למדנו כיצד לקחת ולעבד נתונים ממד התאוצה האנלוגי ADXL335 באמצעות ה- Arduino. כעת אנו יכולים להשתמש במד התאוצה בעיצובים שלנו.

מוּמלָץ: