Indholdsfortegnelse:

Temperaturmåling ved hjælp af XinaBox og en termistor: 8 trin
Temperaturmåling ved hjælp af XinaBox og en termistor: 8 trin

Video: Temperaturmåling ved hjælp af XinaBox og en termistor: 8 trin

Video: Temperaturmåling ved hjælp af XinaBox og en termistor: 8 trin
Video: Lær at mestre dit stofskifte ved hjælp af naturlige behandlinger 2024, Juli
Anonim
Temperaturmåling ved hjælp af XinaBox og en termistor
Temperaturmåling ved hjælp af XinaBox og en termistor

Mål temperaturen på en væske ved hjælp af en analog indgang xChip fra XinaBox og en termistorsonde.

Trin 1: Ting, der bruges i dette projekt

Hardware komponenter

  • XinaBox SX02 x 1 xChip analog indgangssensor med ADC
  • XinaBox CC01 x 1 xChip -version af Arduino Uno baseret på ATmega328P
  • Modstand 10k ohm x 1 10k modstand til spændingsdeler netværk
  • Thermistor Probe x 1 10k ved 25 ° C NTC vandtæt termistorsonde
  • XinaBox IP01 x 1 xChip USB Programmerer baseret på FT232R fra FTDI Limited
  • XinaBox OD01 x 1 xChip 128x64 Pixel OLED -skærm
  • XinaBox XC10 x 4 xChip busstik
  • XinaBox PU01 x 1 xChip USB (type A) strømforsyning
  • 5V USB strømforsyning x 1 Power Bank eller lignende

Software -apps og onlinetjenester

Arduino IDE

Håndværktøj og fabrikationsmaskiner

Fladskruetrækker For at stramme eller løsne skrueklemmen

Trin 2: Historie

Introduktion

Jeg ville måle temperaturen på en væske ved at oprette et simpelt termometer. Ved at bruge XinaBox xChips kunne jeg opnå dette med relativ enkelhed. Jeg brugte SX02 analoge input xChip, der accepterer 0 - 3.3V, CC01 xChip baseret på ATmega328P og OD01 OLED display xChip for at se mine temperaturresultater.

Termistor, der måler vandets temperatur i et glas

Trin 3: Download nødvendige filer

Du skal bruge følgende biblioteker og software:

  • xSX0X- Analog input sensor bibliotek
  • xOD01 - OLED -displaybibliotek
  • Arduino IDE - Udviklingsmiljø

Klik her for at se, hvordan du installerer bibliotekerne.

Når du har installeret Arduino IDE, skal du åbne den og vælge "Arduino Pro eller Pro Mini" som tavlen at uploade dit program til. Sørg også for, at ATmega328P (5V, 16MHz) processor er valgt. Se billedet herunder.

Vælg Arduino Pro eller Pro Mini -kortet og ATmega328P (5V, 16MHz) processor

Trin 4: Saml

Klik på programmereren xChip, IP01 og det ATmega328P -baserede CC01 xChip sammen ved hjælp af XC10 -busstik som vist nedenfor. For at uploade til CC01 skal du placere switchene i henholdsvis 'A' og 'DCE' positionerne.

IP01 og CC01 klikket sammen

Tag derefter din 10kΩ modstand og skru den ene ende i terminalen mærket "IN" og den anden ende i jordterminalen, "GND", på SX02. Tag ledningerne på termistorsonden og skru den ene ende i Vcc, "3.3V", og den anden ende i "IN" terminalen. Se grafikken herunder.

SX02 forbindelser

Kombiner nu OD01 og SX02 med CC01 ved blot at klikke dem sammen ved hjælp af XC10 -busforbindelser. Se nedenunder. Sølvelementet på billedet er termistorsonden.

Komplet enhed til programmering

Trin 5: Programmer

Sæt enheden i USB -porten på din computer. Download eller kopier og indsæt nedenstående kode i din Arduino IDE. Kompilér og upload koden til dit board. Når programmet er uploadet, skal programmet begynde at køre. Hvis sonden er ved stuetemperatur, skal du observere ± 25 ° C på OLED -displayet som vist nedenfor.

Efter upload skal du observere stuetemperaturen på OLED -displayet

Trin 6: Bærbart termometer

Fjern enheden fra din computer. Adskil enheden, og saml den igen ved hjælp af PU01 i stedet for IP01. Tag nu din bærbare 5V USB -strømforsyning, f.eks. En powerbank eller lignende, og sæt den nye samling i den. Du har nu dit eget seje, bærbare termometer med god nøjagtighed. Se omslagsbilledet for at se det i drift. Jeg målte varmt vand i et glas. Nedenstående billeder viser din komplette enhed.

Komplet enhed bestående af CC01, OD01, SX02 og PU02.

Trin 7: Konklusion

Dette projekt tog under 10 minutter at samle og yderligere 20 minutter at programmere. den eneste nødvendige passive komponent var en modstand. XChips klikker bare sammen, hvilket gør det meget bekvemt.

Trin 8: Kode

ThermTemp_Display.ino Arduino Research termistorer for at forstå beregningerne i koden.

#include // inkluderer kernebibliotek til xCHIP'er

#include // inkludere analog input sensor -bibliotek #include // include OLED -displaybibliotek #include // inkludere matematiske funktioner #definere C_Kelvin 273.15 // for konvertering fra kelvin til celsius #define series_res 10000 // værdi af seriemodstand i ohm #define B 3950 // B parameter for termistor #defineret rum_tempK 298,15 // stuetemperatur i kelvin #definer værelse_res 10000 // modstand ved stuetemperatur i ohm #definer vcc 3.3 // forsyningsspænding xSX01 SX01 (0x55); // indstil i2c -adressen flydespænding; // variabel indeholdende den målte spænding (0 - 3.3V) float term_res; // termistor modstand float act_tempK; // faktisk temperatur kelvin float act_tempC; // faktisk temperatur i celsius tomrumsopsætning () {// sæt din opsætningskode her for at køre en gang: // initialisere variabler til 0 spænding = 0; term_res = 0; act_tempK = 0; act_tempC = 0; // start seriel kommunikation Serial.begin (115200); // start i2c -kommunikation Wire.begin (); // start den analoge indgangssensor SX01.begin (); // start OLED -skærm OLED.begin (); // klart display OD01.clear (); // forsinkelse for at normalisere forsinkelse (1000); } void loop () {// sæt din hovedkode her for at køre gentagne gange: // læs spændingen SX01.poll (); // gemme spændingsspændingen = SX01.getVoltage (); // beregne termistorresistens therm_res = ((vcc * series_res) / spænding) - series_res; // beregne den faktiske temperatur i kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // konverter kelvin til celsius act_tempC = act_tempK - C_Kelvin; // udskrivningstemperatur på OLED -display // manuel formatering til visning i midten OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); forsinkelse (2000); // opdater visning hvert 2. sekund}

Anbefalede: