Satura rādītājs:

Temperatūras mērīšana, izmantojot XinaBox un termistoru: 8 soļi
Temperatūras mērīšana, izmantojot XinaBox un termistoru: 8 soļi

Video: Temperatūras mērīšana, izmantojot XinaBox un termistoru: 8 soļi

Video: Temperatūras mērīšana, izmantojot XinaBox un termistoru: 8 soļi
Video: Измеряем реальную температуру однозонной конвекционной печи. Эксперимент с термопарой и мультиметром 2024, Novembris
Anonim
Temperatūras mērīšana, izmantojot XinaBox un termistoru
Temperatūras mērīšana, izmantojot XinaBox un termistoru

Izmēriet šķidruma temperatūru, izmantojot XinaBox analogo ieeju xChip un termistoru zondi.

1. darbība. Šajā projektā izmantotās lietas

Aparatūras komponenti

  • XinaBox SX02 x 1 xChip analogās ievades sensors ar ADC
  • XinaBox CC01 x 1 xChip Arduino Uno versija, kuras pamatā ir ATmega328P
  • Rezistors 10k omi x 1 10k rezistors sprieguma dalītāju tīklam
  • Termistoru zonde x 1 10k pie 25 ° C NTC ūdensnecaurlaidīga termistora zonde
  • XinaBox IP01 x 1 xChip USB programmētājs, kura pamatā ir FTDI Limited FT232R
  • XinaBox OD01 x 1 xChip 128x64 pikseļu OLED displejs
  • XinaBox XC10 x 4 xChip kopņu savienotāji
  • XinaBox PU01 x 1 xChip USB (A tips) barošanas avots
  • 5 V USB barošanas avots x 1 barošanas bloks vai līdzīga ierīce

Programmatūras lietotnes un tiešsaistes pakalpojumi

Arduino IDE

Rokas instrumenti un izgatavošanas mašīnas

Plakangalvas skrūvgriezis Lai pievilktu vai atskrūvētu skrūves spailes skavu

2. darbība: stāsts

Ievads

Es gribēju izmērīt šķidruma temperatūru, izveidojot vienkāršu termometru. Izmantojot XinaBox xChips, es to varētu paveikt ar relatīvu vienkāršību. Es izmantoju SX02 analogo ieeju xChip, kas pieņem 0 - 3.3V, CC01 xChip, pamatojoties uz ATmega328P, un OD01 OLED displeju xChip, lai skatītu savus temperatūras rezultātus.

Termistors mēra ūdens temperatūru glāzē

3. darbība: lejupielādējiet nepieciešamos failus

Jums būs nepieciešamas šādas bibliotēkas un programmatūra:

  • xSX0X- Analogās ievades sensoru bibliotēka
  • xOD01 - OLED displeja bibliotēka
  • Arduino IDE - Attīstības vide

Noklikšķiniet šeit, lai uzzinātu, kā instalēt bibliotēkas.

Kad esat instalējis Arduino IDE, atveriet to un atlasiet “Arduino Pro vai Pro Mini” kā dēli, kurā augšupielādēt savu programmu. Pārliecinieties arī, vai ir izvēlēts ATmega328P (5V, 16MHz) procesors. Skatiet attēlu zemāk.

Izvēlieties Arduino Pro vai Pro Mini plati un ATmega328P (5V, 16MHz) procesoru

4. solis: salieciet

Noklikšķiniet uz programmētāja xChip, IP01 un uz ATmega328P bāzes CC01 xChip kopā, izmantojot XC10 kopnes savienotājus, kā parādīts zemāk. Lai augšupielādētu CC01, slēdži jānovieto attiecīgi pozīcijās "A" un "DCE".

IP01 un CC01 noklikšķināja kopā

Pēc tam paņemiet savu 10 kΩ rezistoru un ieskrūvējiet vienu galu SX02 terminālī, kas apzīmēts ar "IN", bet otru galu zemējuma terminālī "GND". Paņemiet termistora zondes vadus un vienu galu ieskrūvējiet Vcc, "3.3V", bet otru galu - "IN" spailē. Skatiet grafiku zemāk.

SX02 savienojumi

Tagad apvienojiet OD01 un SX02 ar CC01, vienkārši noklikšķinot tos kopā, izmantojot XC10 kopnes savienojumus. Skatīt zemāk. Sudraba elements attēlā ir termistora zonde.

Pilnīga vienība programmēšanai

5. solis: programma

Ievietojiet ierīci datora USB portā. Lejupielādējiet vai kopējiet un ielīmējiet zemāk esošo kodu savā Arduino IDE. Apkopojiet un augšupielādējiet kodu savā panelī. Pēc augšupielādes jūsu programmai vajadzētu sākt darboties. Ja zonde atrodas istabas temperatūras apstākļos, OLED displejā jāievēro ± 25 ° C, kā parādīts zemāk.

Pēc augšupielādes novērojiet istabas temperatūru OLED displejā

6. solis: pārnēsājamais termometrs

Izņemiet ierīci no datora. Izjauciet ierīci un salieciet to vēlreiz, izmantojot PU01, nevis IP01. Tagad paņemiet 5V USB portatīvo barošanas avotu, piemēram, strāvas banku vai tamlīdzīgu, un ievietojiet tajā jauno komplektu. Tagad jums ir savs vēss pārnēsājams termometrs ar labu precizitāti. Skatiet vāka attēlu, lai redzētu, kā tas darbojas. Es mērīju karstu ūdeni glāzē. Zemāk redzamajos attēlos redzama visa jūsu iekārta.

Pilnīga vienība, kas sastāv no CC01, OD01, SX02 un PU02.

7. solis. Secinājums

Šī projekta montāža aizņēma mazāk nekā 10 minūtes, bet vēl 20 minūtes. vienīgā nepieciešamā pasīvā sastāvdaļa bija rezistors. XChips vienkārši noklikšķina kopā, padarot to ļoti ērtu.

8. darbība: kods

ThermTemp_Display.ino Arduino Izpētiet termistorus, lai saprastu koda aprēķinus.

#include // iekļaut xCHIP galveno bibliotēku

#iekļaut // iekļaut analogo ievades sensoru bibliotēku #iekļaut // iekļaut OLED displeja bibliotēku #iekļaut // iekļaut matemātikas funkcijas #definēt C_Kelvin 273.15 // konversijai no kelvina uz celsiju #define series_res 10000 // sērijas rezistora vērtība omos #define B 3950 // B parametrs termistoram #define room_tempK 298.15 // istabas temperatūra kelvinos #define room_res 10000 // pretestība istabas temperatūrā omos #define vcc 3.3 // barošanas spriegums xSX01 SX01 (0x55); // iestatiet i2c adreses pludiņa spriegumu; // mainīgais, kas satur izmērīto spriegumu (0 - 3,3 V), peldošie termoreži; // termistora pretestības pludiņš act_tempK; // faktiskā temperatūra kelvina pludiņš act_tempC; // faktiskā temperatūra celsius void setup () {// ievietojiet šeit savu iestatīšanas kodu, lai palaistu vienu reizi: // inicializējiet mainīgos līdz 0 spriegumam = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // sākt seriālo komunikāciju Serial.begin (115200); // sākt i2c komunikāciju Wire.begin (); // startējiet analogās ievades sensoru SX01.begin (); // sākt OLED displeju OLED.begin (); // notīrīt displeju OD01.clear (); // kavēšanās, lai normalizētu kavēšanos (1000); } void loop () {// ielieciet šeit savu galveno kodu, lai palaistu atkārtoti: // izlasiet spriegumu SX01.poll (); // uzglabāt svārstību spriegumu = SX01.getVoltage (); // aprēķināt termistora pretestību therm_res = (((vcc * series_res) / spriegums) - series_res; // aprēķināt faktisko temperatūru kelvinos act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // pārvērst Kelvinu par Celsiju act_tempC = act_tempK - C_Kelvin; // drukāšanas temperatūra OLED displejā // manuāla formatēšana, lai parādītu centrā OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); kavēšanās (2000); // atjaunināt displeju ik pēc 2 sekundēm}

Ieteicams: