Tartalomjegyzék:

Hőmérsékletmérés XinaBox és termisztor használatával: 8 lépés
Hőmérsékletmérés XinaBox és termisztor használatával: 8 lépés

Videó: Hőmérsékletmérés XinaBox és termisztor használatával: 8 lépés

Videó: Hőmérsékletmérés XinaBox és termisztor használatával: 8 lépés
Videó: A hőmérő működése 2024, December
Anonim
Hőmérsékletmérés XinaBox és termisztor segítségével
Hőmérsékletmérés XinaBox és termisztor segítségével

Mérje meg a folyadék hőmérsékletét a XinaBox analóg xChip bemenetével és egy termisztoros szondával.

1. lépés: A projektben használt dolgok

Hardver alkatrészek

  • XinaBox SX02 x 1 xChip analóg bemeneti érzékelő ADC -vel
  • XinaBox CC01 x 1 xChip verziója Arduino Uno ATmega328P alapú
  • Ellenállás 10k ohm x 1 10k ellenállás feszültségosztó hálózathoz
  • Termisztor szonda x 1 10k 25 ° C -on NTC vízálló termisztor szonda
  • XinaBox IP01 x 1 xChip USB programozó az FT232R alapján az FTDI Limited -től
  • XinaBox OD01 x 1 xChip 128x64 Pixel OLED kijelző
  • XinaBox XC10 x 4 xChip buszcsatlakozók
  • XinaBox PU01 x 1 xChip USB (A típusú) tápegység
  • 5V USB tápegység x 1 Power Bank vagy hasonló

Szoftveralkalmazások és online szolgáltatások

Arduino IDE

Kéziszerszámok és gépek

Laposfejű csavarhúzó A csavaros szorítóbilincs meghúzásához vagy meglazításához

2. lépés: Történet

Bevezetés

Egy folyadék hőmérsékletét akartam mérni egy egyszerű hőmérő létrehozásával. A XinaBox xChips használatával ezt viszonylag egyszerűen meg tudtam valósítani. Az SX02 analóg xChip bemenetet használtam, amely 0 - 3,3 V -ot fogad, az CCmega xChip az ATmega328P -n alapul, és az OD01 OLED kijelző xChip -et a hőmérsékleti eredményeim megtekintéséhez.

A termisztor méri a víz hőmérsékletét egy pohárban

3. lépés: Töltse le a szükséges fájlokat

A következő könyvtárakra és szoftverekre lesz szüksége:

  • xSX0X- Analóg bemeneti érzékelő könyvtár
  • xOD01 - OLED kijelzőkönyvtár
  • Arduino IDE - Fejlesztési környezet

Kattintson ide a könyvtárak telepítésének megtekintéséhez.

Miután telepítette az Arduino IDE -t, nyissa meg, és válassza ki az "Arduino Pro vagy Pro Mini" táblát a program feltöltéséhez. Győződjön meg arról is, hogy az ATmega328P (5V, 16MHz) processzor van kiválasztva. Lásd az alábbi képet.

Válassza ki az Arduino Pro vagy Pro Mini kártyát és az ATmega328P (5V, 16MHz) processzort

4. lépés: Szerelje össze

Kattintson az XChip, IP01 programozó és az ATmega328P alapú CC01 xChip programozóra az XC10 buszcsatlakozók segítségével, az alábbiak szerint. A CC01 -re való feltöltéshez a kapcsolókat „A” és „DCE” pozícióba kell helyezni.

Az IP01 és a CC01 összekapcsolt

Ezután vegye le a 10 kΩ -os ellenállást, és csavarja be az egyik végét az SX02 „IN” jelű csatlakozójába, a másik végét pedig a „GND” földelőcsatlakozóba. Fogja meg a vezetékeket a termisztoros szondán, és csavarja az egyik végét Vcc, "3.3V", a másik végét pedig az "IN" csatlakozóba. Lásd az alábbi grafikát.

SX02 csatlakozások

Most kombinálja az OD01 -et és az SX02 -t a CC01 -gyel, egyszerűen kattintson rájuk az XC10 buszcsatlakozók használatával. Lásd lejjebb. A kép ezüst eleme a termisztoros szonda.

Teljes egység programozáshoz

5. lépés: Programozás

Csatlakoztassa a készüléket a számítógép USB -portjához. Töltse le vagy másolja be és illessze be az alábbi kódot az Arduino IDE -be. Fordítsa össze és töltse fel a kódot a táblára. A feltöltés után a programnak futnia kell. Ha a szonda szobahőmérsékletű, akkor az OLED kijelzőn ± 25 ° C -ot kell követnie, az alábbiak szerint.

A feltöltés után figyelje meg a szobahőmérsékletet az OLED kijelzőn

6. lépés: Hordozható hőmérő

Távolítsa el az egységet a számítógépről. Szerelje szét az egységet, és szerelje össze újra az IP01 helyett PU01 használatával. Most vegye elő az 5 V -os USB hordozható tápegységet, például egy tápegységet vagy hasonlót, és helyezze be az új szerelvényt. Most már rendelkezik saját, hűvös, hordozható hőmérővel, jó pontossággal. Lásd a borító képét, hogy lássa, hogyan működik. Forró vizet mértem egy pohárban. Az alábbi képeken a teljes egység látható.

Komplett egység, amely CC01, OD01, SX02 és PU02 elemeket tartalmaz.

7. lépés: Következtetés

A projekt összeszerelése kevesebb mint 10 percet, a programozás pedig további 20 percet vett igénybe. az egyetlen szükséges passzív komponens egy ellenállás volt. Az xChips csak összeilleszkedik, így nagyon kényelmes.

8. lépés: Kód

ThermTemp_Display.ino Arduino A termisztorok kutatása a kódban található számítások megértése érdekében.

#include // tartalmazza az xCHIP -k alapkönyvtárát

#include // tartalmazza az analóg bemeneti érzékelő könyvtárat #include // tartalmazza az OLED kijelzőkönyvtárat #include // tartalmazza a matematikai függvényeket #define C_Kelvin 273.15 // kelvinből Celsius -ba konvertáláshoz #define series_res 10000 // soros ellenállás értéke ohmban #define B 3950 // B paraméter a termisztorhoz #define room_tempK 298,15 // szobahőmérséklet kelvinben #define room_res 10000 // ellenállás szobahőmérsékleten ohmban #define vcc 3.3 // tápfeszültség xSX01 SX01 (0x55); // állítsa be az i2c cím úszó feszültségét; // változó, amely tartalmazza a mért feszültséget (0 - 3.3V) float therm_res; // termisztor ellenállás float act_tempK; // tényleges hőmérséklet kelvin float act_tempC; // tényleges hőmérséklet Celsius void setup () {// Ide kell tenni a beállítási kódot, hogy egyszer lefusson: // inicializálja a változókat 0 feszültségre = 0; therm_res = 0; act_tempK = 0; aktus_tempC = 0; // soros kommunikáció indítása Serial.begin (115200); // indítsa el az i2c kommunikációt Wire.begin (); // indítsa el az analóg bemeneti érzékelőt SX01.begin (); // OLED kijelző indítása OLED.begin (); // kijelző törlése OD01.clear (); // késleltetés a késleltetés normalizálására (1000); } void loop () {// tegye ide a fő kódot az ismételt futtatáshoz: // olvassa el a feszültséget SX01.poll (); // tárolja az áramlási feszültséget = SX01.getVoltage (); // termisztor ellenállás kiszámítása therm_res = ((vcc * sorozat_res) / feszültség) - sorozat_res; // a tényleges hőmérséklet kiszámítása kelvinben act_tempK = (szoba_hőmérséklet * B) / (B + szobahőmérséklet * napló (hőmérsékleti / szoba_res)); // konvertálja a kelvint celsiusra act_tempC = act_tempK - C_Kelvin; // nyomtatási hőmérséklet OLED kijelzőn // kézi formázás a középső OD01.set2X () megjelenítéséhez; OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); késleltetés (2000); // frissítse a kijelzőt 2 másodpercenként}

Ajánlott: