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

Atmega128 wzmocnienie na wejściach różnicowych Bascom

15 Lut 2009 09:06 2118 5
REKLAMA
  • #1 6152092
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #2 6152107
    PiotrPitucha
    Poziom 34  
    Witam
    Odpowiedź brzmi MOŻNA to obsłużyć w Bascomie, czy można zrezygnować ze wzmacniacza? tu już nie jest tak łatwo odpowiedzieć, jeśli nie wymagasz dużej precyzji to można, poczytaj w PDFie o tym jak zmniejsza się rozdzielczość ADC w zależności od wzmocnienia.
    Niektóre procesory nie tracą rozdzielczości po ustawieniu wzmocnienia na ADC, Attiny26 tak ma i niektóre nowe Atmegi ale nie pamiętam numeru.
    Piotr
  • REKLAMA
  • #3 6152164
    ZbeeGin
    Poziom 39  
    opaluch napisał:
    Czy jest możliwość obsłużenia tego w Bascomie?


    ZbeeGin w nowym helpie napisał:
    Funkcja GETADC()

    Przeznaczenie:
    Pobiera wynik przetwarzania z wbudowanego przetwornika ADC na wybranym kanale.

    Składnia:
    zmienna = GETADC( nr_kanału [, offset ] )

    gdzie:
    zmienna - zmienna typu Word do której wpisana będzie przetworzona wartość,
    nr_kanału - numer kanału przetwornika ADC. Zwykle z zakresu 0 – 7, choć przyjmuje wartości 0 - 31.
    offset - Opcjonalna zmienna lub stała określająca wzmocnienie lub tryb pracy przetwornika. Przeznaczona dla nowszych układów.


    Opis:
    Funkcja GETADC() działa jedynie na mikrokontrolerach posiadających wbudowany przetwornik A/D. Koncówki wejściowe przetwornika A/D z reguły dzialaja także jako normalne linie portów. Jest szczególnie ważne, by podczas pracy przetwornika ich stan nie był zmieniany.

    Należy upewnić się czy przetwornik ADC został wcześniej włączony instrukcją START ADC, lub też przez ustawienie odpowiednich bitów w rejestrze kontrolnym przetwornika.

    Uwaga! Instrukcji tej nie można użyć jeśli za pomocą CONFIG ADC skonfigurowano przetwornik do pracy w trybie FREE.

    Funkcja GETADC() zwraca wartość typu Word ze względu na to iż rejestr danych przetwornika jest dłuższy niż 8 bitów (zajmuje dwa bajty w przestrzeni I/O). Jego rozdzielczość zależy od możliwości jakie daje dany mikrokontroler.

    Z poziomu języka BASCOM Basic jest dostępna także specjalna zmienna ADCD, która zawiera wartość jaką ostatnio przetworzył przetwornik i jest odzwierciedleniem stanu rejestru danych przetwornika.

    Opcje zaawansowane
    Normalnie przetwornik mierzy napięcia na końcówkach ADCx względem masy analogowej AGND. Jest to tzw. tryb Single Ended Input. W większości obecnie produkowanych mikrokontrolerów AVR jest możliwy także pomiar róźnicowy - Differential Input, w którym napięcia są mierzone pomiędzy dwoma końcówkami z których jedna staje się wejściem odwracającym a druga wejściem nieodwracającym. Dodatkowo w tym trybie dostępna jest możliwość wzmocnienia sygnału nawet do 200 razy.

    Uwaga! Wynik pomiaru należy wtedy traktować jako liczba w systemie U2.

    Tryby te można wybrać podając w funkcji GETADC() odpowiedni numer kanału, który ustawi bity ADMUX zgodnie z tabelą znajdującą się w nocie katalogowej użytego mikrokontrolera.

    Przykładowo aby odczytać napięcie w trybie różnicowym w układzie ATTiny26 z kanałów ADC4 (wejście +) i ADC5 (wejście -) należy napisać:
      D = Getadc(21) 'pomiar pomiędzy ADC4-ADC5: ADMUX=10101

    Niektóre z mikrokontrolerów (np. ATMega1280, ATMega2560) posiadają więcej niż 7 podstawowych kanałów przetwornika. W celu zachowania kompatybliności ze starszymi mikrokontrolerami zostały one przeniesione "na drugą połówkę" multipleksera. Dlatego też instrukcję poszerzono o dodatkowy parametr, który steruje dodatkowym bitem MUX5 w rejestrze ADCSRB, który należy ustawić jeśli używamy kanału o numerze większym niż 7.

    Przykładowo aby odczytać napięcie w trybie Single Ended w układzie ATMega1280 z kanałów 8 i 9 należy napisać:
      W = Getadc(0 , 64)  ' from data sheet :  100000 ADC8
      W = Getadc(1 , 64)  ' from data sheet :  100001 ADC9

    To spowoduje, że do ADMUX trafi 5 młodszych bitów wyboru kanału, a paramter offset określony jako 64 ustawi bit MUX5 w celu pomiaru na tych kanałach z opcją Single Ended Input.

    Zobacz także:
    CONFIG ADC , START ADC , Noty katalogowe
  • REKLAMA
  • #4 6152193
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #5 6153165
    janbernat
    Poziom 38  
    A gdzie jest nowy help?
    Ja mam1.11.7.4
REKLAMA