www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gibt es einen Trick zur Auflösungserhöhung?


Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich muß eine Spannung mit einem AVR messen (digitalisieren).
Theroretisch würden zwar die 10Bit gerade so ausreichen,
aber genauer wäre besser.

Gibt es evtl. einen Schaltungstrick z.B. mit einem 2. Kanal
oder so eine etwas höhere Auflösung (11 oder 12Bit) zu erreichen?

Oder hilft da wirklich nur ein ext. ADC?

Gruß,
Techniker

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal auf Atmel.com in die Application Notes.

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp - Daran hätte ich auch selber denken können.. ;)

http://atmel.com/dyn/resources/prod_documents/doc8003.pdf

Nur das genaue Prinzip dahinter versteh ich noch nicht ganz.. :(

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir bitte jemand kurz Erklären, was ich machen muß um eine 
Auflösung von 11 oder 12Bit zu erreichen? :)

Danke!

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht mehr nötig - habs kappiert! :)

Ich messe z.B. für 11Bit 4mal hintereinander, zähle das Ergebis zusammen 
und teile es durch 2 (1x nach rechts schieben)..

Eigentlich ganz simpel.. ;)

Autor: Christian (Guest) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann hast du es vermutl. nicht verstanden . ?
 (sorry)

wenn dein adu nur 1 oder 0
kann, und eine konst. Spannung
von 0,4 anliegt, dann kann du 100x
messen und teilen
es bleibt   0


Wenn deine Spannung sich ändert, dann
sieht es anders aus - mit einschränkungen.


Du mußt die Hürde von
  0 - 1
des ADUs "überwinden"


Hier hilft zB rauschen
oder eine überlagerung
oder ....
viele wege führen nach rom
  :-)

Autor: Hartmut Semken (hsemken)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die AppNote schreibt ja, dass die Theorie dazu recht komplex ist.
Es läuft darauf hinaus, dass man quasi zwischen den Samples 
interpoliert.

Der Preis dafür ist recht hoch: um von 10bit auf 11bit Auflösung zu 
kommen, muss man 4-fach oversamplen, für 12bit schon 16-fach.
Also bleiben von den sonst möglichen 15 kHz Samplefrequenz nicht mal 
mehr 1kHz übrig - also kann man Kammerton-A Signale (das sind 440 Hz) 
grad noch mit der hohen Auflösung messen.

Die Voraussetzung nennt die AppNote auch: im Signal muss ein 
Rauschanteil enthalten sein.
Dieses muss weisses Rauschen sein und grösser als die 1LSB, also grösser 
als die Spannung, die dem Wandlerwert 1 entspricht.
In der Regel ist das schon so, wenn nicht, dann muss man etwas Rauschen 
aufmodulieren; ein "rauschiger" OP oder ein Taktregler irgendwo auf der 
Leiterplatte reicht da eigentlich immer :-)

So komplex die Theorie, so einfach die Anwendung: man addiert 
aufeinanderfolgende Samples (4 für ein, 16 für zwei Extrabits) und 
schiebt dann die Summe nach recht um die Anzahl der Extrabits.

Und dann freut man sich, dass man vor Jahren im Studium die Theorie mal 
verstanden zu haben glaubte und sich nur gemerkt hat, dass es 
funktioniert :-)

hase

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..stimmt! :)
Das mit dem Rauschen kommt auf den nächsten Seiten.. :)

Ich verwende die int. Referenz von 2,56V. Haben möchte ich 11 Bit.
-> macht eine Auflösung von 1,25mV.

Muß ich mich da jetzt noch um weisses Rauschen kümmern - oder nicht?
Versorgt wird das ganze von einem DC/DC-Wandler.

Wie moduliere ich möglichst einfach weisses Rauschen von z.B. 2mV auf 
das Messsignal auf? Reicht da ein einfacher OP als Impedanzwandler?

LM741? LM358?

Gruß,
Techniker

Autor: Sahib (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 256 Additionen erreicht man schoene 13bit. Nach 256 Additionen muss 
man nur das Resultat um 5 Stellen nach rechts schieben.

Autor: Kupfer Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mit 256 Additionen erreicht man schoene 13bit

Damit misst du in der Praxis höchstens noch die nichtideale 
Amplitudenverteilung deiner Rauschquelle(n) und Störsignale, aber nicht 
mehr dein Messsignal.

Autor: Markus K. (markus-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Techniker wrote:

> Wie moduliere ich möglichst einfach weisses Rauschen von z.B. 2mV auf
> das Messsignal auf? Reicht da ein einfacher OP als Impedanzwandler?

Du kannst statt des Rauschens auch eine Rampe nehmen. Lässt sich meiner 
Meinung nach einfacher erzeugen/kontrollieren als Rauschen, muss aber 
vom Mikrocontroller gesteuert werden (extra IO-Pins).

Markus

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@markus:

D.h. wenn ich nach obriger AppNote - Seite 9 (hab jetzt die Wert nicht 
nachgerechnet - mir geths nur ums Prinzip) vom uC eine kl. Rampe 
generieren lasse, reicht dies bereits vollkommen aus?

Ich will den ADC mit voller Power - d.h. 200kHz - arbeiten lassen.
Welche Frequenz muß dann die Rampe haben? 15kHz?

Gruß,
Techniker

Autor: Markus K. (markus-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Rampe muss halt alle Stufen abdecken können. Wenn Du 4 Messungen 
mitteln möchtest, dann muss die Rampe eben 1/4 der ADC-Frequenz haben 
(50kHz). Wenn Du 16 Messungen mitteln möchtest, dann eben 1/16 
(12,5kHz).

Die Rampe muss eine Gesamtamplitude von 1 LSB haben.

Markus

Autor: Der Techniker (_techniker_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aso...!
Ich glaub, jetzt ist mir ein Licht aufgegangen  :)

DANKE!

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich will den ADC mit voller Power - d.h. 200kHz - arbeiten lassen.

Bei 200kHz hat der AVR aber eh keine 10 Bit Genauigkeit mehr!

Wenn Du nur irgendwie ein Meßergebnis mit N Bit generieren willst,
ist das egal.

Anders sieht es aus, wenn das Ergebnis tatsächlich auf N Bit GENAU sein 
soll! Dann musst Du auch den Fehler der Referenzspannung, den Drift 
(Temperatur, Versorgungsspannung) und all das berücksichtigen.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Der Techniker

>Ich verwende die int. Referenz von 2,56V. Haben möchte ich 11 Bit.
>-> macht eine Auflösung von 1,25mV.

Ja, AUFLÖSUNG hast du dann 11 Bit. GENAUIGKEIT aber keinesfalls. Die 
interne Referenz des AVR ist ihres Namens eingtlich unwürdig, jeder 0815 
7505 ist da genauer.

>Muß ich mich da jetzt noch um weisses Rauschen kümmern - oder nicht?
>Versorgt wird das ganze von einem DC/DC-Wandler.

Der macht kein weisses Rauschen, eher systematische Störungen.

MfG
Falk

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.