logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

DS1820/DS18B20 - błędne pomiary z powodu braku rezystora podciągającego

max666 15 Lip 2005 18:41 3461 6
REKLAMA
  • #1 1656310
    max666
    Poziom 13  
    Posty: 94
    Pomógł: 2
    Ocena: 8
    Moze komus sie przyda ta informacja. Zrobilem ukad pomiarowy na procku i kolejno DS1820 i DS18B20 . W obu przypadkach Ds byl na 2 metrowym przewodzie ekranowanym. Co ktorys pomiar z Ds byl bledny, zwlaszcza przy zmianach temperatury. Powodem byl brak rezystora podciagajacego linie danych do zasilania (4,7k). Przy projektowaniu stwierdzilem ze podciagniecie do zasilania w procku wystarczy. Po dolutowniu rezystora objawy blednej pracy jak reka odjął. Krotko mowiac nie wystarczy zasilac lini danych tylko z pinu procka. Ds chodzil w konfiguracji z zewnetrznym zasilaniem.

    Pozdrawiam MB
  • REKLAMA
  • #2 1656708
    Tomcio7
    Poziom 17  
    Posty: 297
    Pomógł: 8
    Ocena: 19
    Ale i nawet wtedy zdarzaja sie błędne pomiary. Kiedys zrobilem sterownik temperatury na 18B20 i co jakis 100 pomiar był błędny, ale programowo mozna to bez problemu usunąc.
  • REKLAMA
  • #3 1656931
    michalko12
    Specjalista - Mikrokontrolery
    Posty: 3394
    Pomógł: 462
    Ocena: 321
    Tomcio7 napisał:
    Ale i nawet wtedy zdarzaja się błędne pomiary. Kiedys zrobilem sterownik temperatury na 18B20 i co jakis 100 pomiar był błędny, ale programowo mozna to bez problemu usunąc.


    Przy długich przewodach to nic wyjątkowego, czasami pomaga odfiltrowanie zasilania np. kondensatorem 0,1u przy samym czujniku,pod warunkiem że nie jest zasilany z lini danych.
  • #4 1657078
    jacur
    Poziom 32  
    Posty: 1748
    Pomógł: 166
    Ocena: 295
    Do sprawdzania poprawnosci otrzymanych danych z DS-a jest suma kontrolna CRC która znajduje sie w 9 bajcie wysyłanym przez DS-a.
  • REKLAMA
  • #5 1658317
    SAINTbul
    Poziom 12  
    Posty: 17
    Pomógł: 1
    Ocena: 1
    No fakt, bez rezystora podciągającego linie danych nasz układ troche wariuje. Sam to sprawdziłem (oczywiście przez przypadek) w praktyce. Tak na marginesie producent w swoich notach aplikacyjnych i danych o układzie informuje własnie o rezystorze podciągającym ok. 4,7k ale nie zawsze się o nim pamięta :)
  • REKLAMA
  • #6 1658568
    lechoo
    Poziom 39  
    Posty: 5161
    Pomógł: 377
    Ocena: 546
    Nic dziwnego że bez rezystora podciagającego otrzymuje się głupoty, przecież port wyjściowy w DS-ie to otwarty dren.
  • #7 1978852
    max666
    Poziom 13  
    Posty: 94
    Pomógł: 2
    Ocena: 8
    Zgadza się, lecz przy projektowaniu liczylem ze podciag w procku do +vcc wystarczy na to bez problemu.


    Dzikeuje wszytkim.
    Pozdrawiam MB

Podsumowanie tematu

✨ Brak rezystora podciągającego 4,7 kΩ na linii danych czujników DS1820 i DS18B20, szczególnie przy długich przewodach ekranowanych (ok. 2 m), powoduje błędne pomiary temperatury, zwłaszcza podczas zmian temperatury. Podciągnięcie linii danych jedynie do zasilania mikrokontrolera okazuje się niewystarczające, gdyż port wyjściowy czujnika działa jako otwarty dren. Do poprawnej pracy konieczne jest zastosowanie zewnętrznego rezystora podciągającego do +Vcc. Dodatkowo, przy długich przewodach zaleca się filtrację zasilania kondensatorem 0,1 µF przy czujniku, pod warunkiem że zasilanie nie jest pobierane z linii danych. Błędy pomiarowe można także wykrywać i eliminować programowo, wykorzystując sumę kontrolną CRC zawartą w 9. bajcie danych przesyłanych przez czujnik. Producent w dokumentacji technicznej podkreśla konieczność stosowania rezystora podciągającego, co jest kluczowe dla stabilności i poprawności odczytów temperatury.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA