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

Jak odczytywać temperaturę z 50 czujników DS18B20? Jedna czy wiele magistrali?

MARIO159 06 Sty 2006 23:14 1931 4
REKLAMA
  • #1 2154232
    MARIO159
    Poziom 12  
    Posty: 61
    Pomógł: 1
    Mam pytanie czy ktoś próbował odczytywać temp z ds18b20 gdy jest
    podłączonych około 50 szt. Czy polecacie kilka magistrali 1 wire czy zastosować jedną. Czestotliwość czytania to 1 minuta. Wykorzystać komp czy
    może przejsciówke mikroprocesor -> komputer?
  • REKLAMA
  • #2 2156190
    olekewaagata
    Poziom 25  
    Posty: 638
    Pomógł: 64
    Ocena: 28
    Przypuszczam że chyba nie ma takiego kogoś na tym forum.
    Ale na twoim miejscu podłączyłbym 50 DS-ów do jednej lini, wcześniej odczytując adres jednego z nich.
    Teraz wykonałbym pełną komunikację z tym DS-em którego numer wczesniej odczytałem. Jeśli komunikacja by poszła to już masz odpowiedz (bez przewodów doprowadzających, a te też mają wpływ).
    Natomiast jeśli komunikacja byłaby niemożliwa, zostawiłbym na lini tylko kilka DS-ów i ponownie sprawdzał, żeby znalezć ich liczbę przy której transmisja idzie.
    Oczywiście na lini zawsze zostawiałbym tego DS-a którego numer odczytałem wcześniej.
  • REKLAMA
  • #3 2156697
    jony15
    Poziom 25  
    Posty: 604
    Pomógł: 68
    Ocena: 74
    ja dla odmiany proponuje rozdzielic te 50 cujnikow na kilka "podmagistral" np za pomoca 4051 ( mam zamiar to przetestowac w bardzo niedalekiej przyszlosci ). dlaczego tak? dlatego ze jak ci padnie jeden czujnik i zrobi zwarcie to życze ci powodzenia w szukaniu który to. sterowanie tym chyba nie jest az za nadto skomplikowane ustawiasz odpowiednie piny 4051 i sterujesz odpowiednia podgrupe: wysylasz start pomiar, i przelanczasz sie na inna podgrupe itd. wady: 1 uklad wiecej, wiecej kabli do czujnikow, dłuzszy soft. pozdrawiam
  • REKLAMA
  • #4 2158306
    j_saw
    Poziom 13  
    Posty: 67
    Pomógł: 2
    Ocena: 59
    Ja u siebie mam w układzie gwiazdy podłączone 15 sztuk i to zwykłym przewodem 3-żyłowym (taki do zasilania) i wszystko działa OK. Jedyne co musiałem zrobić to zmniejszyć rezystancję podciągającą linię DQ na wartość 2.2k
    Dodatkowo układ z maksymalną częstotliwością odczytuje sekwencyjnie wszystkie czujniki (wraz z obliczaniam CRC) i naprawdę nie ma problemu.

    Kolega jony15 napisał :
    Cytat:
    dlaczego tak? dlatego ze jak ci padnie jeden czujnik i zrobi zwarcie to życze ci powodzenia w szukaniu który to.

    Kiedyś czytałem w jakiejś nocie aplikacyjnej, że jest małe prawdopodobieństwo, że układ 1-Wire uszkodzi się na zasadzie zwarcie wejścia. Ja miałem tylko jeden przypadek, że DS18B20 uległ uszkodzeniu (można było odczytać Serial Number ale temp. zawsze była stała)
    Układ, który nie reaguje na Reset_Pulse można łatwo znaleść w sieci przez procedurę SEARCH_ROM.
    Jeżeli chodzi o stosowanie multiplexera analogowego 4051..3 w układzie 1-Wire to do tego celu jest specjalizowany DS2409 - jest nawet do tego nota aplikacyjna gdzie jest pokazane jak podłączyć b. dużą liczbę układów 1-Wire.
    Wg. mnie istotne elementy to dobre przewody np. skrętka, poprawny algorytm (czasy) oraz ew. zastosowanie aktywnych rezystancji podciągających linię DQ
  • #5 2165739
    MARIO159
    Poziom 12  
    Posty: 61
    Pomógł: 1
    Mysle ze zastosuje 5 lini 1 wire sterowne z portu równoległego kompa.
    Dzieki za rady:)
REKLAMA