Talaan ng mga Nilalaman:

Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO: 3 Hakbang (na may Mga Larawan)
Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO: 3 Hakbang (na may Mga Larawan)

Video: Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO: 3 Hakbang (na may Mga Larawan)

Video: Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO: 3 Hakbang (na may Mga Larawan)
Video: Practical lab explanation part 2(cobas e411 calibration & control) 2024, Nobyembre
Anonim
Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO
Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO
Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO
Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO
Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO
Pagkakalibrate ng DS18B20 Sensor Sa Arduino UNO

DISCLAIMER:

Ang aparato na nakikita mo sa mga larawan ay ginagamit sa ibang proyekto bilang isang Thermostat para sa proseso ng pagbuo ng pelikula. Mahahanap mo rito ang proyektong iyon. Upang mai-calibrate ang isang sensor, o higit sa isa, kakailanganin mo lamang ang mahahanap mo sa proyektong ito, wala nang iba, at medyo basic din ito! Tara na!

Hakbang 1: Ihanda ang Iyong Device

Ihanda ang Iyong Device
Ihanda ang Iyong Device

Narito ang isang listahan ng kailangan mo:

  1. Arduino UNO (o MEGA)
  2. DS18B20 sensor (s)
  3. 4kOhm - 5kOhm paglaban (Gumamit ako ng 5k1Ohm)
  4. LCD screen upang basahin ang mga halaga (maaari mo ring gamitin ang isang laptop at basahin lamang ito sa isang serial monitor)
  5. Isang sketch na gumagamit ng sensor at ipinapakita kahit papaano ang mga halaga

Una sa lahat kailangan mong ikonekta ang iyong mga module at sensor sa iyong controller. Iiwan ko ang kumplikadong bahagi ng LCD para sa iyo upang maghanap sa web, at sasabihin ko lamang sa iyo kung paano ikonekta ang sensor.

Kadalasan ang mga sensor na iyon ay may tatlong kulay na mga wire: Itim, Pula, Dilaw. Ang unang dalawa ay para sa enerhiya at ang pangatlo ay para sa data. Ikonekta ang itim sa GNN, ang pula sa Vcc (5V) at ang dilaw sa isang analogue input, sabihin nating A0.

Ikonekta ngayon ang paglaban sa pagitan ng dilaw at pula upang makumpleto ang mga koneksyon.

I-plug din ang LCD (Iminumungkahi ko ang isang simpleng 16x2 LCD na may koneksyon i2c upang magamit lamang ang 4 na mga wire) at tapos ka na sa mga wires at cable.

Ngayon ang sketch na sobrang simple:

# isama ang "OneWire.h"

# isama ang "DallasTemperature.h" # tukuyin ang ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); DallasTemperature sensor1 (& ourWire1); # isama ang "LiquidCrystal_I2C.h"

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

void setup () {lcd.init (); lcd.backlight (); sensor1.begin (); sensor1.setResolusyon (11); } void loop () {sensor1.requestTemperature (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }

Tulad ng nakikita mong ginagamit namin ang library ng Temperatura ng Dallas at isang LCD screen na may koneksyon sa i2c.

Sa pag-setup ay iniziate namin ang LCD at sensor at sa loop ay hinihiling namin ang temperatura at iimbak ang halaga sa loob ng variable RawValue upang ipakita ito sa LCD.

Kung nais mong panatilihin itong mas simple, gamitin lamang ang serial monitor gamit ang sumusunod na sketch

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

float RawValue = 0;

walang bisa ang pag-setup () {

pagkaantala (1000); Serial.begin (9600); sensor1.begin (); sensor1.setResolusyon (11);

}

void loop () {sensor1.requestTemperature (); float RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }

Sundin ako ngayon sa core ng proyekto upang i-calibrate ang sensor.

Hakbang 2: Dalawang Punto ng Pagkakalibrate

Two Point Calibration
Two Point Calibration
Two Point Calibration
Two Point Calibration
Two Point Calibration
Two Point Calibration

Isang bagay na dapat malaman muna

Upang i-calibrate ang isang thermo-sensor, kailangan mong sukatin ang isang bagay na alam mo ang temperatura. Ang simpleng paraan upang magawa ito sa bahay ay ang paggamit ng kumukulong tubig at paliguan ng natutunaw na yelo, na tinatawag ding "triple-point" na paliguan. Sa mga pagkakataong iyon alam natin na ang tubig ay kumukulo sa 100 ° C sa antas ng dagat. Tandaan na upang makagawa ng isang tumpak na pagsukat dapat mong malaman ang iyong altitude at kalkulahin ang tamang temperatura ng kumukulo doon.

Maaari mo itong suriin dito!

Upang maging matapat dapat mong suriin ang presyon ng atmospera at hindi ang altitude. Ngunit ang paraan na iyon ay sapat na tumpak.

Ang triple-point bath, o ice bath, ay ang temperatura kung saan umiiral ang tubig sa tatlong estado na solid, likido at gas, ang temperatura na 0, 01 ° C. Gagamitin namin, upang gawing simple, 0 ° C.

Alam ang halagang binasa ng sensor at ang halagang dapat ay, mababago natin ang hilaw na halaga ng DS18B20 sa isang bagay na mas tama.

TANDAAN: maaari mo ring gamitin ang mas maraming temperatura upang i-calibrate ang sensor sa paglalagay lamang nito sa ilang ibang sangkap na alam mo ang kumukulong point tulad ng Ether (35 ° C), Pentane (36, 1 ° C), Acetone (56 ° C) o Ang Ethanol (78, 37 ° C), ngunit ang mga kumukulong sangkap na ito ay gumagawa ng mataas na masusunog na mga gas! KayaHuwag gawin ito!

Tubig na kumukulo:

Maglagay ng ilang tubig sa isang palayok at painitin ito hanggang sa kumulo (bubuo ang mga bula ng gas at ang tubig ay pumupukaw sa sarili). Palawakin ang iyong sensor kung saan hindi nito hinawakan ang anumang bagay maliban sa tubig. Maghintay ng ilang minuto at basahin ang lcd o ang serial monitor

Ang temperatura ay dapat manatiling pareho ng kahit isang minuto. Kung gayon, isulat ang halagang iyon. Iyon ang iyong: RawHigh na halaga.

Triple-point bath:

Kumuha ngayon ng isang malaking baso (hindi mo kailangan ng anumang malaki o isang palayok) at punan ito sa hangganan ng mga ice cube. Subukang gumamit ng maliit na sukat na mga ice cube. Ngayon punan ang 80% ng baso ng malamig na tubig. Punan ulit ng yelo kung subukang bumaba ng pingga.

Ngayon ilagay ang iyong sensor sa loob ng tubig / bagay ng yelo at maghintay ng isa at kalahating minuto. Basahin ang temperatura na dapat manatiling pareho sa loob ng 30 segundo kahit na. Kung gayon, isulat ito, na ang iyong halagang RawLow.

Hakbang 3: Gamitin ang Mga Halaga na Nakukuha mo sa Tamang Daan

Kaya, ngayon nakakuha ka ng ilang mahahalagang halaga:

  • RawHigh
  • RawLow
  • Sanggunian Mataas
  • Mababang Sanggunian

Malinaw na ang halaga ng mga sanggunian ay 99.9 ° C para sa kumukulong tubig (sa aking altitude na 22m), at 0 ° C para sa natutunaw na paliguan ng yelo. Kalkulahin ngayon ang mga saklaw ng mga halagang iyon:

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

Handa ka na ngayong gamitin ang sensor na iyon sa anumang iba pang proyekto na tinitiyak na bibigyan ka nito ng tamang pagsukat. Paano? Gamit ang halagang nakuha mo dito sa proyekto na lilikha ka gamit ang sensor na iyon.

Sa iyong hinaharap na proyekto kakailanganin mong gamitin ang mga halagang nabasa mo sa isang ito at iminumungkahi kong gawin ito gamit ang parehong mga pangalan na ginamit ko dito.

Ipahayag ang mga variable bago ang seksyon na walang bisa na pag-setup () tulad nito:

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

Kaysa, sa tuwing gagamit ka ng sensor, maaari mong gamitin ang sumusunod na pormula upang makalkula ang wastongValue:

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

Malinaw na ang RawValue ay ang pagbabasa ng sensor.

Ayan yun!

Ngayon alam mo kung paano i-calibrate ang iyong DS18B20 sensor o anumang iba pang sensor na gagamitin mo! Magsaya ka!

Inirerekumendang: