Termometr DS18B20 i ESPEasy

You are currently viewing Termometr DS18B20 i ESPEasy

Dziś omówimy działanie popularnych termometrów DS18B20, oraz ich konfigurację w ESPeasy do współpracy z Domoticzem.

DS18B20 w wodoodpornej obudowie

Cyfrowy czujnik temperatury DS18B20 z interfejsem 1-wire. Działa w zakresie od -55 °C do 125 °C. Zasilany jest napięciem od 3,0 V do 5,5 V. Jest to jeden z najpopularniejszych termometrów cyfrowych, które możemy spotkać w wielu popularnych urządzeniach.

 

Termometr DS18B20

 

DS działa w oparciu o magistralę 1-wire. Zasadniczo składa się ona z 3 przewodów:

  • Masa (-)
  • Data, czyli dane
  • Zasilanie (+)

Jako przewód możemy zastosować skrętkę.

Schemat podłączenia DS18B20

Należy zwrócić uwagę, że do działania termometr potrzebuje dodatkowego zasilania tzw „pull up” szyny danych.

Pull Up realizujemy poprzez dodatkowe połączenie zasilania 3.3v z szyną danych przy pomocy rezystora 4.7k. W ten sposób powstała magistrala 1-wire może obsługiwać wiele termometrów jednoczenie. Kolejne czujniki podłączamy równolegle, w sposób analogiczny do pierwszego. Każdy z termometrów posiada swój własny numer seryjny, dzięki któremu będziemy mogli je odróżniać w systemie.

Szeregowe połączenie kilku DS18B20

 

Alternatywnym sposobem na podłączenie termometrów DS18B20 jest tzw. połączenie pasożytnicze 🙂

Potrzebujemy wtedy tylko dwóch przewodów. Aby wprowadzić temometr w mod parasite zwieramy nóżkę GND wraz z Vdd, podpinając do jednej żyły, a DATA do drugiej, nie zapominając o pull up.

 

Należy zwrócić uwagę że w trybie pasożytniczym termometr może przekazać wyniki pomiarów nie przekraczające 100 stopni. Więcej informacji na temat działania samego termometru znajdziemy w jego nocie katalogowej.

 

Kabelki gotowe, przechodzimy do ESPeasy!

W poprzednim artykule uruchomiliśmy ESPeasy na ESP8266, aby skonfigurować termometr odwiedzamy adres naszego ESP w przeglądarce.

Przechodzimy do zakładki Devices i klikamy edit na pierwszej wolnej pozycji.

 

 

Z listy rozwijanej Devices wybieramy DS18B20.
W polu Name wpisujemy nazwę dla naszego termometru.
Zaznaczamy Enabled.
w 1st GPIO wybieramy numer portu GPIO do którego podłączony jest przewód DATA naszej magistrali.
Device Address – tutaj pojawią się wszystkie termometry, podłączone do danej szyny.
Device resolution – rozdzielczonść pomiarów (więcej informacji w nocie katalogowej).

Teraz wróćmy do Domoticza.

Musimy dodać nowe urządzenie wirtualne, które będzie wykorzystywane przez ESP do przekazywania pomiarów. Konfiguracja/sprzęt

Wybieramy Nazwę, Typ: Dummy i klikamy dodaj.

Następnie aby dodać nowy termometr klikamy: Utwórz wirtualne czujniki

 

Aby znaleźć IDX, przechodzimy do zakładki Urządzenia:

I odczytujemy Idx ( w moim wypadku 64).

 

Wartość IDX wprowadzamy w ESP Easy, a całość zapisujemy. W zależności od ustawionego czasu odświeżania wyniki pomiarów powinny po chwili pojawić się w Domoticzu!

Facebook Comments Box

Ten post ma 6 komentarzy

  1. Sławek

    Kurcze jakoś nie chce mi to działać 🙁 Czy można by było liczyć na pomoc ?

    1. Sławek

      W ESP czujnik działa pokazuje temperaturę a w domoticzu cały czas zero 🙁

      1. Wiktor

        Cześć
        Mam dokładnie taki sam problem jak ty.
        I od 2 dni próbuję z tym sobie jakoś poradzić i niestety się nie udaje 🙁

  2. Tomasz

    U mnie też nie działa w domoticzu, w esp niby działa idx ustawione takie same.

  3. Tomasz

    Witam miałem podobny problem z działająco nie działającym czujnikiem, Pomogło dodanie reguły w espeasy: //when temp is updated from device setup page
    on Temp#Temperature do
    SendToHTTP 192.168.57.226,8081,/json.htm?param=udevice&type=command&idx=6&nvalue=0&svalue=[Temp#Temperature]
    endon

    Oczywiście trzeba podstawić własne ip nazwy urządzenia i idx. Powodzenia

  4. Wiktor W

    Cześć, mam kilka pytań:
    1) ile można podpiąć takich termometrów jedną i druga metodą?
    2) mam rozłożonych 8 szt. termometrów, które zbiegają się w jednej puszce, do której dochodzi skrętka (dwie skrętki). Jakbyś sugerował optymalnie podpiąć je w puszce? wszystkie spiąć jedną z dwóch opisanych metod, czy wykorzystać różne żyły w dwóch skrętkach i zrobić tylko wspólne zasilanie + osobną żyłą każdy sygnał danych?
    3) czy moduł ESP lepiej umieścić w puszcze i wtedy tylko zasilić go skrętką?
    4) nie potrzebuję dostępu bezprzewodowego, mam skrętkę, do czego jeszcze mogę podpiąć te 8 termometrów?
    5) czy tak podłączone termometry będzie można użyć w HA lub innych gotowych systemach jak np. AMPIO?
    6) czy można skrócić ich kable czy może to wpłynąć na dokładność/różnicę pomiarów?
    pozdrawiam
    Wiktor

Skomentuj Wiktor W Anuluj pisanie odpowiedzi