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

Nieprawidłowy odczyt temperatury z DS1820 na ATmega16 przez USART

mrgr 26 Lis 2007 16:18 1653 4
REKLAMA
  • #1 4522925
    mrgr
    Poziom 15  
    Posty: 179
    Pomógł: 15
    Witam,
    po 3-dniowych poszukiwaniach w necie i na forach nadal nie wiem czemu nie działa mi odpowiednio odczyt z ds'a
    po wyslaniu komendy odczytu i odczekaniu ok 2s otrzymuję przez usart co następuje (po kolei wszystkie 9 bajtów):
    46 0 75 70 255 255 11 16 110
    jak wynika z dokumentacji pierwsze 2 bajty to temp, czyli u mnie w pokoju panuje ok 2 stopni... trochę to dziwne bo siedzę w krótkim rękawku i jest mi ciepło :|
    jak dotykam ds'a to odczyt zaczyna sobie rosnąć i dostaje np.:
    16:13:30> 48 0 75 70 255 255 11 16 131
    16:13:32> 51 0 75 70 255 255 4 16 94
    16:13:34> 52 0 75 70 255 255 9 16 7
    16:13:36> 53 0 75 70 255 255 1 16 50
    16:13:37> 54 0 75 70 255 255 11 16 16
    16:13:39> 55 0 75 70 255 255 7 16 30

    Ponadto 2ga sprawa... nie mogę zaprogramować bajtu konfiguracyjnego... niezależnie co podam to i tak odczytuje 255 (dodam że korzystam z kodu 1 wire znalezionego w necie i przerobionego, ale jak wynika z obserwacji na oscyloskopie to powinno być ok :|)... bajty dla górnej i dolnej temp zapisuje mi dobrze...
    jakiś pomysł???

    Dziękuję za poświęcenie czasu na lekturę posta i ewentualne odpowiedzi
  • REKLAMA
  • #2 4524215
    soft.sc
    Poziom 17  
    Posty: 142
    Pomógł: 15
    Ocena: 4
    liczby 48 0 to 0030H czyli 24 stopnie. To też jest w dokumentacji.
  • REKLAMA
  • #3 4524450
    mrgr
    Poziom 15  
    Posty: 179
    Pomógł: 15
    Cytat:
    48 0 to 0030H czyli 24 stopnie

    ale jak Ty to liczysz ?
    na stronie 3 w dokumentacji mam tabelkę,i tam jest napisane
    np.: +25,0625 st C = 0191h a to się równa 401d.... czyli 401dx0,0625=25,0625
    i tak samo .... 85 st C = 0550h = 1360d ... 1360dx0,0625=85 st C

    czyli licząc analogicznie dla mojego przypadku 48d x 0,0625 = 3 st C
  • REKLAMA
  • Pomocny post
    #4 4524497
    soft.sc
    Poziom 17  
    Posty: 142
    Pomógł: 15
    Ocena: 4
    Piszesz DS1820 a czytasz dokumentację DS18B20, a te czujniki różnią się rozdzielczością. DS1820 ma 0,5 stopnia.
REKLAMA