קטגוריות: מעגלי מיקרו-בקר
מספר צפיות: 18998
הערות לכתבה: 0

חיבור חיישנים אנלוגיים לארדואינו, חיישני קריאה

 

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


על חיישנים

בהתאם, החיישנים מחולקים לשתי קבוצות:

1. דיגיטלי.

2. אנלוגי.

לקריאת ערכים דיגיטליים, במקרה שלנו, ניתן להשתמש בכניסות דיגיטליות ואנלוגיות של בקר המיקרו אבר במועצת ארדואינו. חייבים לחבר חיישנים אנלוגיים באמצעות ממיר אנלוגי-לדיגיטלי (ADC). ATMEGA328, זה המותקן ברוב לוחות ARDUINO (עוד על כך יש מאמר באתר), מכיל במעגל ה- ADC המובנה שלו. ניתן לבחור מבין 6 כניסות אנלוגיות.

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

חיבור חיישנים אנלוגיים לארדואינו, קריאת קריאות חיישנים

סכימה כללית של חיישנים אנלוגיים והקשר שלהם

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

סכימה כללית של חיישנים אנלוגיים והקשר שלהם

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

תרשים חיווט לחיישנים אנלוגיים

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

מחיצת התנגדות קלאסית

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

קשרי ערכה ועיצוב לקביעת ערך המתח בזרוע התחתונה

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

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

תרשים החיבור הפשוט ביותר עבור תרמיסטור

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

פוטורסיסטור

האיור מראה את הקשר של הפוטורסיסטור לארדואינו.

מערך החיבור של הפוטורסיסטור לארדואינו

חלק תוכנה

לפני שדיברתי על חיבור חיישנים ספציפיים, החלטתי לשקול תוכנה לעיבודם. כל האותות האנלוגיים נקראים מאותן יציאות באמצעות הפקודה analogRead ().ראוי לציין כי ל- Arduino UNO ודגמים אחרים עם אטמגה 168 ו- 328 יש ADC של 10 סיביות. המשמעות היא שבקר המיקרו רואה את אות הקלט כמספר בין 0 ל 1023 - בסך הכל 1024 ערכים. אם אתה מחשיב שמתח האספקה ​​הוא 5 וולט, אז הרגישות לקלט:

5/1024 = 0.0048 V או 4.8 mV

כלומר, עם ערך 0 בכניסה, המתח הוא 0, ועם ערך 10 בכניסה - 48 mV.

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

  • מספר נמוך - נמוך יותר לפני המרה לפי פונקציה;

  • vch - עליון;

  • VCh - המספר התחתון לאחר העיבוד על ידי הפונקציה (בפלט);

  • VHV - למעלה.

יישום מעשי להמרת פונקציה לערך קלט לשידור ל- PWM (הערך המקסימלי הוא 255, להמרת נתונים מ- ADC לפלט PWM, 1024 מחולק ב- 4):

אפשרות 1 - חלוקה.

int x;

x = analogRead (סיר) / 4;

// יתקבל מספר בין 0 ל- 1023

// חלק אותו ב -4, נקבל מספר שלם מ- 0 ל- 255 analogWrite (led, x);

אפשרות 2 - פונקציית ה- MAP - פותחת יותר הזדמנויות, אך יותר מכך בהמשך.

לולאה חלילה ()

{int val = analogRead (0);

val = מפה (val, 0, 1023, 0, 255);

analogWrite (led, val); }

או אפילו קצר יותר:

analogWrite (הוביל, מפה (val, 0, 1023, 0, 255))

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


חיישנים אנלוגיים פופולריים

תצוגה כללית של החיישן עבור arduino והחיבור שלו מוצגת להלן:

כיצד לחבר חיישן אנלוגי

בדרך כלל יש שלוש תפוקות, יכול להיות שיש רביעית - דיגיטלית, אבל אלה תכונות.

הסבר על ייעוד תפוקות חיישן אנלוגי:

  • G - מינוס כוח, אוטובוס משותף, קרקע. יכול להיות מוגדר כ- GND, "-";

  • V - פלוס כוח. ניתן לציין Vcc, Vtg, "+";

  • S - אות פלט, סימון אפשרי - Out, SGN, Vout, sign.

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

חיישן אנלוגי ב- TMP36

הדיוק של החיישן הוא בין 0.5 ל -2 מעלות. בנוי על שבב TMP36, כמו רבים מהאנלוגים שלו, ערכי הפלט שלו הם 10 mV / ° C. ב- 0 °, אות הפלט הוא 0 וולט ואז מתווסף 10 mV לכל מעלה. כלומר, ב 25.5 מעלות המתח הוא 0.255 וולט, סטייה אפשרית בתוך השגיאה והחימום העצמי של גביש ה- IC (עד 0.1 מעלות צלזיוס).


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

טווחי טמפרטורה ומתחי יציאה של חיישן

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

קודים לעבודה עם מרבית החיישנים הם די נפלאים, אז לא אתן לכולם, ניתן למצוא אותם בקלות ברשת על ידי הבקשה "חיישן + שם Arduino".

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

חיישן קו

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

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

אני אוסיף עם חיישן סמוך - חיישן מרחק מ- Sharp, משמש גם ברובוטיקה, כמו גם בתנאים של ניטור מיקום האובייקטים בחלל (עם שגיאת TX המתאימה).

חיישן מרחק חד

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


מסקנה

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

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

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

ראו גם באתר שלנו:חיבור מכשירים חיצוניים לארדואינו

ראה גם באתר elektrohomepro.com:

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

  •