DS18B20: en temperatursensor for væsker

DS18B20

Det er forskjellige fuktighets- og temperatursensorer tilgjengelig, for eksempel LM35. Noen innebygde moduler for spesifikk bruk med Arduino. Men generelt skal de måle tørr temperatur, det vil si lufttemperatur. Men det er en konkret modell som fungerer for måle temperaturen i væsker og kalles DS18B20. En særegenhet som kan være nyttig for noen av de mer eksotiske DIY-prosjektene dine, hvor du også leker med en eller annen type væske som du trenger å vite om denne parameteren.

Egentlig måler DS18B20 ikke bare temperaturen i væsker, men det kan være veldig nyttig å måle temperaturen i fuktige omgivelser og også under litt væske. Så du kan også bruke den til å måle lufttemperaturen hvis miljøet er ganske belastet med fuktighet. Og som sagt, funksjonen ved å kunne dyppe den i en væske for å måle temperaturen er en av funksjonene som gjør den utrolig praktisk.

Hva er DS18B20?

Vel, jeg tror det allerede har blitt ganske klart, det er en elektronisk sensor som er i stand til å måle temperaturen på gassformige eller flytende medier. I tillegg er det forskjellig innkapsling eller emballasje av DS18B20, for eksempel den grunnleggende du ser i hovedbildet, eller den kan også integreres i noen PCB, nedsenkbare sonder osv. For prosjektet ditt, bør du velge det mest passende formatet etter hva du vil.

For eksempel, bortsett fra den typiske TO-92, er det også microSOP. Muligens å integrere med Arduino er den mest hensiktsmessige TO-92, siden det med sine tre pinner er veldig enkelt å sette inn i brødplaten for tilkobling.

pinout

DS18b20 pinner

El DS18B20 pinout det er lett å identifisere. Hvis du for eksempel tar utgangspunkt i Dallas TO-92-pakken, som er en av de mest populære, kan du se at den har tre pinner. Hvis du setter den forfra, det vil si med den avrundede delen bak og ser på det flate ansiktet der inskripsjonene vises, er pinnen til venstre 1 og den til høyre for deg 3. Derfor ville 1 være for GND eller jord, 2 er for data og 3 for forsyningsspenning.

Her må vi si det, verdier du bør kjenne til:

  • Pin 1: du må koble den til GND-pinnen til Arduino, det vil si til 0v.
  • Pin 2: denne pin er DQ eller data, den som vil sende temperaturene målt av sensoren til Arduino gjennom en bestemt protokoll kjent som 1-Wire, og som trenger et spesielt bibliotek og funksjoner for Arduino IDE. Det vil tillate bruk av bare en Arduino-pin for å koble til flere sensorer med denne protokollen ...
  • Pin 3: Den kan drives fra 3 til 5,5v, slik at du kan koble den til 5v-utgangen til Arduino.

DS18B20 tekniske egenskaper og datablad

Som alltid er det interessant å kjenne de tekniske egenskapene av sensoren for å vite hvordan den fungerer, for ikke å skade den, og fremfor alt slik at vi vet hvor målegrensene er, siden hvis verdiene vi vil måle ikke er mellom dem, vil det ikke hjelpe oss og du bør se etter et annet alternativ.

For å gjøre dette er det best å laste ned en produsentens datablad, som den i Dallas som du kan se her. Der finner du all nødvendig informasjon. Og husk at selv om alle DS18B20 kan være like, avhengig av produsent eller pakke, kan du finne noen endringer ...

Men uavhengig av særegenheter, her er noen få grunnleggende tekniske data:

  • Temperaturspenn: -55 til 125 ° C, derfor kan den måle i gass eller væske ved veldig lave og også høye temperaturer.
  • feil: DS18B20 er følsom for ekstern støy eller forstyrrelser som kan gi feilverdier i målingene. Feilmarginen er pluss minus 2 ° C, selv om det ved temperaturer mellom -10 ° C og 85 ° C, det vil si når vi ikke er nær grensene, kan det bare være en halv grad.
  • Oppløsning: Du kan jobbe med flere oppløsninger eller minimale variasjoner som du kan oppdage med Arduino analoge pinner. Støtter 9-biters, 10-biters, 11-biters og 12-biters (standard). Det vil si at den kan måle fra en halv til en halv grad, fra en kvart til en kvart grad, fra henholdsvis 0,125 til 0,125 ° C, eller fra 0,0625 ° C. Du kan endre denne programmeringen gjennom programmeringskoden.
  • Forsyningsspenningen: 3 til 5,5 v
  • Pris: 1 til 3 €

Integrasjon med Arduino

Arduino tilkoblingsskjema - DS18B20

Selv om det er forskjellige måter å koble den til, den mest passende er den du ser i dette diagrammet. Det er ganske enkelt, med GND-pinnen i den tilsvarende tilkoblingen til Arduino-kortet, strømforsyningen den samme og deretter dataene til Arduino-analogen som du har valgt i programmeringskoden din i Arduino IDE. Men det er også bra å stille inn en 4,7 k opptrekksmotstand (hvis avstanden til sensorkabelen er større, bør motstanden være lavere, for eksempel i 5m på 3,3k, i 10 på 2,2, XNUMXk, ...) for datapinnen og dermed holde den alltid høy.

For programmering i Arduino IDE og dens gode integrasjon med DS18B20 og den helt spesielle protokollen, anbefales det at du laster ned bibliotekene Dallas temperatur y OneWire fra miljøet. Og grunnkoden, det kan være noe som dette eksemplet 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); 
}

Mer informasjon - Programmeringshåndbok for Arduino (gratis PDF)


Bli den første til å kommentere

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.