DS18B20: temperaturni senzor za tekućine

DS18B20

Na raspolaganju su različiti senzori vlažnosti i temperature, kao što su LM35. Neki su ugrađeni u module za specifičnu upotrebu sa Arduinom. Ali generalno, oni mjere suvu temperaturu, odnosno temperaturu zraka. Ali postoji konkretan model koji djeluje mjeri temperaturu u tekućinama i naziva se DS18B20. Posebnost koja vam može dobro doći za neke od vaših egzotičnijih DIY projekata gdje se također igrate s nekom vrstom tekućine za koju morate znati ovaj parametar.

Zapravo DS18B20 ne mjeri samo temperaturu unutar tekućina, već može biti vrlo korisno izmjeriti temperaturu vlažnom okruženju, a takođe i pod nekom tečnošću. Tako ga možete koristiti i za mjerenje temperature zraka ako je okoliš dosta opterećen vlagom. I kao što sam rekao, osobina da ga možete uroniti u tečnost da biste izmerili njegovu temperaturu jedna je od karakteristika koja ga čini neverovatno praktičnim.

Šta je DS18B20?

Pa, mislim da je to već postalo sasvim jasno, radi se o elektroničkom senzoru sposobnom za mjerenje temperature plinovitih ili tekućih medija. Pored toga, postoje različita kapsulacija ili pakovanje DS18B20, kao što je osnovni koji vidite na glavnoj slici, ili ga također možete integrirati u neke PCB-ove, potopljene sonde itd. Za svoj projekt trebali biste odabrati najprikladniji format prema onome što želite.

Na primjer, osim tipičnog TO-92, tu je i microSOP. Moguće integrirati s Arduinom je najprikladniji TO-92, jer je sa svoja tri klinova vrlo lako umetnuti u ploču za povezivanje.

Pinout

Ds18b20 igle

El DS18B20 pinout lako je prepoznati. Na primjer, uzimajući za referencu paket Dallas TO-92, koji je jedan od najpopularnijih, možete vidjeti da ima tri pina. Ako ga stavite sprijeda, odnosno sa zaobljenim dijelom unatrag i gledate ravno lice na kojem se pojavljuju natpisi, klin s vaše lijeve strane je 1, a onaj s vaše desne strane 3. Dakle, 1 bi bio za GND ili uzemljenje, 2 je za podatke, a 3 za napon napajanja.

Ovdje moramo reći da, vrijednosti koje biste trebali znati:

  • Pin 1: morate ga spojiti na GND pin Arduina, odnosno na 0v.
  • Pin 2: ovaj pin je DQ ili podatak, onaj koji će poslati temperature izmjerene senzorom u Arduino putem određenog protokola poznatog kao 1-Wire i koji će trebati posebnu biblioteku i funkcije za Arduino IDE. To će omogućiti upotrebu samo jednog Arduino pina za povezivanje više senzora s ovim protokolom ...
  • Pin 3: Može se napajati od 3 do 5,5 v, tako da ga možete povezati na 5 v izlaz Arduina.

DS18B20 tehničke karakteristike i list podataka

Kao i uvijek, jeste zanimljivo znati tehničke karakteristike senzora da zna kako radi, kako ga ne bi oštetio, a prije svega kako bismo znali gdje su njegove mjerne granice, jer ako vrijednosti koje želimo izmjeriti nisu između njih, to neće pomoći nama i vama treba potražiti drugu alternativu.

Da biste to učinili, najbolje je preuzeti a tablica proizvođača, poput one u Dallasu možete pogledati ovdje. Tamo ćete pronaći sve potrebne informacije. I ne zaboravite da, iako svi DS18B20 mogu biti slični, ovisno o proizvođaču ili paketu, možda ćete pronaći neke promjene ...

Ali bez obzira na hirove, evo nekoliko osnovni tehnički podaci:

  • Raspon temperature: -55 do 125ºC, dakle, može meriti u gasu ili tečnosti na vrlo niskim i takođe visokim temperaturama.
  • Greške: DS18B20 je osjetljiv na vanjsku buku ili smetnje koje mogu dati pogrešne vrijednosti u mjerenjima. Granica greške je plus minus 2ºC, iako na temperaturama između -10ºC i 85ºC, odnosno kada nismo blizu granica, to može biti samo pola stepena.
  • Rezolucija: Možete raditi s nekoliko rezolucija ili minimalnim varijacijama koje možete otkriti pomoću analognih pinova Arduino. Podržava 9-bitne, 10-bitne, 11-bitne i 12-bitne (zadano). Odnosno, može meriti od pola do pola stepena, od četvrtine do četvrtine stepeni, od 0,125 do 0,125 ° C, odnosno od 0,0625 ° C. Ovo programiranje možete izmijeniti putem programskog koda.
  • Napon napajanja: 3 do 5,5 v
  • Cijena: 1 do 3 €

Integracija s Arduinom

Dijagram povezivanja Arduino - ds18b20

Iako postoje razne načine povezivanja, najprikladniji je onaj koji vidite na ovom dijagramu. Prilično je jednostavno, s GND pinom u odgovarajućem spoju Arduino ploče, napajanje istim, a zatim podaci na Arduino analog koji ste odabrali u svom programskom kodu u Arduino IDE. Ali dobro je postaviti i otpor za natezanje od 4,7k (ako je udaljenost kabela sonde senzora veća, otpor bi trebao biti manji, na primjer, za 5m od 3,3k, za 10 od 2,2, XNUMXk, ...) za podatkovni pin i tako ga uvijek držite na visokom nivou.

Za programiranje u Arduino IDE-u i njegova dobra integracija s DS18B20 i tim vrlo određenim protokolom, preporučuje se da preuzmete biblioteke Dallas temperatura y OneWire iz okoline. I osnovni kod, to može biti nešto poput ovog primjera koji ću pokazati:

#include <OneWire.h>
#include <DallasTemperature.h>

// Pin donde se conecta el bus 1-Wire (DQ)
const int pinDatosDQ = 9;

// Instancia a las clases OneWire y DallasTemperature
OneWire oneWireObjeto(pinDatosDQ);
DallasTemperature sensorDS18B20(&oneWireObjeto);
 
void setup() {
    // Iniciamos la comunicación serie a 9600 baudios
    Serial.begin(9600);
    // Iniciamos el bus 1-Wire del sensor
    sensorDS18B20.begin(); 
}
 
void loop() {
    // Indicamos que tome la temperatura
    Serial.println("Midiendo temperatura");
    sensorDS18B20.requestTemperatures();
 
    // Lee y muestra la temperatura (recuerda que puedes conectar más de uno con 1-wire)
    Serial.print("La temperatura del sensor 0 es de: ");
    Serial.print(sensorDS18B20.getTempCByIndex(0));
    Serial.println(" C");
    Serial.print("La temperatura del sensor x es de: ");
    Serial.print(sensorDS18B20.getTempCByIndex(1));
    Serial.println(" ºC");
    
    delay(1000); 
}

Više informacija - Priručnik za programiranje Arduino (besplatni PDF)


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.