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

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

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

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

כאשר A, B ו- C הם קבועי התרמוסטור שנקבעים על ידי מדידת שלוש טמפרטורות בהפרש של לפחות 10 מעלות צלזיוס. במקביל, מקורות שונים מצביעים על כך שעבור תרמיסטור NTC טיפוסי של 10 kΩ הם שווים ל:


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

במקרה זה, B מצוין בטופס:

המשמעות היא שהמקדם חושב על סמך הנתונים שהתקבלו בעת מדידת ההתנגדות בטמפרטורות של 25 ו 100 מעלות צלזיוס, וזו האופציה הנפוצה ביותר. ואז זה מחושב על ידי הנוסחה:
B = (ln (R1) - ln (R2)) / (1 / T1 - 1 / T2)
להלן תרשים חיבור טיפוסי של תרמיסטור לבקר מיקרו.

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

כדי לחשב את ההתנגדות של תרמיסטור, אתה יכול להשתמש בנוסחה הבאה:
R של תרמיסטור = R1⋅ ((Vcc / Vputput) -1)
כדי לתרגם לשפה המובנת עבור arduino, עליכם לזכור שלארדואינו יש ADC של 10 סיביות, כך שהערך הדיגיטלי המרבי של אות הקלט (מתח 5V) יהיה 1023. ואז, על תנאי:
-
Dmax = 1023;
-
D הוא הערך האמיתי של האות.
ואז:
R של תרמיסטור = R1⋅ ((Dmax / D) −1)
כעת אנו משתמשים בזה כדי לחשב את ההתנגדות ואז לחשב את הטמפרטורה של התרמיסטור באמצעות משוואת הבטא בשפת תכנות לארדואינו. הסקיצה תהיה כך:

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

תרשים החיבור של חיישן ds18b20 לארדואינו נראה כך:


יש גם מצב כוח טפילי - תרשים החיבור שלו נראה כך (אתה צריך שני חוטים במקום שלושה):

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

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

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

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

תרשים החיבור די פשוט:
-
מסקנה אחת - תזונה;
-
מסקנה 2 - נתונים;
-
מסקנה 3 - לא בשימוש;
-
מסקנה 4 - החוט הכללי.
אם החיישן שלך מיוצר בצורה של מודול, יהיו לו שלוש יציאות, אך אין צורך בנגד - הוא כבר מולחם ללוח.

לצורך העבודה אנו זקוקים לספריית dht.h, היא אינה בערכה הסטנדרטית, ולכן יש להוריד אותה ולהתקין אותה בתיקיית הספריות בתיקיה עם ה- arduino IDE. זה תומך בכל החיישנים במשפחה זו:
-
DHT 11;
-
DHT 21 (AM2301);
-
DHT 22 (AM2302, AM2321).
דוגמה לשימוש בספריה:

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