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

STM32F1 (F103c8t6) ADC + DMA + Vrefint , Jak to robić?

chlebok 03 Sty 2023 13:15 495 0
REKLAMA
  • #1 20365291
    chlebok
    Poziom 10  
    Posty: 128
    Ocena: 56
    Próbowałem od dłuższego czasu wykonać stabilny odczyt Vref przez DMA (dla testów ADC na stałym napięciu). Próbowałem eliminować możliwe błędy pomiarowe ADC lub w konfiguracji przetwornika. Zajęło to sporo czasu i równie sporo motywacji do pracy nad pewnym projektem, a błąd finalnie okazał się (najpewniej) po stronie zasilania, mianowicie po zmianie zasilania z zew. 3v3 na 5v + stabilizator płytki blue-pill, błąd nie występuje. Co ciekawe błąd na mierzonym na pinie napięci nie występował.

    Podczas poprawek istotnym w moim przypadku było ustawienie 14MHz zegara ADC (co jest wymagane), oraz zmiana prescaler'a z 'ADC prescaler /8' na 'AHB prescaler /8' oraz wykonanie (również wymaganej w nocie) kalibracji i (nie opisanej w DS) przerwy po kalibracji a przed startem ADC'ka.

    Poniżej możecie zobaczyć dane z kolejno odczytanych pierwszych pomiarów ADC po starcie DMA. Wejście Vrefint.

    1. 153611. 1533
    2. 153612. 1533
    3. 153413. 1533
    4. 153414. 1533
    5. 153415. 1533
    6. 153416. 1534
    7. 153317. 1533
    8. 153318. 1533
    9. 153319. 1533
    10. 153320. 1533


    Pierwsze dwa rekordy są jakby zawyżone, czasem jest to kilka, kilkanaście zawyżonych wartości.

    Poza tabelką kolejne kilkaset pomiarów to 1533 i 1534. Co ciekawe te wyniki oscylują w bardzo niskiej częstotliwości , tzn. po kilku sekundach raz odczytam serię 1000rekordów 1533 a raz 1536 (+-1).

    Jak ktoś zna problematykę zachęcam do opisania swojej dydaktyki
  • REKLAMA
REKLAMA