Sisukord:
- Samm: valmistage seade ette
- 2. samm: kahepunktiline kalibreerimine
- Samm: kasutage saadud väärtusi õigesti
Video: DS18B20 anduri kalibreerimine Arduino UNO -ga: 3 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
TÄHELEPANU:
Seadet, mida näete piltidel, kasutatakse teises projektis filmi väljatöötamise termostaadina. Selle projekti leiate siit. Anduri või mitme kalibreerimiseks vajate just seda, mida selles projektis leiate, ei midagi enamat ja see on ka üsna lihtne! Lähme!
Samm: valmistage seade ette
Siin on nimekiri sellest, mida vajate:
- Arduino UNO (või MEGA)
- DS18B20 andurid
- 4kOhm - 5kOhm takistus (ma kasutasin 5k1Ohm)
- LCD -ekraan väärtuste lugemiseks (saate kasutada ka sülearvutit ja neid lihtsalt jadamonitorilt lugeda)
- Eskiis, mis kasutab andurit ja näitab kuidagi väärtusi
Kõigepealt peate ühendama oma moodulid ja anduri kontrolleriga. Jätan vedelkristallekraani keerulise osa teile veebist otsimiseks ja ütlen teile lihtsalt, kuidas andurit ühendada.
Tavaliselt on need andurid varustatud kolme värvi juhtmega: must, punane, kollane. Esimesed kaks on energia ja kolmas andmete jaoks. Ühendage must GNN -iga, punane Vcc -ga (5 V) ja kollane analoogsisendiga, oletame A0.
Ühendage ühenduste lõpuleviimiseks nüüd takistus kollase ja punase vahel.
Ühendage ka LCD -ekraan (soovitan kasutada lihtsat 16x2 LCD -ekraani koos i2c -ühendusega, et kasutada kokku 4 juhtmest) ja olete juhtmete ja kaablitega valmis.
Nüüd on väga lihtne visand:
#include "OneWire.h"
#include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasTemperatuuri andur1 (& meieWire1); #include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C LCD (0x27, 16, 2); ujuk RawValue = 0;
void setup () {lcd.init (); lcd.taustavalgus (); sensor1.algus (); sensor1.setResolution (11); } void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }
Nagu näete, kasutame Dallase temperatuuri raamatukogu ja i2c -ühendusega LCD -ekraani.
Seadistamisel käivitame LCD ja anduri ning ahelas palume lihtsalt temperatuuri ja salvestame väärtuse muutuja RawValue sisse, et seda LCD -l näidata.
Kui soovite, et see oleks lihtsam, kasutage lihtsalt jaemonitori koos järgmise visandiga
#include "Wire.h" #include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasTemperatuuri andur1 (& meieWire1);
ujuk RawValue = 0;
tühine seadistus () {
viivitus (1000); Seriaalne algus (9600); sensor1.algus (); sensor1.setResolution (11);
}
void loop () {sensor1.requestTemperatures (); float RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }
Nüüd järgige mind projekti tuumas, et kalibreerida andurit.
2. samm: kahepunktiline kalibreerimine
Midagi kõigepealt teada
Termosensori kalibreerimiseks peate mõõtma midagi, millest teate temperatuuri. Lihtne viis seda kodus teha on keeva vee ja sulavjäävanni kasutamine, mida nimetatakse ka "kolmepunktiliseks vanniks". Nendel juhtudel teame, et vesi keeb 100 ° C juures merepinnal. Pidage meeles, et täpse mõõtmise tegemiseks peaksite teadma oma kõrgust ja arvutama seal õige keemistemperatuuri.
Saate seda kontrollida siit!
Ausalt öeldes peaksite kontrollima õhurõhku, mitte kõrgust. Kuid see meetod on piisavalt täpne.
Kolmepunktivann või jäävann on temperatuur, mille juures vesi eksisteerib kolmes olekus tahke, vedel ja gaasiline, see temperatuur on 0, 01 ° C. Lihtsustamiseks kasutame 0 ° C.
Teades väärtust, mida andur luges, ja väärtust, mis peaks olema, saame muuta DS18B20 toorväärtust millekski õigemaks.
MÄRKUS. Anduri kalibreerimiseks võiksite kasutada ka rohkem temperatuuri, pannes selle mõne muu aine, mille keemistemperatuuri teate, näiteks eeter (35 ° C), pentaan (36, 1 ° C), atsetoon (56 ° C) või Etanool (78, 37 ° C), kuid need keevad ained tekitavad kergesti süttivaid gaase! Nii et ära tee seda!
Keev vesi:
Valage potti vett ja kuumutage seda keemiseni (gaasimullid tekivad ja vesi segab). Asetage andur kohta, kus see ei puuduta midagi peale vee. Oodake mõni minut ja lugege LCD -d või jadamonitori
Temperatuur peaks jääma samaks vähemalt minutiks. Kui jah, kirjutage see väärtus alla. See on teie: RawHigh väärtus.
Kolmepunktiline vann:
Võtke nüüd suur klaas (te ei vaja midagi suurt ega potti) ja täitke see jääkuubikutega piirini. Proovige kasutada väikese suurusega jääkuubikuid. Nüüd täitke 80% klaasist külma veega. Täitke jääga, kui hoob üritab alla minna.
Nüüd pange andur vee/jää asja sisse ja oodake poolteist minutit. Lugege temperatuuri, mis peaks jääma samaks vähemalt 30 sekundiks. Kui jah, kirjutage see üles, et see oleks teie RawLow väärtus.
Samm: kasutage saadud väärtusi õigesti
Nüüd on teil mõned olulised väärtused:
- RawHigh
- RawLow
- Viide Kõrge
- ViideLow
Võrdlusväärtus on ilmselgelt 99,9 ° C keeva vee puhul (minu kõrgusel 22 m) ja 0 ° C sulav jäävann. Nüüd arvutage nende väärtuste vahemikud:
- RawRange = RawHigh - RawLow
- ReferenceRange = ReferenceHigh - ReferenceLow
Nüüd olete valmis seda andurit kasutama mõnes muus projektis, olles kindel, et see annab teile õige mõõtmise. Kuidas? Kasutades siin saadud väärtust projektis, mille selle anduriga loote.
Tulevases projektis peate kasutama selles loetud väärtusi ja soovitan seda teha samade nimedega, mida siin kasutasin.
Deklareerige muutujad enne jaotist void setup () järgmiselt:
float RawHigh = 99,6; float RawLow = 0,5; float ReferenceHigh = 99,9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;
Iga kord, kui andurit kasutate, saate CorrectedValue arvutamiseks kasutada järgmist valemit:
float CorrectedValue = ((((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;
RawValue on ilmselgelt anduri näit.
See on kõik!
Nüüd teate, kuidas kalibreerida oma DS18B20 andurit või mõnda muud kasutatavat andurit! Lõbutse hästi!
Soovitan:
ARDUINO PH SENSORI KALIBREERIMINE: 7 sammu
ARDUINO PH SENSORI KALIBREERIMINE: selles õpetuses kalibreerime Atlas Scientificu EZO pH -andurit, kasutades Arduino Unot. KALIBREERIMISTEOORIA Kõige olulisem osa kalibreerimisest on näitude vaatamine kalibreerimisprotsessi ajal. Seadet on kõige lihtsam kalibreerida
ARDUINO ORP SENSORI KALIBREERIMINE: 3 sammu
ARDUINO ORP SENSORI KALIBREERIMINE: selles õpetuses kalibreerime Atlas Scientificu EZO ORP (oksüdatsiooni vähendamise potentsiaal) andurit, kasutades Arduino Unot. KALIBREERIMISTEOORIA Kalibreerimise kõige olulisem osa on näitude vaatamine kalibreerimisprotsessi ajal. See on lihtne
ARDUINO LAHUSTATUD HAPPESENSORI KALIBREERIMINE: 4 sammu
ARDUINO DISSOLVED OXYGEN SENSOR CALIBRATION: Selles õpetuses kalibreerime Atlas Scientificu EZO lahustunud hapniku (D.O) andurit Arduino Uno abil. KALIBREERIMISTEOORIA Kalibreerimise kõige olulisem osa on näitude vaatamine kalibreerimisprotsessi ajal. Kõige lihtsam on kalibreerida
Kuidas teha beebi kaalumasinat Arduino Nano, HX-711 koormusanduri ja OLED 128X64 abil -- HX-711 kalibreerimine: 5 sammu
Kuidas teha beebi kaalumasinat Arduino Nano, HX-711 koormusanduri ja OLED 128X64 abil || HX-711 kalibreerimine: Tere juhised, mõni päev tagasi sain armsa lapse isaks ?. Haiglas olles avastasin, et lapse kaal on lapse kasvu jälgimiseks nii kriitiline. Nii et mul on idee? et teha endale beebikaalumasin. selles juhendatavas
Lihtne kõva ja pehme rauast magnetomeetri kalibreerimine: 6 sammu (piltidega)
Lihtne kõva ja pehme rauast magnetomeetri kalibreerimine: kui teie hobi on RC, droonid, robootika, elektroonika, reaalsuse suurendamine või muu sarnane, siis varem või hiljem tuleb teil täita magnetomeetri kalibreerimise ülesanne. Iga magnetomeetri moodul tuleb kalibreerida, kuna magnetvälja mõõtmine