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

Jak zmierzyć napięcie różnicowe ADC0 i ADC1 w BASCOM na ATmega 16?

nazgool6 15 Sty 2008 21:00 2741 7
REKLAMA
  • #1 4698213
    nazgool6
    Poziom 2  
    Posty: 4
    Witam,

    szukalem na necie ale nic konkretnego nie znalazlem wiec pytam :)
    potrzebuje zmierzyc napięcie ale nie między masą i jakimś punktem a jako różnicę dwóch potencjałów.
    W atmedze 16 wg specyfikacji jest 7 wejsc roznicowych, chce wykorzystac wejscia ADC0 i ADC1.

    Jak napisac program w bascomie do tego pomiaru?

    pzdr
    P.
  • REKLAMA
  • #2 4699073
    dawid512
    Poziom 32  
    Posty: 1439
    Pomógł: 229
    Ocena: 6
    A nie lepiej zmierzyc jedno napiecie przy uzyciu ADC0 i drugie przez ADC1 i potem programowo wyliczyc roznice?
  • REKLAMA
  • #3 4699296
    cyberdar
    Poziom 31  
    Posty: 1465
    Pomógł: 161
    Ocena: 73
    Witam

    To co zaproponował przedmówca jest proste ale niekoniecznie musi być skuteczne (dokładne). Jeśli będziesz mierzył spadek napięcia na szeregowym rezystorze (np. 0.1Ω) w zasilaczu to pomiary mogą się skończyć niczym. Zdecydowanie proponuję wzmacniacz różnicowy na wzmacniaczu operacyjnym. wystarczyć powinien do tego np. LM358, TL082, itp. Do tego 4 rezystory w miarę precyzyjne i po kłopocie. Drugi WO w układzie można wykorzystać jako wtórnik. Zmierzone napięcie poprzez dobór rezystorów można wzmocnić rozszerzając na cały zakres pomiarowy uC i mierzyć bardzo dokładnie. Oczywiście to jest prostsza wersja wzmacniacza różnicowego można wykonać wersję na 4 WO.

    --
    pozdrawiam
  • REKLAMA
  • #4 4699298
    PiotrPitucha
    Poziom 34  
    Posty: 2658
    Pomógł: 201
    Ocena: 423
    Cześć
    Oczywiście że nie lepiej mierzyć osobno i odejmować, ale to osobna bajka.
    Do pomiaru różnicowego musisz jeszcze podać z jakim wzmocnieniem chcesz mierzyć i dla tego wzmocnienia określasz Mux
    Binarnie to będzie :
    10000 dla x1
    01001 dla x10
    01010 dla x200
    Tą liczbę wstawiasz do Getadc( .. ) czyli dla wzmocnienia x1 wstawiasz 16
    Oczywiscie musisz dbać o to by nie przekroczyć dopuszczalnych napięć, ale o tym lepiej poczytaj w PDFie
    Piotr
  • #5 4699364
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 570
    bascom często ma problem z zaawansowanymi trybami pracy przetworników , timerów itp często nie działa to tak jak powinno.
  • REKLAMA
  • #6 4701020
    nazgool6
    Poziom 2  
    Posty: 4
    wlasnie chcialbym to wykorzystac do pomiaru pradu na rezystorze.
    pdfa czytalem, wzmocnienie jest mozliwe nie na wszystkich kanalach, na kanalach ADC0 i ADC1 jest mozliwe ale to inna bajka.

    ale glownie chodzi mi o to, ktory kanal odczytywac 0 czy 1? i czy to bedzie wszystko.
    wiem, ze to prosto samemu sprawdzic ale przez najblizsze 2 tygodnie nie mam takiej mozliwosci.

    najlepszy bylby fragment sprawdzonego kodu (config i getadc)

    pzdr
    P.
  • #8 4702128
    nazgool6
    Poziom 2  
    Posty: 4
    ok, wielkie dzięki!!!

    pzdr
    P.

Podsumowanie tematu

✨ Dyskusja dotyczy pomiaru napięcia różnicowego między wejściami ADC0 i ADC1 mikrokontrolera ATmega16 przy użyciu Bascoma. Podkreślono, że pomiar różnicowy bezpośrednio z ADC może być trudny i mniej dokładny, dlatego zaleca się zastosowanie wzmacniacza różnicowego na wzmacniaczu operacyjnym (np. LM358, TL082) z precyzyjnymi rezystorami, co pozwala na wzmocnienie sygnału i dokładniejszy pomiar. W Bascomie do odczytu napięcia różnicowego należy użyć kanału 16 (adres binarny 10000) w funkcji Getadc(), a dla pomiarów ze wzmocnieniem odpowiednio kanałów 9 (01001) lub 10 (01010). Wzmocnienie jest możliwe na niektórych kanałach, w tym ADC0 i ADC1, ale wymaga odpowiedniej konfiguracji. Zwrócono uwagę, że Bascom może mieć problemy z obsługą zaawansowanych trybów ADC. Autor poszukiwał przykładowego kodu konfiguracyjnego i odczytu, a w odpowiedzi wskazano, że dla pomiaru różnicowego między ADC0 i ADC1 należy odczytywać kanał 16 i uwzględniać wzmocnienie w konfiguracji.
Wygenerowane przez model językowy.
REKLAMA