Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

ATmega32 - błędny pomiar temperatury z DS18B20

RexioManTM 20 Feb 2015 22:44 825 5
  • #1
    RexioManTM
    Level 11  
    Witam. Mam problem z poprawnym odczytem temperatury z czujnika DS18B20. Otóż na ATmedze328 wszystko działa poprawnie. Używając tej samej biblioteki na ATmega32 wartość raz wynosi 0.0 C a raz różne dziwne wyniki np. 6548 itd. Dodam, że DHT11 działa, więc odmierzanie czasu przy użyciu 1wire jest poprawne. Nie wiem, gdzie może tkwić problem.

    @edit - przez przypadek dałem temat nie w tym dziale. Powinno być: Mikrokontrolery Początkujący
  • #2
    hajy
    Level 21  
    Witam

    Jak ty nie wiesz gdzie jest problem to skąd my mamy to wiedzieć.
    Nie załączyłeś ani schematu ani listingu.

    Pozdrawiam Romek
  • #3
    RexioManTM
    Level 11  
    PA7 -> DS18B20 schemat jest niepotrzebny, ponieważ obecnie tylko ten czujnik jest podłączony, więc poza ATmega32, filtracją zasilania i DS18B20 nic więcej nie ma. Kod jest poprawny, bo działa na ATmega328. DS18B20 podciągnięty rezystorem 4,7k. Być może ktoś już miał podobny problem, a rozwiązaniem były np. źle ustawione fuse bity. Nie wiem co może przyczyną, dlatego liczę na pomoc kogoś z zewnątrz co być może wie o co chodzi.
  • #5
    RexioManTM
    Level 11  
    main.c

    Code: c
    Log in, to see the code





    DS18B20.c

    Code: c
    Log in, to see the code





    DS18B20.h

    Code: c
    Log in, to see the code




    Na ATmedze328 działa.

    Przepraszam za brak SYNTAX.
  • #6
    RexioManTM
    Level 11  
    Nie wiem co się dzieje z tym czujnikiem ale problem został rozwiązany. Po prostu zadziałał.