www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega ADC Sample Rate


Autor: Michael K. (mmike)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: Michael K. (mmike)
Datum:

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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Atmega8 Atmega8 (atmega8) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Atmega8 Atmega8 (atmega8) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Jan (Gast)
Datum:

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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jan (Gast)
Datum:

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

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht 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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.