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

kit 2857 problem z termometrem ds18b20

norbis15 23 Cze 2010 15:55 3155 9
REKLAMA
  • #1 8222705
    norbis15
    Poziom 14  
    Witam wykonałem taki układ: http://download.avt.pl/AVT2857.pdf Wszystko działa poprawnie za wyjątkiem termometru, który cały czas wyświetla tą samą wartość temperatury 28 st lub 85 st, Czujnik ds18b20 jest prawidłowo wlutowany, nie mogę rozstrzygnąć na czym polega problem. Proszę o Pomoc
  • REKLAMA
  • #2 8222902
    gaskoin
    Poziom 38  
    problem może być w programie, albo źle przylutowałeś termometr, wyrocznia delficka dzisiaj wyjątkowo śpi. Zamieść jakieś zdjęcia płytki, kod programu etc...
  • REKLAMA
  • REKLAMA
  • #5 8225215
    sp3ots
    Poziom 38  
    Witam !
    norbis15 napisał:
    Co to oznacza, gdy czujnik pokazuje 85st?

    To oznacza że sygnał z czujnika nie dochodzi do procesora.
    Sam wgrywałeś program do ATmega8 ?
    Czy zmieniłeś ustawienia fuse bitów na rezonator zewnętrzny ?
  • #6 8225881
    flapo213
    Poziom 21  
    Witam,

    Dokumentacja do DS18B20 mówi tak że jeśli odczytana temperatura z czujnika wynosi 85 to czujnik nie wykonał jeszcze poprawnego pomiaru temperatury i pokazuje defaultową (standardowo ustawiną pierwotną temperaturę w rejestrze). Jeśli po podłączeniu czujnika widzisz 85C to oznacza że transmisja jest w miare poprawna (stwierdzenie w miarę poprawna rozwinę w dalszej części). Twój problem może mieć kilka przyczyn:

    1. Błędna procedura resetu czujnika.

    2. Błędny spsób zasilania czujnika.

    3. Błędy spowodowane zakłóceniami.

    Wyjaśnienie odnośnie stwierdzenia 'w miarę poprawna':

    Jeśli procedura resetu czujnika tzn wstrzymania go powyżej 480us + 100us(lub więcej) spowoduje zresetowanie czujnika i ponowne umieszczenie w rejestrze DS18B20 wartości 85C.

    Jeśli jest to atmega to przełączanie portów w trybie zasilania parasite power również ma znaczenie ( przestawianie DDRx PORTx - ma znaczenie która pierwsza instrukcja została wykonana).

    Silne fale elektormagnetyczne będące w pobliżu mogą mieć również znaczenie (jakeiś przetwornice itd).


    Zalecenia.

    Sprawdź jaki masz rezystor na linii podciągającej DO (Maxim podaje chyba przy 5V 2k7 lub coś koło tego nie pamiętam dokładnie).

    Tryb zasilania czujnika:

    1. 3-przewodowy

    2. 2-przewodowy

    Sprawdź w jakim trybie pownieneś zasilać czujnik.

    Jeśli w trybie 3-przewodowym to Vcc_pin_czujnika-5V, DO_pin - IO_Port, GND_pin - GND.

    Jeśli w trybie 2-przewodowym to Vcc_pin-GND, DO_pin - IO_Port, GND_pin - GND.

    Ważen również jest czy program który wgrałeś obsługuje różne rozdzielczości czujnika czy tylko 12bit. Chociaż przy tego typu usterce byłby błędny odczyt czykli jakieś głupoty na wyświetlaczu.

    W moich procedurach odczytu czujnika ja uzyskałem uniwersalność przy stosowania kwarcu w zakresie od 4MHz - 12 MHz dla Atmeg.

    Przy błędnych czasówkach zazwyczaj odbiera się same znaki 0xFF.

    Pozdrawiam,

    PS. Powiadom o efektach


    Ja stawiam na błędne zasilanie czujnika !.
  • #7 8226617
    gaskoin
    Poziom 38  
    ja stawiam na odwrotnie przylutowany czujnik, spróbuj go odwrócić
  • #8 8226936
    flapo213
    Poziom 21  
    Czy przy odwrotnie przylutowanym czujniku termometr zwróci wartość 85C. Odsyłam do dokumentacji czujnika.
  • REKLAMA
  • #9 8227225
    gaskoin
    Poziom 38  
    zwróci najmniejszą możliwą temp. Pullup cały czas będzie powodował stan wysoki. Z tym, że po procedurze resetu powinieneś otrzymać błąd
REKLAMA