Përmbajtje:

Kalibrimi i sensorit DS18B20 me Arduino UNO: 3 hapa (me fotografi)
Kalibrimi i sensorit DS18B20 me Arduino UNO: 3 hapa (me fotografi)

Video: Kalibrimi i sensorit DS18B20 me Arduino UNO: 3 hapa (me fotografi)

Video: Kalibrimi i sensorit DS18B20 me Arduino UNO: 3 hapa (me fotografi)
Video: Lesson 12: Using Arduino Programming function and switch | SunFounder Robojax 2024, Nëntor
Anonim
Kalibrimi i sensorit DS18B20 me Arduino UNO
Kalibrimi i sensorit DS18B20 me Arduino UNO
Kalibrimi i sensorit DS18B20 me Arduino UNO
Kalibrimi i sensorit DS18B20 me Arduino UNO
Kalibrimi i sensorit DS18B20 me Arduino UNO
Kalibrimi i sensorit DS18B20 me Arduino UNO

Mospranimi:

Pajisja që shihni në fotografi përdoret në një projekt tjetër si Termostat për procesin e zhvillimit të filmit. Atë projekt mund ta gjeni këtu. Në mënyrë që të kalibroni një sensor, ose më shumë se një, do t'ju duhet vetëm ajo që do të gjeni në këtë projekt, asgjë më shumë, dhe është gjithashtu shumë themelore, gjithashtu! Shkojme!

Hapi 1: Përgatitni pajisjen tuaj

Përgatitni pajisjen tuaj
Përgatitni pajisjen tuaj

Këtu është një listë e asaj që ju nevojitet:

  1. Arduino UNO (ose MEGA)
  2. Sensorë (et) DS18B20
  3. 4kOhm - rezistencë 5kOhm (kam përdorur një 5k1Ohm)
  4. Ekran LCD për të lexuar vlerat (gjithashtu mund të përdorni një laptop dhe thjesht t'i lexoni ato në një monitor serik)
  5. Një skicë që përdor sensorin dhe tregon disi vlerat

Para së gjithash ju duhet të lidhni modulet dhe sensorin tuaj me kontrolluesin tuaj. Unë do të lë pjesën e ndërlikuar të LCD për ju që të kërkoni në internet dhe thjesht do t'ju tregoj se si ta lidhni sensorin.

Zakonisht ata sensorë vijnë me tre tela me ngjyra: E zezë, e kuqe, e verdhë. Dy të parat janë për energji dhe e treta për të dhënat. Lidhni të zezën me GNN, të kuqen me Vcc (5V) dhe të verdhë në një hyrje analoge, le të themi A0.

Tani lidhni rezistencën midis të verdhës dhe të kuqes për të përfunduar lidhjet.

Futni gjithashtu LCD -në (unë sugjeroj një LCD të thjeshtë 16x2 me lidhje i2c për të përdorur vetëm 4 tela gjithsej) dhe mbaroni me telat dhe kabllot.

Tani skica që është super e thjeshtë:

#përfshi "OneWire.h"

#përfshi "DallasTemperature.h" #përcakto ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Sensori i temperaturës Dallas1 (& teli ynë1); #përfshi "LiquidCrystal_I2C.h"

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

void setup () {lcd.init (); lcd. backlight (); sensor1.filloj (); sensor1.setResolution (11); } void loop () {sensor1.requestTemperatura (); noton RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (Vlera e papërpunuar, 1); }

Siç mund ta shihni, ne përdorim bibliotekën e Temperaturës Dallas dhe një ekran LCD me lidhje i2c.

Në konfigurimin ne iniziojmë LCD dhe sensor dhe në lak thjesht kërkojmë temperaturën dhe ruajmë vlerën brenda ndryshores RawValue për ta treguar atë në LCD.

Nëse doni ta mbani më të thjeshtë, thjesht përdorni monitorin serik me skicën e mëposhtme

#include "Wire.h" #include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Sensori i temperaturës Dallas1 (& teli ynë1);

noton RawValue = 0;

void setup () {

vonesa (1000); Serial.filloj (9600); sensor1.filloj (); sensor1.setResolution (11);

}

void loop () {sensor1.requestTemperatura (); noton RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (Vlera e papërpunuar, 1); }

Tani më ndiqni në thelbin e projektit për të kalibruar sensorin.

Hapi 2: Kalibrimi me dy pika

Kalibrimi me dy pika
Kalibrimi me dy pika
Kalibrimi me dy pika
Kalibrimi me dy pika
Kalibrimi me dy pika
Kalibrimi me dy pika

Diçka për të ditur së pari

Për të kalibruar një termo-sensor, duhet të matni diçka nga e cila e dini temperaturën. Mënyra e thjeshtë për ta bërë atë në shtëpi është përdorimi i ujit të valë dhe një banjë me akull të shkrirë, i quajtur edhe një banjë "me tre pika". Në ato raste ne e dimë se uji vlon në 100 ° C në nivelin e detit. Mbani në mend se për të bërë një matje të saktë duhet të njihni lartësinë tuaj dhe të llogaritni temperaturën e duhur të vlimit atje.

Mund ta kontrolloni këtu!

Për të qenë i sinqertë, duhet të kontrolloni presionin atmosferik dhe jo lartësinë. Por kjo mënyrë është mjaft e saktë.

Banja me pikë të trefishtë, ose banja e akullit, është temperatura në të cilën uji ekziston në të tre gjendjet e ngurta, të lëngëta dhe të gazta, ajo temperaturë është 0, 01 ° C. Ne do të përdorim, për të thjeshtuar, 0 ° C.

Duke ditur vlerën që lexoi sensori dhe vlerën që duhet të jetë, ne mund të modifikojmë vlerën e papërpunuar të DS18B20 në diçka më të saktë.

SH NOTNIM: ju gjithashtu mund të përdorni më shumë temperaturë për të kalibruar sensorin vetëm duke e futur atë në ndonjë substancë tjetër nga e cila e dini pikën e vlimit si Eteri (35 ° C), Pentani (36, 1 ° C), Acetoni (56 ° C) ose Etanol (78, 37 ° C), por ato substanca të vluara prodhojnë gazra të lartë të ndezshëm! Pra, mos e bëni!

Ujë i vluar:

Vendosni pak ujë në një tenxhere dhe ngroheni derisa të vlojë (flluskat e gazit po zhvillohen dhe uji po trazohet vetë). Zhytni sensorin tuaj aty ku nuk prek asgjë përveç ujit. Prisni disa minuta dhe lexoni LCD ose monitorin serik

Temperatura duhet të mbetet e njëjtë për të paktën një minutë. Nëse është kështu, shënojeni atë vlerë. Kjo është vlera juaj: RawHigh.

Banjë me tre pika:

Tani merrni një gotë të madhe (nuk keni nevojë për ndonjë gjë të madhe as një tenxhere) dhe mbusheni deri në kufi me kuba akulli. Mundohuni të përdorni kube akulli me madhësi të vogël. Tani mbushni 80% të gotës me ujë të ftohtë. Mbushni me akull nëse leva përpiqet të zbresë.

Tani vendoseni sensorin tuaj brenda ujit/akullit dhe prisni një minutë e gjysmë. Lexoni temperaturën që duhet të mbetet e njëjtë për të paktën 30 sekonda. Nëse është kështu, shkruajeni atë se është vlera juaj RawLow.

Hapi 3: Përdorni vlerat që merrni në rrugën e duhur

Pra, tani keni disa vlera të rëndësishme:

  • RawHigh
  • RawLow
  • ReferencëLartë
  • ReferenceLow

Vlera e referencave është padyshim 99.9 ° C për ujin e valë (në lartësinë time prej 22m), dhe 0 ° C për banjën e akullit që shkrin. Tani llogaritni diapazonet për ato vlera:

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

Tani jeni gati të përdorni atë sensor në çdo projekt tjetër duke qenë të sigurt se do t'ju japë një matje të duhur. Si? Duke përdorur vlerën që keni marrë këtu në projektin që do të krijoni me atë sensor.

Në projektin tuaj të ardhshëm do t'ju duhet të përdorni vlerat që lexoni në këtë dhe unë sugjeroj ta bëni atë duke përdorur të njëjtët emra që kam përdorur këtu.

Shpallni ndryshoret para seksionit void setup () ashtu si kjo:

float RawHigh = 99.6; float RawLow = 0.5; float ReferenceHigh = 99.9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;

Për më tepër, sa herë që përdorni sensorin, mund të përdorni formulën e mëposhtme për të llogaritur Vlerën e Korrigjuar:

noton CorrectedValue = (((Vlera e papërpunuar - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;

RawValue është padyshim leximi i sensorit.

Kjo eshte!

Tani ju e dini se si të kalibroni sensorin tuaj DS18B20 ose ndonjë sensor tjetër që do të përdorni! Argëtohu!

Recommended: