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

[ATmega8][C][DS18B20] Pomiar temperatury - całkowity brak odpowiedzi

D12 21 Paź 2011 14:05 2561 2
REKLAMA
  • #1 10050129
    D12
    Poziom 14  
    Program przepisałem całkowicie z http://student.agh.edu.pl/~coni/avr_1wireobsluga.pdf zmieniłem tylko port na PC5.

    Najpierw podłączyłem dobrze i otrzymywałem takie coś:
    -16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\
    

    No w moim mieszkaniu to tak ok 24°C.

    Potem wyciągnąłem układ i wpiąłem źle (odwrotnie masę z zasilaniem). Zaczaiłem, że jest coś nie tak jak się prawie oparzyłem o ten układ. No i teraz nie wiem czy układ jest uwalony. Ma rezystancje pomiędzy nogami zależną od polaryzacji - do GND + do zasilajacej i jest 1,1 MOhm a odwrotnie to 13,5 MOhm.

    Układ w tym momencie działa tak: nic nie otrzymuje na terminalu z rs232 bez względu czy jest podpięty do zasilania czy pasożytniczo.
    Jednak gdy odepnę DS18B20 zasilanie to wywala to:
    -16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\0x00-16.1\0x00\0x00\
    

    Czyli to samo jak przedtem i teraz nie wiem czy wcześniej otrzymałem to samo bo kabel był luźno czy dlatego otrzymuje teraz to bo układ jest popsuty.

    Zmodyfikowałem jeszcze program i dodałem do else coś żeby wysyłał i właśnie cały czas jest wykonywany tylko else.

    :arrow: Schemat:
    [ATmega8][C][DS18B20] Pomiar temperatury - całkowity brak odpowiedzi

    :arrow: Kod
    temp.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    temp.c
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    rs232.h
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    main.c
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Umieszczam jeszcze pliki programu (koniec linii Linux)
  • REKLAMA
  • Pomocny post
    #2 10050277
    janbernat
    Poziom 38  
    Po pierwsze to kup nowego DS a tego wyrzuć- bo gdzieś go schowasz, zapomnisz że zepsuty- a za jakiś czas będziesz się znowu użerał.
    Ale zanim go wyrzucisz zmień us na ms na końcu programu.
    Zresztą powinno być 900ms a nie 200.
  • #3 10052878
    D12
    Poziom 14  
    No cóż zostaje wizyta w sklepie elektronicznym.
REKLAMA