טסמיסטור: כל מה שאתה צריך לדעת כדי למדוד את הטמפרטורה בפרויקטים שלך

תרמיסטור

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

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

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

  • LM35: חיישן טמפרטורה ולחות.
  • DS18B20: חיישן טמפרטורה לנוזלים.
  • DHT22: חיישן טמפרטורה ולחות מדויק.
  • DHT11: חיישן טמפרטורה ולחות זול.

מבוא לתרמיסטור

סמל תרמיסטור

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

סוגים

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

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

גרף של עקומת ההתנגדות ביחס לטמפרטורה של NTC

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

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

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

שילוב עם ארדואינו

סכמטי Arduino עם תרמיסטור

כדי לשלב תרמיסטור עם לוח הארדואינו שלך, החיבור לא יכול להיות קל יותר. יש צורך רק להתאים את התיאוריה ואת החישובים לקוד שעליך ליצור ב- Arduino IDE שלך. במקרה שלנו, הנחתי כי השימוש בתרמיסטור NTC, במיוחד במודל MF52. במקרה של שימוש במודל תרמיסטור אחר, עליך לשנות את הערכים A, B ו- C כדי להתאים אותם בהתאם למשוואת שטיינהרט-הארט:

משוואת מודל שטיינהרט-הארט

להיות T הטמפרטורה הנמדדת, T0 הוא ערך הטמפרטורה הסביבתי (אתה יכול לכייל אותו כפי שאתה מעוניין, כגון 25 ° C), R0 יהיה ערך ההתנגדות של תרמיסטור ה- NTC (במקרה שלנו זה המסופק על ידי גליון הנתונים MF52, ואתה לא צריך לבלבל את זה עם ההתנגדות שהוספתי למעגל), ואת המקדם B או בטא ניתן למצוא בגיליון הטכני של היצרן.

El צופן לכן זה יהיה כך:

#include <math.h>
 
const int Rc = 10000; //Valor de la resistencia del termistor MF52
const int Vcc = 5;
const int SensorPIN = A0;

//Valores calculados para este modelo con Steinhart-Hart
float A = 1.11492089e-3;
float B = 2.372075385e-4;
float C = 6.954079529e-8;
 
float K = 2.5; //Factor de disipacion en mW/C
 
void setup()
{
  Serial.begin(9600);
}
 
void loop() 
{
  float raw = analogRead(SensorPIN);
  float V =  raw / 1024 * Vcc;
 
  float R = (Rc * V ) / (Vcc - V);
  
 
  float logR  = log(R);
  float R_th = 1.0 / (A + B * logR + C * logR * logR * logR );
 
  float kelvin = R_th - V*V/(K * R)*1000;
  float celsius = kelvin - 273.15;
 
  Serial.print("Temperatura = ");
  Serial.print(celsius);
  Serial.print("ºC\n");
  delay(3000);
}

אני מקווה שמדריך זה עזר לך ...