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.
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
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. | 1536 | 11. | 1533 | 2. | 1536 | 12. | 1533 | 3. | 1534 | 13. | 1533 | 4. | 1534 | 14. | 1533 | 5. | 1534 | 15. | 1533 | 6. | 1534 | 16. | 1534 | 7. | 1533 | 17. | 1533 | 8. | 1533 | 18. | 1533 | 9. | 1533 | 19. | 1533 | 10. | 1533 | 20. | 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