- posted
15 years ago
[ATMega8] Przetwornik ADC i UART podczas Noise Reduction
- Vote on answer
- posted
15 years ago
Nie wiem, ale ADC w AVR-ach to jest generalnie porażka. Jeśli zależy ci na dokładności pomiaru to zastosuj zewnętrzny ADC.
- Vote on answer
- posted
15 years ago
Możesz rozwinąć? Mam problem z ATmega8 - używam ADC do pomiaru napięcia z przetwornika momentu obrotowego. Czasami pomiar mi "podskakuje" coś jakby szpilka, ponadto szumi niemiłosiernie. Sam już nie wiem czy jestem ślepy i czegoś nie widzę w PDF czy może te przetworniki są faktycznie tak słabe. Potrzebuje około 9 bitów rozdzielczości i myślałem że bez problemów a tu nie :/ Jest jakaś ogólna uzasadniona opinia o wbudowanych ADC w megach?
- Vote on answer
- posted
15 years ago
Sebastian Bialy przemówił ludzkim głosem:
Zależy w jakich zastosowaniach. Ja bez problemu uzyskiwałem niezaszumiony wynik na 9/10 bitach (zarówno w atmega 8 jaki i 128). Większe szumy miałem tylko na dwóch kanałach, które w nocie wyraźnie zostały opisane jako te o gorszej dokładności.
- Vote on answer
- posted
15 years ago
- Vote on answer
- posted
15 years ago
- Vote on answer
- posted
15 years ago
Generalnie na grupie panuje opinia, że ten ADC jest bardzo średni - też potwierdzam. Chociaż póki co nie potrzebowałem od niego dużej dokładności. No ale próby wykazały swoje.
- Vote on answer
- posted
15 years ago
Witam,
Dnia 18.10.08 (sobota), 'Bogdan G' napisał(a):
Albo zastosować mikrokontrolery z lepszym ADC - np. ADuC. Tylko nie wiem, czy to jeszcze uC z ADC, czy też ADC z uC... ;)
- Vote on answer
- posted
15 years ago
Pewne znaczenie ma tez czestotliwosc probkowania. Zmniejsz zegar taktujacy ADC to powinno zmniejszyc szumy.
- Vote on answer
- posted
15 years ago
Użytkownik T.M.F. napisał:
Taktowanie rejestru przetwornika (a nie częstotliwość próbkowania) ma w AVR-ach duży wpływ na szumy. O ile czas przetwarzania nie jest bezwzględnym priorytetem zawsze stosuję największy dzielnik częstotliwości (CK/128). Przy dobrze zaprojektowanej płytce (prowadzenie mas analogowych i cyfrowych) i prawidłowym odsprzęgnięciu zasilania części analogowej uzyskiwałem te
10bitów (tzn. sporadycznie "banglał" tylko najmłodszy bit). Pewien problem pojawiał się w ATmega8. Mają one wadę produkcyjną polegającą na wewnętrznym połączeniu zasilania części cyfrowej VCC z zasilaniem części analogowej AVCC (rezystancja przejścia ok 5om). W tym przypadku odsprzęgnięcie zasilania części analogowej za pomocą dławika jest w zasadzie nieskuteczne. Przypadłości tej nie ma seria ATmega48/88 i tam gdzie zależy mi na trochę mniejszych szumach wolę stosować 48/88. Ale we wszystkich AVR-ach przy wysokich częstotliwościach taktowania ADC trudno jest mówić o 6..7 bitach bo pozostałe to już generator losowy ;-)Pozdrawiam Grzegorz
- Vote on answer
- posted
15 years ago
W AVR taktowanie rejestru przetwornika odbija sie na czestotliwosci probkowania. Im szybciej probkujesz tym wieksze musisz zapodac taktowanie.
Jest jeszcze oversampling jako metoda zwiekszenia precyzji ADC. Bawilem sie tak z samplowaniem napiecia z LM35 i stabilne 10 bitow dawalo sie uzyskac bez problemow na ATMega8, przy oversamplingu 256x dawalo rade wyciagnac stabilne 12 bitow. Polecam note AVR121: Enhancing ADC resolution by oversampling.
- Vote on answer
- posted
15 years ago
- Vote on answer
- posted
15 years ago
Użytkownik mw158979 napisał:
Czyli przy CLK=16MHz będzie to właśnie maksymalny podział przez 128 co da 125kHz. Przy kwarcu 8MHz można sobie pozwolić na podział przez 64 (choć i w tym przypadku podział /128 daje stabilniejsze wyniki).
Wada polega na zmniejszeniu skuteczności dławika filtrującego zasilanie części analogowej.
No fakt trochę nieprecyzyjnie się wyraziłem. Chodzi mi o taktowanie na poziomie 2..8MHz (dzielnik CLK/8..CLK/2 przy kwarcu 16MHz).
Pozdrawiam Grzegorz
- Vote on answer
- posted
15 years ago
Użytkownik T.M.F. napisał:
Ale przy szybkim taktowaniu wcale nie muszę szybko próbkować. Nieporozumienie powstało z powodu nomenklatury. Dla mnie próbkowanie jest związane z działaniem układu sample&hold na wejściu przetwornika. Oczywiście czas pobierania próbki (zamknięcia klucza próbkującego) jest związany z częstotliwością taktowania przetwornika (trwa jeden okres zegara taktującego ADC). Jednak czas pobierania próbki prze układ SH nie ma aż takiego wpływu na szumy. Natomiast samo przetworzenie tej próbki w rejestrze aproksymacyjnym jest już wrażliwe na czestotliwość taktowania. Wydaje mi się, ze będzie to związane z jakością komparatora.
Metoda ta jest mi znana i daje całkiem niezłe rezultaty, ale niestety kosztem znacznego spadku prędkosci przetwarzania.
Pozdrawiam Grzegorz