Innehållsförteckning:

Temperaturmätning med hjälp av XinaBox och en termistor: 8 steg
Temperaturmätning med hjälp av XinaBox och en termistor: 8 steg

Video: Temperaturmätning med hjälp av XinaBox och en termistor: 8 steg

Video: Temperaturmätning med hjälp av XinaBox och en termistor: 8 steg
Video: Observation - Temperaturmätning 2024, Juli
Anonim
Temperaturmätning med hjälp av XinaBox och en termistor
Temperaturmätning med hjälp av XinaBox och en termistor

Mät temperaturen på en vätska med en analog ingång xChip från XinaBox och en termistorsond.

Steg 1: Saker som används i detta projekt

Hårdvarukomponenter

  • XinaBox SX02 x 1 xChip analog ingångssensor med ADC
  • XinaBox CC01 x 1 xChip -version av Arduino Uno baserad på ATmega328P
  • Motstånd 10k ohm x 1 10k motstånd för spänningsdelare nätverk
  • Termistorsond x 1 10k vid 25 ° C NTC vattentät termistorsond
  • XinaBox IP01 x 1 xChip USB -programmerare baserad på FT232R från FTDI Limited
  • XinaBox OD01 x 1 xChip 128x64 pixel OLED -skärm
  • XinaBox XC10 x 4 xChip -busskontakter
  • XinaBox PU01 x 1 xChip USB (typ A) strömförsörjning
  • 5V USB Power Supply x 1 Power Bank eller liknande

Programvaruappar och onlinetjänster

Arduino IDE

Handverktyg och tillverkningsmaskiner

Flatskruvmejsel För att dra åt eller lossa skruvklämman

Steg 2: Berättelse

Introduktion

Jag ville mäta temperaturen på en vätska genom att skapa en enkel termometer. Genom att använda XinaBox xChips kunde jag åstadkomma detta med relativt enkelhet. Jag använde SX02 analog ingång xChip som accepterar 0 - 3.3V, CC01 xChip baserat på ATmega328P och OD01 OLED -skärmen xChip för att se mina temperaturresultat.

Termistor som mäter temperaturen på vatten i ett glas

Steg 3: Ladda ner nödvändiga filer

Du behöver följande bibliotek och programvara:

  • xSX0X- Analog ingångssensorbibliotek
  • xOD01 - OLED -skärmbibliotek
  • Arduino IDE - Utvecklingsmiljö

Klicka här för att se hur du installerar biblioteken.

När du har installerat Arduino IDE, öppna den och välj "Arduino Pro eller Pro Mini" som kortet att ladda upp ditt program till. Se också till att ATmega328P (5V, 16MHz) -processorn är vald. Se bilden nedan.

Välj Arduino Pro eller Pro Mini -kortet och ATmega328P (5V, 16MHz) -processorn

Steg 4: Montera

Klicka på programmeraren xChip, IP01 och ATmega328P -baserade CC01 xChip tillsammans med XC10 -busskontakter enligt nedan. För att ladda upp till CC01 måste du placera omkopplarna i positionerna 'A' respektive 'DCE'.

IP01 och CC01 klickade ihop

Ta sedan ditt 10kΩ -motstånd och skruva ena änden i terminalen märkt "IN" och den andra änden i jordterminalen, "GND", på SX02. Ta ledningarna på termistorsonden och skruva fast ena änden i Vcc, "3.3V", och den andra änden i "IN" -uttaget. Se grafiken nedan.

SX02 -anslutningar

Kombinera nu OD01 och SX02 med CC01 genom att helt enkelt klicka på dem tillsammans med XC10 -bussanslutningar. Se nedan. Silverelementet i bilden är termistorsonden.

Komplett enhet för programmering

Steg 5: Program

Sätt in enheten i USB -porten på din dator. Ladda ner eller kopiera och klistra in koden nedan i din Arduino IDE. Kompilera och ladda upp koden till ditt kort. När programmet har laddats upp bör det börja köras. Om sonden har rumstemperatur bör du observera ± 25 ° C på OLED -displayen enligt nedan.

Efter uppladdning observera rumstemperaturen på OLED -displayen

Steg 6: Bärbar termometer

Ta bort enheten från din dator. Demontera enheten och sätt ihop den igen med PU01 istället för IP01. Ta nu din 5V bärbara USB -strömförsörjning, t.ex. en powerbank eller liknande, och sätt in den nya enheten i den. Du har nu din egen coola bärbara termometer med god noggrannhet. Se omslagsbilden för att se den i drift. Jag mätte varmt vatten i ett glas. Bilderna nedan visar din kompletta enhet.

Komplett enhet bestående av CC01, OD01, SX02 och PU02.

Steg 7: Slutsats

Detta projekt tog under 10 minuter att montera och ytterligare 20 minuter att programmera. den enda passiva komponenten som krävdes var ett motstånd. XChips klickar bara ihop vilket gör det väldigt bekvämt.

Steg 8: Kod

ThermTemp_Display.ino Arduino Research termistorer för att förstå beräkningarna i koden.

#include // inkluderar kärnbibliotek för xCHIP

#inkludera // inkludera analogt ingångssensorbibliotek #inkludera // inkludera OLED -bildskärmsbibliotek #inkludera // inkludera matematiska funktioner B 3950 // B parameter för termistor #definiera rum_tempK 298,15 // rumstemperatur i kelvin #definiera rum_res 10000 // motstånd vid rumstemperatur i ohm #definiera vcc 3.3 // matningsspänning xSX01 SX01 (0x55); // ställ in i2c -adressens flottörspänning; // variabel som innehåller den uppmätta spänningen (0 - 3.3V) float term_res; // termistormotståndsflottan act_tempK; // faktisk temperatur kelvin float act_tempC; // faktisk temperatur i celsius void setup () {// lägg din installationskod här, för att köra en gång: // initialisera variabler till 0 spänning = 0; term_res = 0; act_tempK = 0; act_tempC = 0; // starta seriell kommunikation Serial.begin (115200); // starta i2c -kommunikation Wire.begin (); // starta den analoga ingångssensorn SX01.begin (); // starta OLED -skärmen OLED.begin (); // tydlig display OD01.clear (); // fördröjning för att normalisera fördröjning (1000); } void loop () {// lägg din huvudkod här för att köra upprepade gånger: // läs spänningen SX01.poll (); // lagra volatgespänningen = SX01.getVoltage (); // beräkna termistorresistans therm_res = ((vcc * series_res) / spänning) - series_res; // beräkna den faktiska temperaturen i kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // konvertera kelvin till celsius act_tempC = act_tempK - C_Kelvin; // utskriftstemperatur på OLED -skärm // manuell formatering för visning i mitten OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); fördröjning (2000); // uppdatera display varannan sekund}

Rekommenderad: