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

[AVR] ADC. Jak skonfigurować pin? Przetwornik A/C.

Petros 01 Maj 2009 23:49 3260 21
REKLAMA
  • #1 6480107
    Petros
    Poziom 20  
    Witam

    Kiedy chce korzystać z pinu np PC0(ADC) jako przetwornika analogowo cyfrowego jak należy skonfigurować pin? Ma być wejściem? Ma być wewnętrznie podciągany do masy czy zasilania?

    Zauważyłem że ma to wpływ na pomiar ADC ale żadne rozwiązaie nie daje idealnych wyników. Dla napięć równych 0V uzyskuje wynik 60mV a napięcia około 1,2V są już dokładne
  • REKLAMA
  • #3 6480126
    dawid512
    Poziom 32  
    Wydaje mi się że ustawia się jedynie rejestry przetwornika bez ustawiania DDRx.
  • #4 6482620
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • REKLAMA
  • #9 6491804
    wilk125
    Poziom 23  
    Tak się podepnę do tematu bo nie miałem z ADC w AVR do czynienia. Czy mogę użyć dwóch pinów (np PC0 i PC1) jednocześnie do pomiaru napięcia?
  • #10 6491881
    r06ert
    Poziom 25  
    A dał kolega filtr na wejściu przetwornika? Zakładam że napięcie zasilania jest dobrze odfiltrowane. Ja kiedyś budowałem termometr na AVR z LM35 z dokładnością 1st. Dla lm35 współczynnik przetwarzania wynosi 10mV/st i nic mi nie skakało. ;)

    Jeżeli chodzi o problem kolegi wilk125, nie możesz. :) AVRy maja jeden przetwornik (no chyba ze są jakieś wyjątki ;) ). Napięcie do przetworzenia kierowane jest do niego za pomocą multipleksera z różnych pinów procka.
  • #11 6492005
    wilk125
    Poziom 23  
    Rozumiem, że stosując szybkie przełączanie miedzy PC0 i PC1 uzyskam efekt pseudo równoległego pomiaru, zwłaszcza, że w projekcie który wymyśliłem obydwa mierzone napięcia są od siebie niezależne i wystarczy ze ich pomiaru dokonam co 0,01 s.
  • #12 6492130
    r06ert
    Poziom 25  
    oczywiście, należy tylko po przełączeniu multipleksera odczekać kilkaset us przez konwersją ADC. Taka praktyczna rada. ;) Chodzi o ustabilizowanie napięć w obwodach ADC :)
  • #13 6496605
    Konto nie istnieje
    Konto nie istnieje  
  • #14 6497109
    r06ert
    Poziom 25  
    tak, AVCC dajesz tez VCC, ale dobrze jest to napięcie dodatkowo odfiltrować, np za pomocą filtru LC. Stosowanie filtru nie ma sensu tylko w przypadku ATmega8 - wynika to z błędu konstruktorów, ale sam przetwornik sprawuje się dobrze mimo tego. :)
    Jeżeli czegoś nie wiecie Panowie to odsyłam do noty katalogowej. Jest wszystko wyjaśnione.
    Pozdrawiam
  • #15 6499719
    Petros
    Poziom 20  
    mama jeszcze takie pytanie...
    w nocie katalogowej piszą: "13 - 260 μs Conversion Time"
    13us odpowiada cześtotliwości poróbkowania 77kHz !! komuś udało sie tyle wycisnąć? mi udaje sie 15kHz przy 8 bit
  • #16 6499885
    r06ert
    Poziom 25  
    Prawdę mówiąc ja nie potrzebowałem szybkich przetwarzań - kilka na kilka sekund starczyło.

    W czym piszesz program? Może program nie nadążą pobierać przetworzone wartości? Masz ustawiony tryb tzw. samobieżny? Być może jednak masz za mała częstotliwość zegara, a być może złe nastawy preskalera częstotliwości zegara ADC?
  • #17 6500028
    Petros
    Poziom 20  
    mam atmege8 na 16 Mhz i w trybie Free Runing Mode i wynik wyrównany do lewej (odczytuje tylko ADCH 8 bitów) kiedy dałem około 20kHz przestał próbkować całkowicie
  • #18 6500138
    crazy_phisic
    VIP Zasłużony dla elektroda
    Petros napisał:
    mam atmege8 na 16 Mhz i w trybie Free Runing Mode i wynik wyrównany do lewej (odczytuje tylko ADCH 8 bitów) kiedy dałem około 20kHz przestał próbkować całkowicie


    Zapewniam Cię że nie przestał - tylko Twój program się nie wyrabiał.
  • #19 6501317
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #20 6501457
    _Robak_
    Poziom 33  
    Wydaje mi sie ze uzywanie filtru LC jest bez sensu, bo czysci wszystkie czestotliwosci poza f0.
  • #21 6501621
    Konto nie istnieje
    Konto nie istnieje  
  • #22 6501777
    crazy_phisic
    VIP Zasłużony dla elektroda
    g_06 napisał:
    r06ert napisał:
    tak, AVCC dajesz tez VCC, ale dobrze jest to napięcie dodatkowo odfiltrować, np za pomocą filtru LC.


    A ten filtr LC wygląd tak:

    [AVR] ADC. Jak skonfigurować pin? Przetwornik A/C.



    g_06 napisał:
    Bo u mnie jak podłącze zasilanie do avcc to procesor nawet nie ruszy... programator też go nie wykrywa..


    Jeśli powyższy filtr jest na zasilaniu to się nie dziw że procesor się nie zgłasza - cewka to "zwarcie" dla napięcia stałego.
REKLAMA