Forum: Mikrocontroller und Digitale Elektronik ATMega ADC Sample Rate


von Michael K. (mmike)


Lesenswert?

Hallo,
ich hätte mal ne Frage zum ADC von einem Atmel ATMegaXX. Im Datenblatt 
steht:

> By default, the successive approximation circuitry requires an input clock
> frequency between 50 kHz and 200 kHz to get maximum resolution. If a lower
> resolution than 10 bits is needed, the input clock frequency to the ADC can
> be higher than 200 kHz to get a higher sample rate.

Mir ist klar was passiert, wenn die Sample Rate höher als 200 kHz ist, 
aber was passiert wenn ich unter die 50 kHz gehe ?

Grüße,
Michael

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Dann kannst Du nur noch langsam verändernde Spannungsverläufe abtasten. 
Außerdem dauert die Wandlung dann unnötig lange.

von Michael K. (mmike)


Lesenswert?

Wird die Wandelung dann auch genauer, oder sind dann 10bit eben 10bit ? 
Die Spannung die abgetastet wird ändert sich eh nur sehr langsam ....

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Mehr als 10bit geht nicht, bzw. nur mit Tricks (Überabtastung mit 
Überlagerung eines definierten Rauschpegels).

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> aber was passiert wenn ich unter die 50 kHz gehe?

Zusätzliche Theorie:

Die Wandlung wird ungenauer, weil die sample&hold-Schaltung im Eingang
bereits einen Spannungsabfall über das Messintervall erfahren kann.

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

> Mir ist klar was passiert, wenn die Sample Rate höher als 200 kHz ist,

input "clock frequency" between 50 kHz and 200 kHz != "SampleRate"

von Jan (Gast)


Lesenswert?

Wenn ich nun eine ADC Frequenz von 500khz habe, kommt ich gerade so auf 
19khz:

500.000/13 = ~38,46 kSamples pro sekunde.

durch 13 deswegen, weil eine wandlung 13 Takte braucht.

nun teilen wir das noch durch 2 (Nyquist Frequenz), dann haben wir 
19,2kHz Samplingfrequenz. Doch wie ist das dann mit der Genauigkeit? 
Wenn ich einen 10Bit ADC des AVRs nutze, auf welche genauigkeit komme 
ich dann?

Reicht es noch, den wert umzurechnen und weiterzuschicken?

Verzeiht mir die blöde Frage, aber ich bing gerade wirklich verwirrt von 
den ganzen Begriffen :s

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

Weshalb ziehst du da das Abtasttheorem mit ein, außerdem müsstest du 
durch eine Zahl die größer als 2 ist teilen ... 2.1 oder so wenn du 
wirklich Wechselspannung misst.

> Reicht es noch, den wert umzurechnen und weiterzuschicken?

Also die Zeit wird eingehalten, darunter leidet dann nur die 
Genauigkeit.

Bei 200kHz ADC clock frequency sagt Atmel reicht es noch für die 10Bit 
genauigkeit, bei allem was drüber liegt wird der Wandlungsfehler größer.

Ich weiß nicht ob du bei 400kHz mit 9 bit und bei 800kHz nur noch mit 8 
Bit Genauigkeit rechnen kannst ... müsste man mal ausprobieren mit guten 
Messmitteln.

von Jan (Gast)


Lesenswert?

Danke für die Antwort!

Naja, ich möchte gerne ein Audiosignal digitalisieren und verschicken. 
Daher muss ich mit Nyquist ran (meinem Verständnis nach).

Wenn die Genauigkeit aber nur um 1 oder 2 bit sinkt ist das ja nicht soo 
das problem, oder?

Bis wie viel hz machts MP3 denn?

von Εrnst B. (ernst)


Lesenswert?

Jan schrieb:

> Wenn die Genauigkeit aber nur um 1 oder 2 bit sinkt ist das ja nicht soo
> das problem, oder?

Geschätzt sinkt das deutlich mehr als 2 bit ein. Besser gleich nur 
Telefon-Qualität (8Bit / 8kHz) vorsehen, dann ist auch noch Zeit zum 
Verarbeiten/Speichern/Weitersenden.


> Bis wie viel hz machts MP3 denn?

44100 üblicherweise, damit auch die Nicht-Diskobesucher ihren Hörbereich 
nutzen können.

Ansonsten überlegen, ob ein kleiner 8Bit-AVR die richtige Plattform für 
dein Vorhaben ist.

von (prx) A. K. (prx)


Lesenswert?

Jan schrieb:

> Wenn die Genauigkeit aber nur um 1 oder 2 bit sinkt ist das ja nicht soo
> das problem, oder?

Die Signalcodierung bei digitaler Telefonie (ISDN, VOIP) mit 8 Bit 
Codierung arbeitet logarithmisch (http://de.wikipedia.org/wiki/A-law), 
dein ADC aber linear. Diese Codierung geht von linearen 12 Bits aus. Für 
Telefonie!

von Jan (Gast)


Lesenswert?

Hmm, stimmt .. 8bitter sind nicht so das wahre ... Gibt es noch andere 
Methoden, Audiosignale in PWM umzuwandeln?

von (prx) A. K. (prx)


Lesenswert?

Schau dich mal bei den dsPIC33 um, die haben nette kleine Gehäuse, sind 
einigermassen gut verfügbar und Programmierung/Debugging ist günstig. 
Zudem können sie ganz gut rechnen, was bei Audiosignalen schon mal kein 
Fehler ist. Das wäre so ungefähr die untere Grenze des Sinnvollen, will 
mir scheinen.

von Jan (Gast)


Lesenswert?

Okay, das werde ich zusätzlich tun. Danke für die Hilfe!

von Εrnst B. (ernst)


Lesenswert?

Jan schrieb:
> Hmm, stimmt .. 8bitter sind nicht so das wahre ... Gibt es noch andere
> Methoden, Audiosignale in PWM umzuwandeln?

Dreiecks-Generator, Komparator um Dreieck mit Eingangs-Audiosignal 
vergleichen, fertig ist das PWM-Signal. geht auch "selbstschwingend" mit 
nur einem OpAmp.
Kosten: < 5€, Auflösung: > 16bit, PWM-Frequenz: hoch.

Schau mal nach Class-D-Selbstbau-Verstärkern, die machen das teilweise 
so.

von Jan (Gast)


Lesenswert?

Dankeschön! Auch eine tolle Methode, auf die ich alleine wohl nie 
gekommen wäre!

Wie hoch sollte da dann die Frequenz gewählt werden? 200khz würden 
passen?
Dann würde ich einen DDS-IC nehmen und irgend einen schnellen 
komparator, vorher die negativen Anteile des Audiosignals herausfiltern 
und dann durch den Komparator jagen. Das sollt es tun!

Analogtechnik, wieso einfach, wenns auch schwierig geht augenroll

von Εrnst B. (ernst)


Lesenswert?

Jan schrieb:

> Wie hoch sollte da dann die Frequenz gewählt werden? 200khz würden
> passen?
Jup. Je nach verwendetem Komparator auch schneller.

> Dann würde ich einen DDS-IC nehmen

Overkill.

Sowas hier:
http://de.wikipedia.org/wiki/Dreieck-Generator
tuts auch.

> und irgend einen schnellen
> komparator, vorher die negativen Anteile des Audiosignals herausfiltern

Nö. Audio-Signal Kapazitiv auf den Mittelwert des Dreieck-Signals 
koppeln. (=GND bei Symetrischer Versorgung)

Bei Input=0V hat die PWM dann 50% Einschaltdauer.
Bei Input=Min/Max hat die PWM 0%/100% Einschaltdauer.

> und dann durch den Komparator jagen. Das sollt es tun!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.