Tartalomjegyzék:

A DS18B20 érzékelő kalibrálása Arduino UNO -val: 3 lépés (képekkel)
A DS18B20 érzékelő kalibrálása Arduino UNO -val: 3 lépés (képekkel)

Videó: A DS18B20 érzékelő kalibrálása Arduino UNO -val: 3 lépés (képekkel)

Videó: A DS18B20 érzékelő kalibrálása Arduino UNO -val: 3 lépés (képekkel)
Videó: photoresistors: calibration version 2 2024, Július
Anonim
A DS18B20 érzékelő kalibrálása Arduino UNO -val
A DS18B20 érzékelő kalibrálása Arduino UNO -val
A DS18B20 érzékelő kalibrálása Arduino UNO -val
A DS18B20 érzékelő kalibrálása Arduino UNO -val
A DS18B20 érzékelő kalibrálása Arduino UNO -val
A DS18B20 érzékelő kalibrálása Arduino UNO -val

NYILATKOZAT:

A képeken látható eszközt egy másik projektben termosztátként használják a filmfejlesztési folyamathoz. A projektet itt találja. Egy vagy több érzékelő kalibrálásához csak arra lesz szüksége, amit ebben a projektben talál, semmi másra, és ez is elég alap! Gyerünk!

1. lépés: Készítse elő a készüléket

Készítse elő készülékét
Készítse elő készülékét

Itt van egy lista, amire szüksége van:

  1. Arduino UNO (vagy MEGA)
  2. DS18B20 érzékelő (k)
  3. 4kOhm - 5kOhm ellenállás (én 5k1Ohm -ot használtam)
  4. LCD képernyő az értékek leolvasásához (laptopot is használhat, és csak soros monitoron olvashatja)
  5. Egy vázlat, amely az érzékelőt használja, és valahogy megmutatja az értékeket

Először is csatlakoztatnia kell a modulokat és az érzékelőt a vezérlőhöz. Hagyom az LCD bonyolult részét, hogy kereshessen az interneten, és csak elmondom, hogyan kell csatlakoztatni az érzékelőt.

Általában ezek az érzékelők három színes vezetékkel érkeznek: fekete, piros, sárga. Az első kettő az energiát, a harmadik az adatokat szolgálja. Csatlakoztassa a feketét a GNN -hez, a pirosat Vcc -hez (5V), a sárgát pedig analóg bemenethez, mondjuk az A0 -hoz.

Most csatlakoztassa az ellenállást a sárga és a piros közé a csatlakozások befejezéséhez.

Csatlakoztassa az LCD -t is (javaslom egy egyszerű 16x2 méretű LCD -t i2c csatlakozással, hogy összesen 4 vezetéket használjon), és kész a vezetékek és kábelek.

Most a vázlat, ami rendkívül egyszerű:

#include "OneWire.h"

#include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasTemperature sensor1 (& ourWire1); #include "LiquidCrystal_I2C.h"

LiquidCrystal_I2C LCD (0x27, 16, 2); float RawValue = 0;

void setup () {lcd.init (); lcd.backlight (); sensor1.begin (); sensor1.setResolution (11); } void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("1. érzékelés"); lcd.print (RawValue, 1); }

Mint látható, a Dallas Temperature könyvtárat és az i2c csatlakozással ellátott LCD képernyőt használjuk.

A beállítás során bekapcsoljuk az LCD -t és az érzékelőt, és a ciklusban egyszerűen kérjük a hőmérsékletet, és tároljuk az értéket a RawValue változóban, hogy megjelenjen az LCD -n.

Ha egyszerűbbé szeretné tenni a dolgot, használja a soros monitort az alábbi vázlattal

#include "Wire.h" #include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasTemperature sensor1 (& ourWire1);

float RawValue = 0;

void setup () {

késleltetés (1000); Sorozat.kezdet (9600); sensor1.begin (); sensor1.setResolution (11);

}

void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); Serial.print ("1. érzékelés"); Soros.println (Nyersérték, 1); }

Most kövessen engem a projekt magjában az érzékelő kalibrálásához.

2. lépés: Kétpontos kalibrálás

Kétpontos kalibrálás
Kétpontos kalibrálás
Kétpontos kalibrálás
Kétpontos kalibrálás
Kétpontos kalibrálás
Kétpontos kalibrálás

Először tudni kell valamit

A hőérzékelő kalibrálásához meg kell mérnie valamit, amiről ismeri a hőmérsékletet. Az egyszerű módja annak, hogy ezt otthon végezze, forró víz és olvadó jégfürdő használata, amelyet "hárompontos" fürdőnek is neveznek. Ezekben az esetekben tudjuk, hogy a víz 100 ° C -on forr a tenger szintjén. Ne feledje, hogy a pontos méréshez ismernie kell a magasságát, és ki kell számítania a megfelelő forráspontot.

Itt ellenőrizheti!

Őszintén szólva a légköri nyomást és nem a magasságot kell ellenőrizni. De ez az út elég pontos.

A hármaspontú fürdő vagy jégfürdő az a hőmérséklet, amelyen a víz szilárd, folyékony és gáz halmazállapotban van, ez a hőmérséklet 0, 01 ° C. Az egyszerűsítés érdekében 0 ° C -ot fogunk használni.

Ismerve az érzékelő által leolvasott értéket és az értéket, aminek lennie kell, módosíthatjuk a DS18B20 nyers értékét valami helyesebbre.

MEGJEGYZÉS: több hőmérsékletet is használhat az érzékelő kalibrálásához, csak olyan más anyagba helyezve, amelynek forráspontját ismeri, például étert (35 ° C), pentánt (36, 1 ° C), acetont (56 ° C) vagy Etanol (78, 37 ° C), de ezek a forrásban lévő anyagok erősen gyúlékony gázokat termelnek! Szóval ne tedd!

Forrásban lévő víz:

Öntsön vizet egy edénybe, és forralja fel, amíg fel nem forr (gázbuborékok keletkeznek, és a víz magától felkavarta). Merítse az érzékelőt olyan helyre, ahol nem érint semmit, csak vizet. Várjon néhány percet, és olvassa el az LCD -t vagy a soros monitort

A hőmérsékletnek legalább egy percig változatlannak kell maradnia. Ha igen, írja le ezt az értéket. Ez a te: RawHigh érték.

Hárompontos fürdő:

Most vegyen egy nagy pohárkát (nem kell semmi hatalmas, sem edény), és töltse meg a határig jégkockákkal. Próbáljon kis méretű jégkockákat használni. Most töltse fel a pohár 80% -át hideg vízzel. Töltse fel újra jéggel, ha a kar le akar menni.

Most helyezze az érzékelőt a víz/jég dologba, és várjon másfél percet. Olvassa le a hőmérsékletet, amelynek legalább 30 másodpercig változatlannak kell maradnia. Ha igen, írja le, hogy ez a RawLow értéke.

3. lépés: Használja a kapott értékeket a megfelelő módon

Tehát most van néhány fontos értéke:

  • RawHigh
  • RawLow
  • ReferenciaHigh
  • ReferenceLow

A referenciaérték nyilvánvalóan 99,9 ° C a forrásban lévő víz esetében (22 m magasságomban), és 0 ° C az olvadó jégfürdőben. Most számítsa ki az értékek tartományát:

  • RawRange = RawHigh - RawLow
  • ReferenceRange = ReferenceHigh - ReferenceLow

Most már készen áll arra, hogy ezt az érzékelőt bármilyen más projektben használja, és biztos abban, hogy az megfelelő mérést eredményez. Hogyan? Az itt kapott értéket felhasználva a projektben, amelyet ezzel az érzékelővel hoz létre.

A jövőbeni projektben az itt olvasott értékeket kell használnia, és azt javaslom, hogy ugyanazokat a neveket használja, amelyeket itt használtam.

A void setup () szakasz előtt deklarálja a változókat az alábbiak szerint:

float RawHigh = 99,6; float RawLow = 0,5; float ReferenceHigh = 99,9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;

Minden alkalommal, amikor az érzékelőt használja, a következő képletet használhatja a CorrectedValue kiszámításához:

float CorrectedValue = ((((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;

A RawValue nyilvánvalóan az érzékelő leolvasása.

Ez az!

Most már tudja, hogyan kell kalibrálni a DS18B20 érzékelőt vagy bármely más érzékelőt, amelyet használni fog! Érezd jól magad!

Ajánlott: