eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaSTM32 - problem z ADC
Ilość wypowiedzi w tym wątku: 14

  • 1. Data: 2011-11-08 09:16:36
    Temat: STM32 - problem z ADC
    Od: SM <b...@k...com.pl>

    Witam,

    Czy ktoś tu z obecnych bawił się ADC w procesorkach STM32
    i mógłby coś potwierdzić/sprawdzić u siebie?

    Mam układ na STM32F103RBT6 i wykorzystuję 4 kanały ADC1
    (regular channels) na PA0..PA3.

    Problem jest taki że mam spory szum z przetwarzania - tak
    jakby na zadawane przeze mnie napięcie do wejścia ADC coś
    się nakładało. Nie mogłem tego zwalczyć, więc zająłem się
    testowaniem ADC na pojedynczym wejściu.

    Podpiąłem wejście ADC (pin PA0) do źródła zasilania przez
    rezystor 10kOhm i dalej mam szum. Podpiąłem się więc z
    oscyloskopem i co widzę? W momencie startu przetwarzania
    przez ADC mam szpilkę napięciową na 100mV z wyjścia!

    Zgodnie z dokumentacją wewnętrznie do PA0 powinien być
    dołączony klucz (oporność około 1k) i kondensator
    kilka pF jako układ pamiętający (sample and hold).

    Efekt jest taki jakbym każdorazowo po starcie ADC miał
    ten wewnętrzny kondensator naładowany i musiał go nie
    ładować moim zewnętrznym, mierzonym napięciem, ale rozła-
    dowywać! Zmodyfikowałem układ aby "mocno" sterować wejściem
    dla ADC - wtórnik na wzm.operacyjnym. Trochę pomogło ale
    nie za wiele - ładunek jest na tyle duży że nawet operacyjny
    ma problem - układ zaczyna "dzwonić" i mam oscylacje.


    Mam więc pytanie - czy ktoś spotkał się z tym problemem
    w STM32? Czy one tak mają, czy też trafiłem na jakiś
    odrzut/podróbę?

    SM

    P.S.
    Ktoś chyba miał podobny problem

    http://www.elektroda.pl/rtvforum/topic2087721.html#9
    921288

    Nie jest to jednak efekt pamięciowy, bo występuje on także
    przy przetwarzaniu tylko jednego kanału (nie jest to więc
    "pozostałość" napięcia na wspólnym kondensatorze od S&H
    z pomiaru z innego kanału).



  • 2. Data: 2011-11-08 16:04:37
    Temat: Re: STM32 - problem z ADC
    Od: Michał Baszyński <m...@g...ze.ta.pl>

    W dniu 2011-11-08 10:16, SM pisze:

    > Zgodnie z dokumentacją wewnętrznie do PA0 powinien być
    > dołączony klucz (oporność około 1k) i kondensator
    > kilka pF jako układ pamiętający (sample and hold).
    >
    > Efekt jest taki jakbym każdorazowo po starcie ADC miał
    > ten wewnętrzny kondensator naładowany i musiał go nie
    > ładować moim zewnętrznym, mierzonym napięciem, ale rozła-
    > dowywać! Zmodyfikowałem układ aby "mocno" sterować wejściem
    > dla ADC - wtórnik na wzm.operacyjnym. Trochę pomogło ale
    > nie za wiele - ładunek jest na tyle duży że nawet operacyjny
    > ma problem - układ zaczyna "dzwonić" i mam oscylacje.

    na wejściu ADC powinieneś mieć zewnętrzny kondensator odpowiedniej
    pojemności (IMHO foliowy 10nF ew. ceramiczny - ale koniecznie NP0). Aby
    wzm. operacyjny przy takim obciążeniu Ci nie dzwonił odseparuj wyjście
    wzmacniacza od kondensatora opornikiem niewielkiej wartości (tak z
    50-100 omów), sprzężenie zwrotne weź z kondensatora. I powinno być OK.

    --
    Pozdr.
    Michał


  • 3. Data: 2011-11-08 16:17:40
    Temat: Re: STM32 - problem z ADC
    Od: SM <b...@k...com.pl>

    > na wejściu ADC powinieneś mieć zewnętrzny kondensator odpowiedniej
    > pojemności (IMHO foliowy 10nF ew. ceramiczny - ale koniecznie NP0). Aby
    > wzm. operacyjny przy takim obciążeniu Ci nie dzwonił odseparuj wyjście
    > wzmacniacza od kondensatora opornikiem niewielkiej wartości (tak z
    > 50-100 omów), sprzężenie zwrotne weź z kondensatora. I powinno być OK.
    >

    Jutro sprawdzę czy ten 10nF wystarczy aby "połknąć" wypływający
    z wejścia ładunek na tyle, żeby podbicie na nim napięcia
    nie było zbyt duże. I czy ten rezystor sprawdzi się aby
    wzm.oper. nie dzwonił.

    Wcześniej robiłem inny test. Sądziłem że to te zakłócenia to szum
    i dałem filtr RC między wzm.oper. a wejściem ADC. Stała czasowa
    bardzo mocno za duża (specjalnie do testów). Przy niewielkich
    napięciach tylko pogorszyło to sprawę - zadziałało "odwrotnie"
    - jak układ różniczkujący.

    SM


  • 4. Data: 2011-11-08 16:24:36
    Temat: Re: STM32 - problem z ADC
    Od: Zbych <z...@o...pl>

    On 08.11.2011 17:04, Michał Baszyński wrote:
    > W dniu 2011-11-08 10:16, SM pisze:
    >
    >> Zgodnie z dokumentacją wewnętrznie do PA0 powinien być
    >> dołączony klucz (oporność około 1k) i kondensator
    >> kilka pF jako układ pamiętający (sample and hold).
    >>
    >> Efekt jest taki jakbym każdorazowo po starcie ADC miał
    >> ten wewnętrzny kondensator naładowany i musiał go nie
    >> ładować moim zewnętrznym, mierzonym napięciem, ale rozła-
    >> dowywać! Zmodyfikowałem układ aby "mocno" sterować wejściem
    >> dla ADC - wtórnik na wzm.operacyjnym. Trochę pomogło ale
    >> nie za wiele - ładunek jest na tyle duży że nawet operacyjny
    >> ma problem - układ zaczyna "dzwonić" i mam oscylacje.
    >
    > na wejściu ADC powinieneś mieć zewnętrzny kondensator odpowiedniej
    > pojemności (IMHO foliowy 10nF ew. ceramiczny - ale koniecznie NP0)

    Czemu koniecznie NP0? Wartość pojemności nie jest krytyczna.

    > wzm. operacyjny przy takim obciążeniu Ci nie dzwonił odseparuj wyjście
    > wzmacniacza od kondensatora opornikiem niewielkiej wartości (tak z
    > 50-100 omów), sprzężenie zwrotne weź z kondensatora. I powinno być OK.

    Podłączanie sprzężenia w taki sposób to proszenie się o oscylacje.


  • 5. Data: 2011-11-08 17:21:00
    Temat: Re: STM32 - problem z ADC
    Od: Michał Baszyński <m...@g...ze.ta.pl>

    W dniu 2011-11-08 17:24, Zbych pisze:

    >> na wejściu ADC powinieneś mieć zewnętrzny kondensator odpowiedniej
    >> pojemności (IMHO foliowy 10nF ew. ceramiczny - ale koniecznie NP0)
    >
    > Czemu koniecznie NP0? Wartość pojemności nie jest krytyczna.

    absorbcja dielektryczna. Wartość nie jest krytyczna

    --
    Pozdr.
    Michał


  • 6. Data: 2011-11-08 21:05:21
    Temat: Re: STM32 - problem z ADC
    Od: Zbych <z...@o...pl>

    On 08.11.2011 18:21, Michał Baszyński wrote:
    > W dniu 2011-11-08 17:24, Zbych pisze:
    >
    >>> na wejściu ADC powinieneś mieć zewnętrzny kondensator odpowiedniej
    >>> pojemności (IMHO foliowy 10nF ew. ceramiczny - ale koniecznie NP0)
    >>
    >> Czemu koniecznie NP0? Wartość pojemności nie jest krytyczna.
    >
    > absorbcja dielektryczna. Wartość nie jest krytyczna

    To by miało znaczenie w układnie próbkująco-pamiętającym. Tutaj masz
    kondensator na wyjściu wtórnika.


  • 7. Data: 2011-11-09 14:17:01
    Temat: Re: STM32 - problem z ADC
    Od: Michał Baszyński <m...@g...ze.ta.pl>

    W dniu 2011-11-08 22:05, Zbych pisze:

    > To by miało znaczenie w układnie próbkująco-pamiętającym. Tutaj masz
    > kondensator na wyjściu wtórnika.

    przy 10-12 bitach wbudowanych w uC to cokolwiek by nie dał i tak będzie
    dobrze.
    Ale przy dokładniejszych to inżynierowie Texasa na seminarium "Precision
    Analog Applications" parę lat temu zalecali jednak NP0
    O, chyba znalazłem (strona 22):
    http://www.ti.com/lit/ml/slyp166/slyp166.pdf
    Sugerują mikowe albo NP0/C0G z powodu nieliniowości ceramiki o dużej
    stałej K.
    Natomiast pisząc o braniu sprzężenia zwrotnego z kondensatora, a nie
    sprzed opornika, zasugerowałem się rys. 44 z będącego jakiś czas temu u
    mnie na tapecie PCM1804. Zapomniałem jednak o "drobiazgu" w postaci
    jednak dość sporego kondensatora w sprzężeniu zwrotnym bezpośrednio
    pomiędzy wyjściem i wejściem odwracającym :-(
    Tak więc z tym masz w dużej części rację - stałoprądowe (decydujące o
    dokładności) jest brane z kondensatora, natomiast dołożone jest
    dodatkowe zmiennoprądowe dla zachowania stabilności.
    Tu zalecają jednak foliowe (str. 29) na wejściu ADC.

    --
    Pozdr.
    Michał


  • 8. Data: 2011-11-09 15:14:16
    Temat: Re: STM32 - problem z ADC
    Od: Zbych <a...@o...pl>

    W dniu 2011-11-09 15:17, Michał Baszyński pisze:
    > W dniu 2011-11-08 22:05, Zbych pisze:
    >
    >> To by miało znaczenie w układnie próbkująco-pamiętającym. Tutaj masz
    >> kondensator na wyjściu wtórnika.
    >
    > przy 10-12 bitach wbudowanych w uC to cokolwiek by nie dał i tak będzie
    > dobrze.
    > Ale przy dokładniejszych to inżynierowie Texasa na seminarium "Precision
    > Analog Applications" parę lat temu zalecali jednak NP0
    > O, chyba znalazłem (strona 22):
    > http://www.ti.com/lit/ml/slyp166/slyp166.pdf

    Dzięki za podanie linka.

    > Sugerują mikowe albo NP0/C0G z powodu nieliniowości ceramiki o dużej
    > stałej K.

    Czyli problem wynika z nieliniowości pojemności w funkcji napięcia i ma
    znaczenie tylko przy pomiarze napięć zmiennych. Według wykresów z pdfa
    nie ma się co martwić o typ dielektryka przy częstotliwościach do 1kHz.

    > Natomiast pisząc o braniu sprzężenia zwrotnego z kondensatora, a nie
    > sprzed opornika, zasugerowałem się rys. 44 z będącego jakiś czas temu u
    > mnie na tapecie PCM1804. Zapomniałem jednak o "drobiazgu" w postaci
    > jednak dość sporego kondensatora w sprzężeniu zwrotnym bezpośrednio
    > pomiędzy wyjściem i wejściem odwracającym :-(
    > Tak więc z tym masz w dużej części rację - stałoprądowe (decydujące o
    > dokładności) jest brane z kondensatora, natomiast dołożone jest
    > dodatkowe zmiennoprądowe dla zachowania stabilności.
    > Tu zalecają jednak foliowe (str. 29) na wejściu ADC.
    >


  • 9. Data: 2011-11-09 15:16:55
    Temat: Re: STM32 - problem z ADC
    Od: Zbych <a...@o...pl>

    W dniu 2011-11-08 10:16, SM pisze:
    > Witam,
    >
    > Czy ktoś tu z obecnych bawił się ADC w procesorkach STM32
    > i mógłby coś potwierdzić/sprawdzić u siebie?
    >
    > Mam układ na STM32F103RBT6 i wykorzystuję 4 kanały ADC1
    > (regular channels) na PA0..PA3.
    >
    > Problem jest taki że mam spory szum z przetwarzania - tak
    > jakby na zadawane przeze mnie napięcie do wejścia ADC coś
    > się nakładało. Nie mogłem tego zwalczyć, więc zająłem się
    > testowaniem ADC na pojedynczym wejściu.
    >
    > Podpiąłem wejście ADC (pin PA0) do źródła zasilania przez
    > rezystor 10kOhm i dalej mam szum. Podpiąłem się więc z
    > oscyloskopem i co widzę? W momencie startu przetwarzania
    > przez ADC mam szpilkę napięciową na 100mV z wyjścia!

    Sprawdź erraty, zwłaszcza rozdział:

    "Voltage glitch on ADC input 0"


  • 10. Data: 2011-11-09 16:30:50
    Temat: Re: STM32 - problem z ADC
    Od: SM <b...@k...com.pl>

    W tej chwili na szybko dodałem na drucikach
    zewnętrzny ADC 10bit po SPI (MCP3008).

    Żadnego szumu, szpilek, czy też innych
    problemów - pomiar z dokładnością 1 LSB.

    Nie mniej jednak procka jeszcze przetestuję
    bo zawsze to trochę szkoda nie korzystać
    z jego ADC.

    I jeszcze jedna uwaga. Układ zrobiłem tak,
    że odczyt analoga robię z częstotliwością 5kHz
    , wybieram największą wartość jaka wystąpi w
    jednej sekundzie i zapisywał ją na kartę SD.

    W ten sposób testowałem problemy z ADC. Paskudne
    było to, że te szpilki wyłaziły czasem co kilka
    sekund. Tak jakby start przetwarzania ADC lekko
    przesuwał się w czasie - raz wypadało to na
    maksimum szpilki, raz nie. Ciekawe było to że
    raz trafiał procek w wartości pośrednie
    (widoczne jako szum), innym razem albo nie rejestrował
    piku, albo raz na kilka sekund zarejestrował
    max. skok 100mV (bez wartości pośrednich).
    Wszystko zależało od wartości napięcia na danym
    kanale czy też innych kanałach - ciężko
    było ustalić jakąś zależność.

    SM

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: