DS18B20: czujnik temperatury cieczy

DS18B20

Dostępne są różne czujniki wilgotności i temperatury, takie jak LM35. Niektóre wbudowane w moduły do ​​konkretnego użytku z Arduino. Ale ogólnie służą do pomiaru temperatury suchej, czyli temperatury powietrza. Ale jest konkretny model, który się sprawdza mierzy temperaturę w cieczach i nosi nazwę DS18B20. Osobliwość, która może się przydać w niektórych bardziej egzotycznych projektach zrób to sam, w których bawisz się również jakimś rodzajem płynu, dla którego musisz znać ten parametr.

W rzeczywistości DS18B20 nie tylko mierzy temperaturę wewnątrz cieczy, ale może być bardzo przydatny do pomiaru temperatury w wilgotne środowisko, a także pod jakimś płynem. Dzięki temu można go również używać do pomiaru temperatury powietrza, jeśli środowisko jest bardzo obciążone wilgocią. I jak powiedziałem, możliwość zanurzenia go w cieczy, aby zmierzyć jego temperaturę, jest jedną z cech, które sprawiają, że jest niezwykle praktyczny.

Co to jest DS18B20?

Cóż, myślę, że stało się już całkiem jasne, to elektroniczny czujnik zdolny do pomiaru temperatury mediów gazowych lub ciekłych. Ponadto są różne hermetyzacje lub opakowania DS18B20, taki jak podstawowy, który widzisz na głównym obrazie, lub można go również zintegrować z niektórymi płytkami drukowanymi, sondami zanurzeniowymi itp. Dla swojego projektu powinieneś wybrać najbardziej odpowiedni format w zależności od tego, co chcesz.

Na przykład oprócz typowego TO-92 jest jeszcze microSOP. Możliwa integracja z Arduino najbardziej odpowiedni jest TO-92, ponieważ dzięki trzem bolcom można go bardzo łatwo włożyć do płytki stykowej w celu podłączenia.

Wyprowadzenia

Kołki DS18B20

El Układ pinów DS18B20 jest łatwy do zidentyfikowania. Na przykład, biorąc pod uwagę pakiet Dallas TO-92, który jest jednym z najpopularniejszych, jako odniesienie, widać, że ma trzy piny. Jeśli umieścisz go od przodu, to znaczy zaokrągloną częścią do tyłu i patrząc na płaską powierzchnię, na której pojawiają się napisy, pinezka po lewej stronie to 1, a ta po prawej to 3. Zatem 1 byłoby dla GND lub uziemienie, 2 to dane, a 3 to napięcie zasilania.

Tutaj musimy to powiedzieć, wartości, które powinieneś znać:

  • Pin 1: należy go podłączyć do pinu GND Arduino, czyli do 0v.
  • Pin 2: ten pin to DQ lub dane, który wyśle ​​temperatury zmierzone przez czujnik do Arduino za pośrednictwem specjalnego protokołu znanego jako 1-Wire i który będzie wymagał specjalnej biblioteki i funkcji dla Arduino IDE. Pozwoli to na użycie tylko jednego pinu Arduino do podłączenia wielu czujników z tym protokołem ...
  • Pin 3: Może być zasilany od 3 do 5,5 V, więc można go podłączyć do wyjścia 5 V Arduino.

Charakterystyka techniczna DS18B20 i karta katalogowa

Jak zawsze tak jest interesujące poznać właściwości techniczne czujnika, aby wiedzieć, jak działa, aby go nie uszkodzić, a przede wszystkim, abyśmy wiedzieli, gdzie są jego granice pomiaru, ponieważ jeśli wartości, które chcemy zmierzyć nie są między nimi, to nam nie pomoże i powinieneś poszukać innej alternatywy.

Aby to zrobić, najlepiej pobrać plik arkusz danych producenta, jak ten w Dallas można zobaczyć tutaj. Znajdziesz tam wszystkie niezbędne informacje. I pamiętaj, że chociaż wszystkie DS18B20 mogą być podobne, to w zależności od producenta czy opakowania możesz znaleźć pewne zmiany ...

Ale niezależnie od dziwactw, oto kilka podstawowe dane techniczne:

  • Zakres temperatury: -55 do 125ºC, dlatego może mierzyć w gazie lub cieczy w bardzo niskich, a także wysokich temperaturach.
  • Błędy: DS18B20 jest wrażliwy na szum zewnętrzny lub zakłócenia, które mogą dawać błędne wartości w pomiarach. Margines błędu wynosi plus minus 2ºC, chociaż w temperaturach od -10ºC do 85ºC, czyli gdy nie zbliżamy się do granic, może to być tylko pół stopnia.
  • Uchwała: Możesz pracować z kilkoma rozdzielczościami lub minimalnymi odchyleniami, które można wykryć za pomocą pinów analogowych Arduino. Obsługuje 9-bitowe, 10-bitowe, 11-bitowe i 12-bitowe (domyślnie). Oznacza to, że może mierzyć od pół do pół stopnia, od ćwierć do ćwierć stopnia, odpowiednio od 0,125 do 0,125ºC lub od 0,0625ºC. Możesz zmienić to programowanie za pomocą kodu programowania.
  • Napięcie zasilania: Od 3 do 5,5 V.
  • cena: 1 do 3 €

Integracja z Arduino

Schemat podłączenia Arduino - DS18B20

Jednak są różne sposoby połączenia, najbardziej odpowiedni jest ten, który widzisz na tym schemacie. Jest to dość proste, z pinem GND w odpowiednim połączeniu płyty Arduino, zasilanie jest takie samo, a następnie dane do analogu Arduino, który wybrałeś w swoim kodzie programowania w Arduino IDE. Ale dobrze jest też ustawić rezystor podciągający 4,7k (jeśli odległość przewodu sondy czujnika jest większa, rezystancja powinna być mniejsza np. Dla 5m 3,3k, dla 10 z 2,2, XNUMXk,…) dla pinów danych i dlatego zawsze utrzymuj je wysoko.

Dla programowanie w Arduino IDE i jego dobra integracja z DS18B20 i tym szczególnym protokołem, zaleca się pobranie bibliotek Dallas Temperatura y OneWire z otoczenia. A kod bazowy, może to być coś takiego jak ten przykład, który pokazuję:

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

Więcej informacji - Podręcznik programowania Arduino (bezpłatny PDF)


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.