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

מדידת טמפרטורה באמצעות XinaBox ותרמיסטור: 8 שלבים
מדידת טמפרטורה באמצעות XinaBox ותרמיסטור: 8 שלבים

וִידֵאוֹ: מדידת טמפרטורה באמצעות XinaBox ותרמיסטור: 8 שלבים

וִידֵאוֹ: מדידת טמפרטורה באמצעות XinaBox ותרמיסטור: 8 שלבים
וִידֵאוֹ: Измеряем реальную температуру однозонной конвекционной печи. Эксперимент с термопарой и мультиметром 2024, נוֹבֶמבֶּר
Anonim
מדידת טמפרטורה באמצעות XinaBox ותרמיסטור
מדידת טמפרטורה באמצעות XinaBox ותרמיסטור

מדוד את הטמפרטורה של נוזל באמצעות כניסת אנלוגי xChip מ- XinaBox ובדיקת תרמיסטור.

שלב 1: דברים המשמשים בפרויקט זה

רכיבי חומרה

  • חיישן קלט אנלוגי של XinaBox SX02 x 1 xChip עם ADC
  • גרסת XinaBox CC01 x 1 xChip של Arduino Uno המבוססת על ATmega328P
  • הנגד 10k אוהם x 1 10k הנגד לרשת מחלקי מתח
  • בדיקת תרמיסטור x 1 10k ב 25 ° C בדיקת תרמיסטור עמידה למים
  • XinaBox IP01 x 1 xChip מתכנת USB מבוסס על FT232R מבית FTDI Limited
  • XinaBox OD01 x 1 xChip 128x64 פיקסל OLED תצוגה
  • מחברי אוטובוס XinaBox XC10 x 4
  • ספק כוח XinaBox PU01 x 1 xChip USB (סוג A)
  • ספק כוח USB 5V x 1 בנק כוח או דומה

אפליקציות תוכנה ושירותים מקוונים

Arduino IDE

כלי יד ומכונות ייצור

מברג שטוח כדי להדק או לשחרר מהדק מסוף בורג

שלב 2: סיפור

מבוא

רציתי למדוד את הטמפרטורה של נוזל על ידי יצירת מדחום פשוט. באמצעות XinaBox xChips יכולתי להשיג זאת בפשטות יחסית. השתמשתי בכניסת ה- XChip האנלוגית SX02 המקבלת 0 - 3.3V, ה- CC01 xChip מבוסס על ה- ATmega328P ותצוגת ה- OLD OD01 xChip כדי לצפות בתוצאות הטמפרטורה שלי.

תרמיסטור המודד טמפרטורת מים בכוס

שלב 3: הורדת קבצים הכרחיים

תזדקק לספריות ולתוכנות הבאות:

  • xSX0X- ספריית חיישן קלט אנלוגי
  • xOD01 - ספריית תצוגה של OLED
  • Arduino IDE - סביבת פיתוח

לחץ כאן כדי לראות כיצד להתקין את הספריות.

לאחר התקנת ה- Arduino IDE, פתח אותו ובחר את "Arduino Pro או Pro Mini" בתור הלוח שאליו תעלה את התוכנית שלך. וודא גם כי מעבד ATmega328P (5V, 16MHz) נבחר. ראה תמונה למטה.

בחר את לוח Arduino Pro או Pro Mini ואת מעבד ATmega328P (5V, 16MHz)

שלב 4: הרכבה

לחץ על המתכנת xChip, IP01 ו- ATmega328P מבוסס CC01 xChip יחד באמצעות מחברי אוטובוס XC10 כפי שמוצג להלן. על מנת להעלות ל- CC01 יהיה עליך למקם את המתגים במיקומי 'A' ו- 'DCE' בהתאמה.

IP01 ו- CC01 נלחצו יחד

לאחר מכן, קח את הנגד 10kΩ שלך והברג קצה אחד במסוף המסומן "IN" והקצה השני במסוף הקרקע, "GND", ב- SX02. קח את המוליכים על בדיקת התרמיסטור והברג קצה אחד ב- Vcc, "3.3V", והקצה השני במסוף "IN". עיין בגרפיקה למטה.

חיבורי SX02

כעת שלב את OD01 ו- SX02 עם CC01 פשוט לחץ עליהם יחד באמצעות חיבורי אוטובוס XC10. ראה למטה. האלמנט הכסוף בתמונה הוא בדיקת התרמיסטור.

יחידה מלאה לתכנות

שלב 5: תכנית

הכנס את היחידה ליציאת ה- USB במחשב שלך. הורד או העתק והדבק את הקוד למטה ב- Arduino IDE שלך. הידור והעלה את הקוד ללוח שלך. לאחר העלאת התוכנית שלך אמורה להתחיל לפעול. אם הבדיקה נמצאת בתנאי טמפרטורת החדר, עליך להקפיד על ± 25 ° C בתצוגת OLED כפי שמוצג להלן.

לאחר ההעלאה שימו לב לטמפרטורת החדר בתצוגת OLED

שלב 6: מדחום נייד

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

יחידה מלאה הכוללת CC01, OD01, SX02 ו- PU02.

שלב 7: סיכום

הפרויקט לקח פחות מ -10 דקות להרכבה ועוד 20 דקות לתכנות. המרכיב הפסיבי היחיד הנדרש היה נגד. XChips פשוט ללחוץ יחד מה שהופך אותו נוח מאוד.

שלב 8: קוד

ThermTemp_Display.ino תרמיסטורים של Arduino Research על מנת להבין את החישובים בקוד.

#include // כלול ספריית ליבה עבור xCHIPs

#כלול // כלול ספריית חיישן קלט אנלוגי B 3950 // פרמטר B לטרמיסטור #הגדרת החדר_טמפק 298.15 // טמפרטורת החדר בקלווין #הגדרת החדר_רס 10000 // התנגדות בטמפרטורת החדר באוהם #הגדרת vcc 3.3 // מתח אספקה xSX01 SX01 (0x55); // הגדר את מתח הצף של כתובת i2c; // משתנה המכיל את המתח הנמדד (0 - 3.3V) therm_res float; // צף התנגדות תרמיסטור act_tempK; // טמפרטורה בפועל kelvin float act_tempC; // הטמפרטורה בפועל בהתקנת החלל של צלזיוס () {// שים את קוד ההתקנה שלך כאן, להפעלה פעם אחת: // אתחול משתנים ל- 0 מתח = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // התחל תקשורת טורית Serial.begin (115200); // התחל תקשורת i2c Wire.begin (); // הפעל את חיישן הכניסה האנלוגי SX01.begin (); // הפעל את תצוגת OLED OLED.begin (); // תצוגה ברורה OD01.clear (); // עיכוב לנרמול עיכוב (1000); } לולאת חלל () {// שים את הקוד הראשי שלך כאן, להפעלה שוב ושוב: // קרא את המתח SX01.poll (); // אחסן את מתח המתח = SX01.getVoltage (); // לחשב התנגדות תרמיסטור therm_res = ((vcc * series_res) / מתח) - series_res; // לחשב את הטמפרטורה בפועל ב- kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // להמיר קלווין לצלסיוס act_tempC = act_tempK - C_Kelvin; // טמפרטורת הדפסה בתצוגת OLED // עיצוב ידני להצגה במרכז OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); עיכוב (2000); // עדכון תצוגה כל 2 שניות}

מוּמלָץ: