DS18B20: en temperatursensor för vätskor

DS18B20

Det finns olika fuktighets- och temperatursensorer tillgängliga, till exempel LM35. Vissa inbyggda moduler för specifik användning med Arduino. Men i allmänhet ska de mäta torr temperatur, det vill säga lufttemperatur. Men det finns en konkret modell som fungerar för mäta temperaturen i vätskor och kallas DS18B20. En egenhet som kan vara användbar för några av dina mer exotiska DIY-projekt där du också spelar med någon typ av vätska som du behöver veta denna parameter för.

I själva verket mäter DS18B20 inte bara temperaturen inuti vätskor, men det kan vara mycket användbart att mäta temperaturen i fuktiga miljöer och även under lite vätska. Så du kan också använda den för att mäta lufttemperaturen om omgivningen är ganska belastad med fuktighet. Och som sagt, funktionen att kunna doppa den i en vätska för att mäta temperaturen är en av funktionerna som gör den otroligt praktisk.

Vad är DS18B20?

Tja, jag tror att det redan har blivit ganska klart, det är en elektronisk sensor som kan mäta temperaturen på gasformiga eller flytande medier. Dessutom finns det olika paket eller paket med DS18B20, som den grundläggande du ser i huvudbilden, eller den kan också integreras i vissa PCB, nedsänkbara sonder etc. För ditt projekt bör du välja det mest lämpliga formatet efter vad du vill ha.

Till exempel, förutom den typiska TO-92, finns det också microSOP. Eventuellt att integrera med Arduino är det mest lämpliga TO-92, eftersom det med sina tre stift är mycket enkelt att sätta in det i brädbrädet för anslutning.

pinout

DS18b20 stift

El DS18B20 pinout det är lätt att identifiera. Med exempelvis Dallas TO-92-paketet, som är ett av de mest populära, kan du se att det har tre stift. Om du lägger den framifrån, det vill säga med det rundade avsnittet bakåt och tittar på det plana ansiktet där inskriptionerna visas, är stiftet till vänster 1 och det till höger är 3. Därför skulle 1 vara för GND eller jord, 2 är för data och 3 för matningsspänning.

Här måste vi säga att värden som du borde veta:

  • Stift 1: du måste ansluta den till GND-stiftet i Arduino, det vill säga till 0v.
  • Stift 2: denna stift är DQ eller data, den som skickar temperaturerna uppmätta av sensorn till Arduino genom ett visst protokoll som kallas 1-Wire och som behöver ett speciellt bibliotek och funktioner för Arduino IDE. Det gör det möjligt att bara använda en Arduino-stift för att ansluta flera sensorer med detta protokoll ...
  • Stift 3: Den kan drivas från 3 till 5,5 v, så att du kan ansluta den till 5 v-utgången från Arduino.

DS18B20 tekniska egenskaper och datablad

Som alltid är det intressant att känna till de tekniska egenskaperna för att veta hur den fungerar, för att inte skada den, och framför allt så att vi vet var dess mätgränser är, eftersom om värdena vi vill mäta inte ligger mellan dem, kommer det inte att hjälpa oss och du bör leta efter ett annat alternativ.

För att göra detta är det bäst att ladda ner en tillverkarens datablad, som den i Dallas som du kan se här. Där hittar du all nödvändig information. Och kom ihåg att även om alla DS18B20 kan vara lika, beroende på tillverkare eller paket kan du hitta några ändringar ...

Men oavsett särdrag, här är några grundläggande tekniska data:

  • Temperaturvariation: -55 till 125 ° C, därför kan den mäta i gas eller vätska vid mycket låga och även höga temperaturer.
  • fel: DS18B20 är känslig för externt buller eller störningar som kan ge felaktiga värden i mätningarna. Felmarginalen är plus minus 2 ° C, men vid temperaturer mellan -10 ° C och 85 ° C, det vill säga när vi inte är nära gränserna, kan det bara vara en halv grad.
  • upplösning: Du kan arbeta med flera upplösningar eller minimala variationer som du kan upptäcka med Arduino analoga stift. Stöder 9-bitars, 10-bitars, 11-bitars och 12-bitars (standard). Det vill säga, det kan mäta från en halv till en halv grad, från en fjärdedel till en fjärdedel av en grad, från 0,125 till 0,125 ° C respektive från 0,0625 ° C. Du kan ändra denna programmering via programmeringskoden.
  • Matningsspänning: 3 till 5,5 v
  • pris: 1 till 3 €

Integration med Arduino

Arduino anslutningsdiagram - DS18B20

Även om det finns olika sätt att ansluta den, den mest lämpliga är den du ser i detta diagram. Det är ganska enkelt, med GND-stiftet i motsvarande anslutning på Arduino-kortet, strömförsörjningen densamma och sedan data till Arduino-analogen som du har valt i din programmeringskod i Arduino IDE. Men det är också bra att ställa in ett uppdragningsmotstånd på 4,7 k (om avståndet mellan sensorns sondkabel är större bör motståndet vara lägre, till exempel för 5m på 3,3k, för 10 av 2,2, XNUMXk, ... för datapinnen och håll den därmed alltid hög.

För programmering i Arduino IDE och dess goda integration med DS18B20 och det speciella protokollet rekommenderas att du laddar ner biblioteken Dallas temperatur y OneWire från miljön. Och baskoden, det kan vara ungefär detta exempel som jag visar:

#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 information - Programmeringshandbok för Arduino (gratis PDF)


Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.