DS18B20: en temperatursensor til væsker

DS18B20

Der er forskellige fugtigheds- og temperaturfølere tilgængelige, såsom LM35. Nogle indbyggede moduler til specifik brug med Arduino. Men generelt skal de måle tør temperatur, dvs. lufttemperatur. Men der er en konkret model, der fungerer for måle temperaturen i væsker og kaldes DS18B20. En ejendommelighed, der kan være nyttig for nogle af dine mere eksotiske DIY-projekter, hvor du også leger med en eller anden form for væske, som du har brug for at kende denne parameter for.

Faktisk måler DS18B20 ikke kun temperaturen inde i væsker, men det kan være meget nyttigt at måle temperaturen i fugtige omgivelser og også under noget væske. Så du kan også bruge den til at måle lufttemperaturen, hvis miljøet er ret fugtigt. Og som sagt, funktionen ved at være i stand til at nedsænke den i en væske til at måle temperaturen er en af ​​de funktioner, der gør den utrolig praktisk.

Hvad er DS18B20?

Nå, jeg tror, ​​det er allerede blevet ret klart, det er en elektronisk sensor, der er i stand til at måle temperaturen på luftformige eller flydende medier. Derudover er der forskellige pakker eller pakker med DS18B20, såsom den grundlæggende, du ser i hovedbilledet, eller den kan også integreres i nogle printkort, nedsænkelige sonder osv. Til dit projekt skal du vælge det mest passende format efter det, du ønsker.

For eksempel er der bortset fra den typiske TO-92 også microSOP. Muligvis at integrere med Arduino er den mest passende TO-92, da det med sine tre ben er meget let at indsætte i brødpladen til tilslutning.

pinout

DS18b20 stifter

El DS18B20 pinout det er let at identificere. Hvis du f.eks. Tager Dallas TO-92-pakken, som er en af ​​de mest populære, som reference, kan du se, at den har tre ben. Hvis du lægger det forfra, det vil sige med det afrundede afsnit bagud og ser på det flade ansigt, hvor inskriptionerne vises, er stiften til venstre 1 og den til højre for dig 3. Derfor ville 1 være for GND eller jord, 2 er for data og 3 for forsyningsspænding.

Her må vi sige det, værdier, som du bør kende:

  • Pin 1: du skal forbinde den til GND-stiften i Arduino, det vil sige til 0v.
  • Pin 2: denne pin er DQ eller data, den der sender temperaturerne målt af sensoren til Arduino gennem en bestemt protokol kendt som 1-Wire, og som har brug for et specielt bibliotek og funktioner til Arduino IDE. Det tillader kun at bruge en Arduino-pin til at forbinde flere sensorer med denne protokol ...
  • Pin 3: Den kan få strøm fra 3 til 5,5v, så du kan slutte den til 5v-udgangen fra Arduino.

DS18B20 tekniske egenskaber og datablad

Som altid er det interessant at kende de tekniske egenskaber af sensoren for at vide, hvordan den fungerer, for ikke at beskadige den, og frem for alt, så vi ved, hvor dens målegrænser er, da hvis de værdier, vi vil måle, ikke er imellem dem, hjælper det os og dig skal se efter et andet alternativ.

For at gøre dette er det bedst at downloade en producentens datablad, som den i Dallas, der du kan se her. Der finder du alle de nødvendige oplysninger. Og husk at selvom alle DS18B20 muligvis er ens, afhænger af producenten eller pakken, kan du finde nogle ændringer ...

Men uanset egenskaber, her er et par grundlæggende tekniske data:

  • Temperaturområde: -55 til 125 ° C, derfor kan den måle i gas eller væske ved meget lave og også høje temperaturer.
  • fejl: DS18B20 er følsom over for ekstern støj eller forstyrrelser, der kan give fejlagtige værdier i målingerne. Fejlmarginen er plus minus 2 ° C, selvom det ved temperaturer mellem -10 ° C og 85 ° C, det vil sige når vi ikke er tæt på grænserne, kun kunne være en halv grad.
  • opløsning: Du kan arbejde med flere opløsninger eller minimale variationer, som du kan registrere med Arduino analoge ben. Understøtter 9-bit, 10-bit, 11-bit og 12-bit (standard). Det vil sige, det kan måle fra en halv til en halv grad, fra en fjerdedel til en kvart grad, fra henholdsvis 0,125 til 0,125 ° C eller fra 0,0625 ° C. Du kan ændre denne programmering via programmeringskoden.
  • Forsyningsspænding: 3 til 5,5 v
  • pris: 1 til 3 €

Integration med Arduino

Arduino forbindelsesdiagram - DS18B20

Selvom der er forskellige måder at forbinde det på, den mest egnede er den, du ser i dette diagram. Det er ret simpelt, med GND-stiften i den tilsvarende forbindelse på Arduino-kortet, strømforsyningen er den samme og derefter dataene til Arduino-analogen, som du har valgt i din programmeringskode i Arduino IDE. Men det er også godt at indstille en 4,7k pull-up-modstand (hvis afstanden til sensor-probe-kablet er større, skal modstanden være lavere, for eksempel for 5m på 3,3k, til 10 af 2,2, XNUMXk, ...) til datapinnen og hold den således altid høj.

For programmering i Arduino IDE og dens gode integration med DS18B20 og den meget bestemte protokol, anbefales det, at du downloader bibliotekerne Dallas temperatur y OneWire fra miljøet. Og basiskoden, det kan være noget som dette eksempel, som jeg viser:

#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); 
}

Mere info - Arduino programmeringsvejledning (gratis PDF)


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.