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

ADC ATmega88 - błędne odczyty napięcia z LM35, poprawne z potencjometru

lukash90 07 Cze 2012 21:58 1345 5
REKLAMA
  • #1 10978678
    lukash90
    Poziom 16  
    Witam, zauważyłem dziwną sprawę i nie mam pojęcia jak sobie z nią poradzić. Chciałem obsłużyć termometr LM35, więc napisałem program do obsługi ADC. Program działa, napięcie się mierzy tylko...gdy podłączam wejście do potencjometru, pomiar jest (prawie) ok. Jednak kiedy podłączam do LM35 pomiar przekracza zakres. Wziąłem zatem multimetr i sprawdzam:
    kiedy wejście uC jesd całkiem odłączone, na końcówce LM 35 jest 240mV, jednak kiedy podłączam przewód do uC, napięcie na końcówce LM35 wzrasta do ok 5V.

    Jednak, jak wspomniałem testowałem również na potencjometrze:
    Mierzę multimetrem napięcie na potencjometrze, jest 50mV
    Podłączam uC do potencjometru i na LCD widać zmierzone 50mV
    Jednak kiedy mierzę multimetrem znowu w momencie kiedy jest podłączony uC, multimetr pokazuje 330mV.

    Pytanie brzmi - skąd te wartości i dlaczego jeśli mimo tych dziwnych skoków jestem wstanie zmierzyć dość dokładnie napięcie na potencjometrze, to nie daje rady mierzyć na LM35? O złym podłączeniu czegokolwiek mowy nie ma, płytka gotowa, zakupiona z dobrej firmy.

    Dodam od razu kod, bo na prawdę mam nadzieję, że to w nim jest coś nie tak:

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


    Vref podaję obecnie z zewnętrznego źródła i wynosi ono dokładnie 1.1V ale próbowałem też z wewnętrznym źródłem oraz napięciem zasilania
  • REKLAMA
  • #2 10978778
    LordBlick
    VIP Zasłużony dla elektroda
    Nie pozostawiaj niczego przypadkowi:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
    Jak by nie zadziałało, to wyłącz obsługę wyświetlacza i sprawdź napięcia ponownie. Być może jakaś inna procedura "strzela w to wyprowadzenie, powodując włączenie podciągnięcia.
  • REKLAMA
  • #3 10978848
    lukash90
    Poziom 16  
    Niestety nie pomaga, a rzeczywiście jest podciągnięte wejście. Zmierzyłem właśnie napięcie na niepodłączonej do niczego nóżce PC5, jest 5.05V;
    Obsługa wyświetlacza nie ma raczej nic do rzeczy, korzysta tylko z portu D

    EDIT: Pomogła zmiana wejścia przetwornika na inne. Jednak skoro już założyłem wątek, to może ktoś spróbuje mi tutaj wyjaśnić dlaczego PC5 i jeszcze PC4 były podciągnięte do zasilania mimo wpisania zer do portu C i wyłączenia cyfrowej części końcówki? One mają jakąś szczególną funkcję w tym uC?
  • REKLAMA
  • #4 10979206
    LordBlick
    VIP Zasłużony dla elektroda
    W datasheet powinny być opisane twoje wątpliwości pod hasłem "Alternate Functions of Port C" Na moje oko gdzieś włączasz(lub robi to tak jak jest zaprogramowana jakaś biblioteka, której kodem się tu nie chwalisz) I²C(TwoWireSerial)...
    lukash90 napisał:
    Obsługa wyświetlacza nie ma raczej nic do rzeczy, korzysta tylko z portu D
    OK, skoro tak twierdzisz...
  • REKLAMA
REKLAMA