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

Atmega8 ds1820 - rózne odczyty

PetrolGda 20 Lip 2009 10:02 2555 16
  • #1 6800147
    PetrolGda
    Poziom 12  
    Witam

    Mam zestaw uruchomieniowy ZL2AVR. Podłączyłem do niego czyjnik ds1820 na 3 liniach. Napisałem i uruchomiłem program w Bascomie do odczytu temperatury. Działa prawdłowo. Temperatura odczytana jest zgodna z temperaturą na termometrze kontorlnym.

    i teraz ....

    Wykonałem własną płytke z Atmega8 - tyle że z obudowie TQFP. Taki sam kwarc jak w zestawie ZL2AVR czyli 8MHz. Fuse bity ustawione tak samo. Wgrywam ten sam program w Bascomie i mam nieco ine odczyte temperatury.
    Na płycie ZL2AVR mam 24 st. a na mojej własnej z tego samego egzempla czujnika 1820 mam 31 st.

    Gdzie szukać przyczyny ? Poza obudową Atmega8 (DIL - TQFP) wszytskie elementy są takie same. Podciągnięcie 1820 do zasilania 3k3 .

    Pozdrawiam
    Krzysztof
  • #2 6800178
    FastProject
    Poziom 28  
    Poka schemat ideowy i pcb zbudowanej przez ciebie płytki.Może masz na niej stabilizator a zaraz koło niego czujnik?
  • #3 6800206
    wdogli
    Poziom 18  
    Hej.
    Napisz dokładnie jakie czujniki masz. Z tego co wiem są czujniki DS18B20, DS18S20,DS1820. Jeśli masz zastosowane dwa różne czujniki może to być przyczyną innych odczytów gdyż informacja odczytywana z tych czujników ma różną postać binarną na przykład +25 stopni dla DS1820 ma postać 0032h natomiast DS18B20 ma postać 0191h. Pozdrawiam
  • #4 6800227
    FastProject
    Poziom 28  
    Przecież napisał, że
    Cytat:
    a na mojej własnej z tego samego egzempla czujnika 1820 mam 31 st.

    Odczyt temperatury z DS18S20 i DS1820 jest taki sam!
  • #5 6800304
    PetrolGda
    Poziom 12  
    Czujnik jest typu ds18s20.
    Ale tak jak pisałem. Aby wyeliminować ewentualne problemy z samym czujnikem prowadzę testy na tym samym układzie. Fizycznie przekładam go z jednej płytki do drugiej. I mimo to uzyskuję inne wyniki.

    PCB wrzucę na forum wieczorem ...

    (Teraz przyszło mi do głowy)
    Czy fakt, że uklad Atmega8 TQFM zamontowany jest na PCB od spodu a na drugiej stronie płytki (góra) jest transformator może mieć znaczenie ?
  • #6 6800315
    FastProject
    Poziom 28  
    Jeśli trafo się nagrzewa ,a czujnik jest wlutowany gdzieś blisko to tak.
  • #7 6800332
    PetrolGda
    Poziom 12  
    Nie. Czujnik jest 10 cm od płytki.
    Trafo nie nagrzewa się.
    Mam na myśli raczej pole magnetyczne transformatora w którym jest sam procesor. O tym wpływie myślałem ...

    K.
  • #8 6800353
    FastProject
    Poziom 28  
    Jeśli faktycznie wpływa, to prawdopodobnie będą błędy w odczycie, ale ni spotkałem się z takim przypadkiem.Na początek to może zmniejsz rezystor podciągający 1Wire i sprawdzaj sumę CRC z DS18S20.
  • #9 6812336
    flapo213
    Poziom 21  
    Witam. Przychylam się temu co napisał Daro_Elektornik, magi nie ma włącz CRC tylko upewnij się że dobrze liczysz to CRC albo pobierz algorytm z datasheeta od Dallasa on dobrze liczy CRC. Podejrzewam też że numeru seryjnego to też nie pobierasz i układu raczej też nie adresujesz. Sprawdź czy dobry numer odczytasz itd. Pozdrawiam
  • #10 6813815
    michalko12
    Specjalista - Mikrokontrolery
    PetrolGda napisał:
    Witam

    Gdzie szukać przyczyny ? Poza obudową Atmega8 (DIL - TQFP) wszytskie elementy są takie same. Podciągnięcie 1820 do zasilania 3k3 .



    Za mocno jest podciągnięta linia danych. Zwiększ ten rezystor, w trakcie transmisji tranzystor zwiera do masy tą linię i może powodować dodatkowe dogrzewanie struktury. I dla pewności wyłącz podciąganie portów w procesorze w trakcie odczytu DSa.
  • #11 6818645
    nouki
    Poziom 25  
    Witam.

    Osobiście spotkałem się z czujnikami Ds18B20 które koło siebie miały rozpiętość do 3st.

    Układ posiadał 4 czujniki na 4 oddzielnych liniach wszystkie rezystory takie same podciągające a mimo to temperatura się różniła.
    Zamiana czujników skutkowała tymi samymi różnicami i odchyłkami (oczywiście zamieniała miejsca wraz z czujnikami ).
    Pomogło kupienie czujników od pewnego dostawcy- po tym działaniu wszystkie wskazują tyle samo.
  • #12 6825264
    FastProject
    Poziom 28  
    Ja w sumie też coś sobie przypominam, że kiedyś trafiłem na takie z rozrzutem. A prawie codziennie mam okazje testować i obserwować te czujniki.
  • #13 6825760
    Wojtek75
    Poziom 24  
    PetrolGda mam prośbę. Odczytaj bezpośrednio z obudów stabilizatorów zestawu uruchomieniowego i Twojego własnego układu ich dane i podaj je tutaj.

    pozdr.
  • #14 6825777
    PetrolGda
    Poziom 12  
    Dziękuję wszystkim za cenne uwagi i podpowiedzi.
    Jak pisałem w pierwszym poscie tego wątku przenosiłem fizycznie ten sam czujnik z zestawu uruchomieniowego do własnego. Nie był to więc "taki samy" lecz "ten sam układ" DS1820 .

    Ale przyczynę już znalazłem. Okazała się banalna. Mój własny układ ma na płytce stabilizator z radiatorem a do tego stał w czasie tamtych eksperymentów pod dodatkową lampą. A ponieważ sam czujnik ma czarną obudowę, zapewne łapał ciepło i z radiarora i z lampy. W sumie dało to aż taką różnicę temperatur o której pisalem. Nie sądziłem, że takie małe źródła ciepła mogły mieć aż taki wpływ na wyniki pomiarów.

    Po wyniesieniu czujnika na długi kabel i umieszczeniu go w stałym, nieoświetlonym miejscu, wyniki pomiarów są identyczne.

    Pozdrawiam
  • #15 6825831
    wdogli
    Poziom 18  
    BRAWO !! Czyli zwyczajne zawracanie du....
  • Pomocny post
    #16 6825905
    FastProject
    Poziom 28  
    Ja wiedziałem, że tak będzie ;P
  • #17 6825930
    PetrolGda
    Poziom 12  
    Daro_Elektronik > Twoja sugestia dotycząca radiatora pomogła mi zlokalizować problem. Dzięki.
REKLAMA