DS18B20: teplotní senzor pro kapaliny

DS18B20

K dispozici jsou různé snímače vlhkosti a teploty, například LM35. Některé jsou zabudovány do modulů pro specifické použití s ​​Arduino. Obecně však mají měřit suchou teplotu, tj. Teplotu vzduchu. Existuje však konkrétní model, který funguje měří teplotu v kapalinách a nazývá se DS18B20. Zvláštnost, která se může hodit pro některé z vašich exotičtějších DIY projektů, kde hrajete také s nějakým druhem kapaliny, pro kterou potřebujete znát tento parametr.

DS18B20 ve skutečnosti neměřuje pouze teplotu uvnitř kapalin, ale může být velmi užitečné měřit teplotu uvnitř vlhkém prostředí a také pod nějakou kapalinou. Můžete jej tedy také použít k měření teploty vzduchu, pokud je prostředí dostatečně zatíženo vlhkostí. A jak jsem již řekl, vlastnost schopnosti ponořit ji do kapaliny k měření její teploty je jednou z vlastností, díky nimž je neuvěřitelně praktická.

Co je DS18B20?

Myslím, že to již zcela jasně vyšlo, je to elektronický senzor schopný měřit teplotu plynných nebo kapalných médií. Kromě toho existují různé balíčky nebo balíčky DS18B20, jako je základní, který vidíte na hlavním obrázku, nebo jej lze také integrovat do některých desek plošných spojů, ponorných sond atd. Pro svůj projekt byste si měli vybrat nejvhodnější formát podle toho, co chcete.

Například kromě typického TO-92 existuje také microSOP. Možná integrace s Arduino je nejvhodnější TO-92, protože se svými třemi kolíky je velmi snadné zasunutí do prkénka pro připojení.

Pinout

Kolíky DS18B20

El Pinout DS18B20 je snadné jej identifikovat. Vezmeme-li jako příklad balíček Dallas TO-92, který je jedním z nejpopulárnějších, uvidíte, že má tři piny. Pokud jej umístíte zepředu, tj. Se zaoblenou částí dozadu a při pohledu na plochý obličej, kde se objevují nápisy, je kolík nalevo 1 a pravý 3. Proto 1 by byl pro GND nebo zem, 2 je pro data a 3 pro napájecí napětí.

Zde musíme říci, že hodnoty, které byste měli znát:

  • Pin 1: musíte jej připojit ke kolíku GND Arduina, tj. Na 0v.
  • Pin 2: tento pin je DQ nebo data, ten, který bude odesílat teploty měřené senzorem do Arduina prostřednictvím konkrétního protokolu známého jako 1-Wire a který bude potřebovat speciální knihovnu a funkce pro Arduino IDE. To umožní použít pouze jeden pin Arduino k připojení více senzorů s tímto protokolem ...
  • Pin 3: Může být napájen od 3 do 5,5 V, takže jej můžete připojit k 5V výstupu Arduino.

DS18B20 technické vlastnosti a datový list

Jako vždy je zajímavé znát technické vlastnosti senzoru vědět, jak to funguje, aby nedošlo k jeho poškození, a především proto, abychom věděli, kde jsou jeho meze měření, protože pokud hodnoty, které chceme měřit, nejsou mezi nimi, nepomůže nám to a měli byste hledat jinou alternativu.

K tomu je nejlepší stáhnout a datový list výrobce, jako ten v Dallasu můžete vidět zde. Zde najdete všechny potřebné informace. A pamatujte, že i když všechny DS18B20 mohou být podobné, v závislosti na výrobci nebo balení můžete najít nějaké změny ...

Ale bez ohledu na vtípky je zde několik základní technické údaje:

  • Teplotní rozsah: -55 až 125 ° C, proto může měřit v plynu nebo kapalině při velmi nízkých a také vysokých teplotách.
  • Chyby: DS18B20 je citlivý na vnější šum nebo rušení, které může při měření způsobit chybné hodnoty. Míra chyby je plus mínus 2 ° C, i když při teplotách mezi -10 ° C a 85 ° C, to znamená, když nejsme blízko limitů, by to mohlo být jen půl stupně.
  • Řešení: Můžete pracovat s několika rozlišeními nebo minimálními variacemi, které zjistíte pomocí analogových pinů Arduino. Podporuje 9bitové, 10bitové, 11bitové a 12bitové (výchozí). To znamená, že může měřit od poloviny do půl stupně, od čtvrtiny do čtvrtiny stupně, od 0,125 do 0,125 ° C, respektive od 0,0625 ° C. Toto programování můžete změnit pomocí programovacího kódu.
  • Napájecí napětí: 3 až 5,5 v
  • cena: 1 až 3 €

Integrace s Arduino

Schéma připojení Arduino - ds18b20

I když existují různé způsoby připojení, nejvhodnější je ten, který vidíte v tomto diagramu. Je to docela jednoduché, s pinem GND v odpovídajícím připojení desky Arduino, stejným zdrojem napájení a poté daty do analogu Arduino, které jste vybrali ve svém programovacím kódu v Arduino IDE. Je ale také dobré nastavit 4,7k pull-up rezistor (pokud je vzdálenost kabelu sondy senzoru větší, měl by být odpor nižší, například pro 5m 3,3k, pro 10 z 2,2, XNUMXk,…) pro datový kolík a udržovat jej tak vždy na vysoké úrovni.

Pro programování v Arduino IDE a jeho dobrá integrace s DS18B20 a tímto konkrétním protokolem se doporučuje stáhnout si knihovny Dallasova teplota y OneWire z prostředí. A základní kód, může to být něco jako tento příklad, který zobrazuji:

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

Více informací - Programovací manuál Arduino (PDF zdarma)


Buďte první komentář

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.