Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

DS18B20 - DS18B20 - nie działa po podłączeniu dodatkowego czujnika

05 Mar 2015 19:16 1749 6
  • Poziom 10  
    Witam.

    Zachodzę w głowę co może być przyczyną dziwnego zachowania czujników.
    Układ działa w trybie 1-wire, 2 przewody. Opornik pomiędzy linią informacyjną a 5V to 4.7kOhm.

    DS18B20 - DS18B20 - nie działa po podłączeniu dodatkowego czujnika

    Ma to wyglądać jak na obrazku. Jeśli podłącze 4 czujniki do 2 'huba' wszystko działa i podaje prawidłową temp.

    Wystarczy jednak, że dopnę kolejny czujnik do huba nr 1 i cały pomiar przestaje działać.

    Kabel lączący huby ma 12m (2x0.5mm2, 3ohmy). Pozostałe kable dochodzące do czujników mają od 5 do 10m.

    I na odwrót też zachowuje się to tak samo.

    Hub 1 i 2 nie chcą działać równocześnie.

    Jest na to jakiś sposób?
  • Poziom 11  
    Mnie pomogło zmniejszenie wartości rezystora, spróbuj.
  • Poziom 10  
    niestety nie pomogło zmniejszenie rezystora.
  • Poziom 27  
    Obejrzyj na oscyloskopie, albo chociaż analizatorze logicznym co się dzieje na linii sygnałowej i najprawdopodobniej będziesz miał odpowiedź czemu nie działa.

    Przykładowe informacje, których podanie na pewno nie utrudniłoby znalezienia odpowiedzi, a najprawdopodobniej zwiększyłoby zainteresowanie tematem i pokazało, że Tobie zależy na uzyskaniu pomocy a nie "strzałach w ciemno i domysłach":
    1. jaki mikrokontroler stosujesz
    2. w jakim języku jest program
    3. źródło programu
    4. co to jest "dziwne zachowanie czujników"
    5. co to jest tryb 1-wire
    6. z czego układ jest zasilany
    7. jak skonfigurowane są termometry
    8. co to są te magiczne "huby"
    9. co to znaczy "przestaje działać"
    10. co to znaczy, że na odwrót zachowuje się tak samo
    11. jaki przewód - konkretnie
    12. itd...

    Rysunek paprotki bardzo ładny, ale za wiele się z niego nie wywróży ;)

    O! Zwracam honor - mikrokontroler jest podpisany na laurce.
  • Poziom 16  
    Przy zasilaniu pasożytniczym czujnika najważniejsza jest wydajność prądowa linii. Jeden czujnik podczas konwersji pobiera 1 ÷ 1,5mA i potrzebuje minimum 3V do prawidłowej pracy. Oscyloskopem sprawdzić napięcie na linii podczas konwersji i dopasować rezystor - program aby było min. 3V.

    PS. Rezystor też nie powinien być przesadnie mały.
  • Poziom 36  
    luke21 napisał:
    Witam.

    Zachodzę w głowę co może być przyczyną dziwnego zachowania czujników.
    Układ działa w trybie 1-wire, 2 przewody. Opornik pomiędzy linią informacyjną a 5V to 4.7kOhm.


    Ma to wyglądać jak na obrazku. Jeśli podłącze 4 czujniki do 2 'huba' wszystko działa i podaje prawidłową temp.

    Wystarczy jednak, że .......


    Jest na to jakiś sposób?


    Tak, chyba jest sposób!!!.....
    Czy próbowałeś zastosowac układ podany w datasheet konfiguracji zasilania w stylu "PARASITE-POWERED" (?), albo zastosowac pełne 3-przewodowe zasilanie? Patrz datasheet Figure 4 (górny diagram).
    Więcej informacji na ten temat zawiera publikacja:
    http://www.maximintegrated.com/en/app-notes/index.mvp/id/148

    e marcus.
  • Poziom 10  
    Mimo prób nie udało mi się uruchomić podanego układu.

    Dlatego rozdzieliłem czujniki na 2 szyny po 4 szt na każdej, w dalszym ciągu w układzie gwiazdy. Przy łącznej długości kabla 25 i 40m rezystory nie wymagały zmiany.

    Poniżej wklejam mój działający kod gdyby ktoś kiedyś potrzebował.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod