Obsah:
- Krok 1: Pripravte svoje zariadenie
- Krok 2: Dvojbodová kalibrácia
- Krok 3: Využite hodnoty, ktoré získate správnym spôsobom
Video: Kalibrácia senzora DS18B20 s Arduino UNO: 3 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
UPOZORNENIE:
Zariadenie, ktoré vidíte na obrázkoch, sa používa v inom projekte ako termostat pre proces vývoja filmu. Projekt nájdete tu. Aby ste mohli kalibrovať snímač alebo viac ako jeden, budete potrebovať presne to, čo nájdete v tomto projekte, nič viac a je to tiež celkom základné! Poďme!
Krok 1: Pripravte svoje zariadenie
Tu je zoznam toho, čo potrebujete:
- Arduino UNO (alebo MEGA)
- Snímače DS18B20
- 4kOhm - odpor 5kOhm (použil som 5k1Ohm)
- LCD obrazovka na čítanie hodnôt (môžete použiť aj prenosný počítač a načítať ich na sériovom monitore)
- Náčrt, ktorý používa senzor a nejako ukazuje hodnoty
Najprv musíte pripojiť svoje moduly a snímač k ovládaču. Zložitú časť displeja LCD nechám na vás, aby ste prehľadali web, a poviem vám len, ako pripojiť snímač.
Tieto senzory sa obvykle dodávajú s tromi farebnými vodičmi: čierny, červený, žltý. Prvé dve slúžia na energiu a tretie na dáta. Pripojte čiernu k GNN, červenú k Vcc (5V) a žltú na analógovom vstupe, povedzme A0.
Teraz prepojte odpor medzi žltou a červenou, aby ste spojenia dokončili.
Pripojte aj LCD (navrhujem jednoduchý 16x2 LCD s pripojením i2c, aby ste použili iba 4 vodiče) a káble a káble máte hotové.
Teraz je náčrt, ktorý je veľmi jednoduchý:
#include „OneWire.h“
#include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Snímač teploty Dallas1 (& ourWire1); #include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C lcd (0x27, 16, 2); float RawValue = 0;
void setup () {lcd.init (); lcd.backlight (); senzor1.begin (); sensor1.setResolution (11); } prázdna slučka () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }
Ako vidíte, používame knižnicu teploty Dallas a LCD obrazovku s pripojením i2c.
V nastavení iniciujeme LCD a senzor a v slučke jednoducho požadujeme teplotu a hodnotu uložíme do premennej RawValue, aby sa zobrazila na LCD.
Ak to chcete mať ešte jednoduchšie, stačí použiť sériový monitor s nasledujúcim náčrtom
#include "Wire.h" #include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Snímač teploty Dallas1 (& ourWire1);
float RawValue = 0;
neplatné nastavenie () {
oneskorenie (1000); Serial.begin (9600); senzor1.begin (); sensor1.setResolution (11);
}
void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }
Teraz ma nasledujte v jadre projektu kalibrácie senzora.
Krok 2: Dvojbodová kalibrácia
Najprv niečo vedieť
Na kalibráciu tepelného senzora musíte zmerať niečo, o čom poznáte teplotu. Jednoduchý spôsob, ako to urobiť doma, je použitie vriacej vody a kúpeľa topiaceho sa ľadu, nazývaného tiež kúpeľ „s tromi bodmi“. V tých prípadoch vieme, že voda vrie pri teplote 100 ° C na hladine mora. Majte na pamäti, že na presné meranie by ste mali poznať svoju nadmorskú výšku a vypočítať tam správnu teplotu varu.
Môžete to skontrolovať tu!
Ak chcete byť úprimný, mali by ste kontrolovať atmosférický tlak a nie nadmorskú výšku. Ale tento spôsob je dostatočne presný.
Trojbodový kúpeľ alebo ľadový kúpeľ je teplota, pri ktorej voda existuje v troch stavoch tuhej, kvapalnej a plynnej, pričom táto teplota je 0, 01 ° C. Na zjednodušenie použijeme 0 ° C.
Keď poznáme hodnotu, ktorú snímač prečítal, a hodnotu, ktorá by mala byť, môžeme surovú hodnotu DS18B20 upraviť na niečo správnejšie.
POZNÁMKA: Na kalibráciu senzora môžete použiť aj väčšiu teplotu, stačí ho vložiť do inej látky, o ktorej poznáte bod varu, ako je éter (35 ° C), pentán (36, 1 ° C), acetón (56 ° C) alebo Etanol (78, 37 ° C), ale tieto vriace látky produkujú vysoko zápalné plyny! Tak to nerob!
Vriaca voda:
Do hrnca dajte trochu vody a zohrievajte ho, kým nezovrie (vyvíjajú sa bublinky plynu a voda sa sama mieša). Ponorte senzor tak, aby sa nedotýkal ničoho iného než vody. Počkajte pár minút a prečítajte si LCD alebo sériový monitor
Teplota by mala zostať rovnaká najmenej jednu minútu. Ak je to tak, zapíšte si túto hodnotu. To je vaša: RawHigh hodnota.
Trojbodový kúpeľ:
Teraz vezmite veľký pohár (nepotrebujete nič obrovské ani hrniec) a naplňte ho po okraj kockami ľadu. Skúste použiť malé kocky ľadu. Teraz naplňte 80% pohára studenou vodou. Ak sa páčka pokúsi dostať dole, doplňte ľad.
Teraz vložte senzor do veci voda/ľad a počkajte jednu a pol minúty. Prečítajte si teplotu, ktorá by mala zostať rovnaká najmenej 30 sekúnd. Ak je to tak, napíšte to tak, že je to vaša hodnota RawLow.
Krok 3: Využite hodnoty, ktoré získate správnym spôsobom
Takže teraz máte niekoľko dôležitých hodnôt:
- RawHigh
- RawLow
- Referencia Vysoká
- Referencia Nízka
Referenčné hodnoty sú očividne 99,9 ° C pre vriacu vodu (v mojej nadmorskej výške 22 m) a 0 ° C pre topiaci sa ľadový kúpeľ. Teraz vypočítajte rozsahy týchto hodnôt:
- RawRange = RawHigh - RawLow
- ReferenceRange = ReferenceHigh - ReferenceLow
Teraz ste pripravení používať tento senzor v akomkoľvek inom projekte, pričom ste si istí, že vám poskytne správne meranie. Ako? Pomocou hodnoty, ktorú ste tu získali v projekte, vytvoríte pomocou tohto senzora.
Vo svojom budúcom projekte budete musieť použiť hodnoty, ktoré ste si prečítali v tomto, a navrhujem to urobiť pomocou rovnakých mien, aké som použil tu.
Deklarujte premenné pred sekciou neplatného nastavenia () takto:
float RawHigh = 99,6; float RawLow = 0,5; float ReferenceHigh = 99,9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;
Potom zakaždým, keď použijete senzor, môžete na výpočet CorrectedValue použiť nasledujúci vzorec:
float CorrectedValue = ((((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;
RawValue je zrejme čítanie senzora.
To je všetko!
Teraz viete, ako kalibrovať snímač DS18B20 alebo iný snímač, ktorý použijete! Bavte sa!
Odporúča:
Kalibrácia senzora pôdnej vlhkosti: 5 krokov
Kalibrácia senzora pôdnej vlhkosti: Na trhu je veľa meračov pôdnej vlhkosti, ktoré záhradníkovi pomôžu rozhodnúť sa, kedy zalievať svoje rastliny. Uchopenie hrsti pôdy a kontrola farby a textúry je bohužiaľ rovnako spoľahlivá ako mnohé z týchto pomôcok! Niektoré sondy dokonca registrujú
KALIBRÁCIA SNÍMAČA ARDUINO ORP: 3 kroky
KALIBRÁCIA SNÍMAČA ARDUINO ORP: V tomto tutoriáli budeme kalibrovať snímač EZO ORP (potenciál redukcie oxidácie) spoločnosti Atlas Scientific pomocou Arduino Uno.KALIBRAČNÁ TEÓRIA Najdôležitejšou súčasťou kalibrácie je sledovanie hodnôt počas procesu kalibrácie. Je ľahké
KALIBRÁCIA SNÍMAČA OXYGÉNU S ROZPÚŠŤANÍM ARDUINO: 4 kroky
KALIBRÁCIA SNÍMAČA OXYGÉNOVÝCH ROZPOČTOVANÝCH ARDUINO: V tomto tutoriáli budeme kalibrovať senzor rozpusteného kyslíka (D.O) Atlas Scientific EZO pomocou teórie Arduino Uno. KALIBRÁCIA Najdôležitejšou súčasťou kalibrácie je sledovanie hodnôt počas kalibračného procesu. Kalibrácia je najľahšia
Jednoduchá kalibrácia magnetometra z tvrdého a mäkkého železa: 6 krokov (s obrázkami)
Jednoduchá kalibrácia magnetometra z tvrdého a mäkkého železa: Ak je vašim koníčkom RC, drony, robotika, elektronika, rozširovanie reality alebo podobne, skôr alebo neskôr sa stretnete s úlohou kalibrácie magnetometra. Každý modul magnetometra musí byť kalibrovaný, pretože meranie magnetického poľa podrobuje
Metódy zisťovania hladiny vody Arduino pomocou ultrazvukového senzora a vodného senzora Funduino: 4 kroky
Metódy zisťovania hladiny vody Arduino pomocou ultrazvukového senzora a vodného senzora Funduino: V tomto projekte vám ukážem, ako vytvoriť lacný detektor vody pomocou dvoch metód: 1. Ultrazvukový snímač (HC-SR04) .2. Senzor vody Funduino