mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC-Auflösung erhöhen


Autor: Dominic Thomé (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wollte mir für mein UL-Trike einen Höhenmesser mit Variofunktion
bauen. Dazu will ich einen ATMega16 und den Drucksensor von MPXS4100
verwenden. Nun habe ich ja 'nur' 10 Bit, welche sich den ganzen
Eingang teilen. Der Sensor liefert ca. 6800m Höhendifferenz, welches
eie Auflösung von 6,6 Metern macht. Der erste Ansatz war nun nur einen
Teilbereich zu messen, etwa 2000m, was auch seltener überflogen wird.
Doch auch da habe ich nur ca, 1.95m Auflösung, was ansich schon für
eine normale Höhenmessung ausreichen würde. Für eien Variometerfunktion
allerdings noch zu grob ist.
Ich dachte dann an einen externen ADC mit 12 Bit Auflösung, was miraber
jede Menge Pins klaut. Nun bin ich auf die Idee gekommen, den
Messbereich auf 2 ADC aufzuteilen, d.h. 0m-1000m auf ADC 1, 1000m-2000m
auf ADC 2 und das ganze mit opamps zu fahren wobei der erste bei 1000m
in die Begrenzung geht und ich dann den 2 auslesen kann, der dann halt
gerade mal 0 Volt erhält.
Was haltet Ihr davon, hat jemand eine bessere Idee ?

Für anregungen dankbar
Dominic

Autor: Matthias Weißer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

wieso sind den 2/3 Pins zu viel? 12Bit Wandler mit I2C/SPI gibt es
durchaus. Z.B. von Maxim. Du wirst die Höhe ja nicht mit 200ksps
erfassen wollen.

Matthias

Autor: Dominic Thomé (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, da hst Du vollkommen recht, und I2C library gibt es ja schon,
kannst Du mir einen Typ nenn ?

Autor: franz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso 12 bit? Nimm einen höher auflösenden (z.B. Burr-Brown ADS 1250, 20
bit) und schmeiß' die niederwertigeren Bits, die Du nicht brauchst,
raus.
Dann hast Du keine Probleme mit dem Messbereich.

Grüße, Peter

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

wo beschaffst du die BB-Teile?

Bei Reichelt z.B.:
LTC1286
LTC1298

jeweils www.linear.com

Matthias

Autor: Dominic Thomé (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht's auch etwas preiswerter ?  Da kosteet ja einer fast soviel wie
zwei ATmega16. Ja, ich weiss, ich bin geizig.
Dominic

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ADC's sind eben teuer. Und umso höher die Auflösung umso teurer. Wenns
aber nur um ein Einzelstück geht kann man ja mal auf Muster von Maxim
zurückgreifen. (z.B. MAX1241)

Matthias

Autor: Eckhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


TI hat da auch ein breites Angebot und liefert ggf. Samples.


Eckhard

Autor: Gero Bojens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal eine Schaltung in einem ELV - Ladegerät gesehen, in der ein
Dual-Slope Wandler mit relativ wenig Bauteilen ohne Spezial IC
aufgebaut wurde. Soll eine Auflösung von ca. 14 Bit erreichen. Habe das
leider aus Zeitmangel noch nicht aufbauen können. Das ist natürlich
mehr Aufwand als ein z.B. LTC1286, mit dem ich gute Erfahrungen gemacht
habe, aber vielleicht sehr interessant. Zumal man den internen
Analogkomparator des Atmegas nutzen kann.

Gruß
Gero

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@dominic
hast du dir auch mal die Toleranzen (Meßgenauigkeit) des MPX4100
angeschaut?

Autor: Matthias Hochholzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Habe mir diesbezüglich auch mal so ein paar Gedanken gemacht. Wäre
schön, wenn mir jemand sagen könnte, ob das so geht:

Also, ich habe mehrere 10Bit AD- Wandler, benötige aber eigentlich 12
oder 14 bit. Daher nun folgendes: Ich teile das ankommende Signal
(0-5V) mit einem Spannungsteiler in zwei gleich große Teile auf und
schicke das auf zwei AD- Wandler, die ich mit einem ARef von nur 2,5V
füttere. Danach addiere ich meine zwei Werte intern. Theoretisch müsste
ich doch so eine höhere Genauigkeit erreichen als "normal", da jede
Teilmessung ja eine geringere Aufteilung hat.

Oder sehe ich das falsch? Ich bitte dann um Korrektur!

Matthias

PS: Natürlich ist es wahrscheinlich einfacher, sich einen genaueren
Wandler zu kaufen. Aber ich würde trotzdem mal gerne wissen, ob das so
geht! :-)

Autor: emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@matthias:
hm, das acht dann im besten fall 11-bit auflösung und du brauchst
mindestens 12 bit, oder?

Autor: Peter Wilbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zum Matthias Hochholzer,

das wäre möglich wenn nicht beide ad-wandler das gleiche massepotential
hätten.

nur zur gedanklichen anregung: digital-analog-wandler abeiten doch
meistens mit einem r2r-netzwerk!. kann man ein r2r-netzwerk auch für
einen ad/wandler einsetzen ?!!

Autor: Matthias Hochholzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen

Nun gut, ich gebe mich geschlagen!
War auch nur so ein Gedanke, ich habe mir jetzt eh schon größere
Wandler bestellt. Ist schon besser als so eine Bastelei.
Wollte halt nur mal wissen, ob das so gehen würde!

Gruß, Matthias

Autor: Dominic Thomé (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@mmerten
das sind 54mv/kPa, also umgerechnet 54mv/80Meter = 0,675mv/Meter
Bei 10 Bit habe ich eine Auflösung von 4,8mV
Bei 12 Bit sind es 1,2 mV
Bei 14 Bit sind es 0,3 mV

Die Toleranz von 1,8 % lasse ich nun mal aussen vor, sollte also mit 12
Bit noch schön zu schlagen sein, wobei die 14 Bit schon zum übertreiben
neigen, aber besser man hat's und braucht's nicht, als man braucht's
und hat's nicht. Das geflimmer auf den letzten Stellen kann ich ja
dann mittelwerten.

Autor: Armin Strobel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst den ganzen quatsch spaaren in dem du hingehst und das
Höhensignal mit einem OP differenzierst!
Nicht immer ist es sinnvoll derst zu digitalisiern!

Autor: DerDominic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mich entschlossen, nachdem mir TI schöne Samples des ADS1100
schickte dies mit dem ADC zu realisieren.
Vorteil :
-Druckmesser kann ich direkt anschließen
-Ich kann den kompletten Bereich digitalisieren und bin nirgends
eingeschränkt
-Dank des I2C Bus' kann ich den Höhenmesser als eigenes Modul
entwerfen und praktisch 'Plug&Play' betreiben, d.h. wer es später im
Boardcomputer haben möchte steckt es an und die Software erkennt es.

..

Autor: Arnd Flemmer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann mich ja auch täuschen, aber:

Wenn ich bei einem 10 Bit ADC die Referenzspannung halbiere, dann
sollte ich doch in dem Bereich schon mal eine Auflösung von 11 Bit
haben.

Außerdem lohnt sich eine hohe Auflösung doch nur, wenn ich mir nicht
durch Bauteiltoleranzen usw. den Wert zu doll verfälsche.

Nicht immer ist Auflösung = Genauigkeit!

Arnd

Autor: Johannes Daldosch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du könntest das immer nur den Teil der Spannung des MPXS verstärken un 
dem ADC zuführen welcher gebraucht wird. Dazu mußt du den Rest der 
Spannung abziehen. Also du brauchst den Teil zwischen 4.5- und 3. 5 V. 
Das ist 1 V welches du auf zB 5 V verstärken mußt Also Vu: 5 fach. 
Abziehen mußt du 3. 5 V. Das kannst du mit einem OP machen der als 
Subtrahierer geschalten ist. Die Abzuziehende Spannung kann mit einem 
Pot Variabel zw. 0 u. Betriebsspannung eingestellt werden.
Viele Grüße

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was bringt es eigentlich, uralte Threads aus
der Schublade zu kramen?
Die Leute sind meistens sowieso nicht mehr im Forum
und wenn, dann haben sie das Problem nach 3 Jahren
ja wohl schon längst gelöst

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>dann haben sie das Problem nach 3 Jahren ja wohl schon längst gelöst
... oder aufgegeben...

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
7.10.2003... da war ich mit einem Projekt (Diplomarbeit) beschäftigt, 
das mich jetzt wieder beschäftigt...

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was bringt es eigentlich, auf jeden Thread zu antworten, auch wenn man 
eigentlich nichts beizutragen hat?

Also, wenn man zwei ADCs (z.B. je 10 Bit) zur Verfügung hat sowie einen 
DAC (im Beispiel 10 Bit, kann auch R2R-Leiter sein), kann man die 
Auflösung verdoppeln (auf 20 Bit), von Ungenauigkeiten vielfältiger Art 
einmal abgesehen:

Das Ausgangssignal hinter ADC1 wird mit dem DAC wieder nach analog 
konvertiert, vom Eingangssignal abgezogen, auf einen fuer ADC2 
sinnvollen Spannungsbereich verstärkt, und die Bits von ADC1 und ADC2 
aneinandergehängt, nicht addiert.

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was bringt es eigentlich, auf jeden Thread zu antworten, auch wenn man
>eigentlich nichts beizutragen hat?

persönliche Genugtuung.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
muss ich auch mal ausprobieren.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmt. Mit jedem Mal wieder.

Ich meinte aber nicht dich, sondern den Buchegger. Aber gut dass du dich 
auch angesprochen fühlst.

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hans

Schau mal dass du in einigen Threads was beitragen kannst.
Dann schaun wir weiter.

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Aber gut dass du dich auch angesprochen fühlst.

Gerne doch.

Autor: unsichtbarer WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Aber gut dass du dich auch angesprochen fühlst.
Das gehört nämlich auch zu meiner persönlichen Genugtuung in Bezug auf 
Geltungssucht.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu die MAterialschlacht mit den teuren externen ADCs? Nimm doch den 
Internen 10 bit und mittle die Werte (INT oder DOUBLE-Format). So kannst 
du bei genügend Mittelwerten auch eine höhere Auflösung gewinnen. Bei 
Atmel gibt's darüber auch eine Appnote, hab nur die Nr. grade nicht 
parat.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich weiß das das hier jetzt nicht direkt an deine oben gestellte aufgabe 
anbindet, aber vielleicht interessiert es trotzdem.

http://www.intersema.ch/site/technical/ms5541.php

das ist der sensor - und da schöne ist, es gibt samples...

ein komplettes projekt existiert schon bei elektor -

http://www.elektor.de/Default.aspx?tabid=28&year=2...

dennis

Autor: M. M. (miszou)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

@ Sonic aber ich, GG
AVR121: Enhancing ADC resolution by oversampling

Gruß MISZOU

Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann die Aufloesung durch Mittelung erhoehen. Dies vorausgesetzt, 
dass das Rauschen einer Gaussverteilung folgt. Die Aufloesung erhoeht 
sich mit der Wurzel aus der Anzahl Samples. Dh mit 256 Samples ergibt 
sich eine Verbesserun um Wurzel(256) = 16, oder 4 bit. Zumindest 3 bit 
davon sollten nutzbar sein.

rene

Autor: Christian Schoch (kriki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ganze funktioniert aber nur für geringe Erhöhung .. also aus dem 
internen 10-Bit lassen sich nicht  (brauchbare) 16 Bit machen.

Habs gerade diese Woche schmerzlich eingestehen müssen. Problem an dem 
ganzen ist schlussendlich die größer werdende Nichtlinearität (nicht nur 
offset und gain-fehler).

aber für 2-3 bit gehts super.

Autor: Francesco Na (franceso-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Motorola hat mal eine AN rausgegeben, die Auflösung mit zwei externen
Operationsverstärkern zu erhöhen. Schaffe effektive 18bit bei Verwendung 
von
2x 8bit ADC und 1x PWM. Der PWM/ADC ist kalibriert, das heisst, die
SW kennt die Linearitätsfehler des PWM.
Habe das mit einem 24bit DAC verifiziert, 18bit sind drinn,
mit Mittelwertsbildung und etwas Filterung sind auch 20bit realisierbar.

Solltest du die AN nicht finden, schreib mir eine private Message,
dann suche ich sie raus.

Autor: Philipp Sªsse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann mit einem Rauschgenerator (oder Pseudozufallsgenerator) in 
Größenordnung der Quantisierung die Auflösung vervielfachen, wenn der 
ADC schneller ist als man ihn braucht: überabtasten und dann mitteln.

Achtung: systematische Fehler wie Nichtlinearitäten werden dadurch 
natürlich nicht kleiner, aber um z.B. wie beim Höhenmesser auch kleine 
relative Änderungen verfolgen zu können, ist es ganz brauchbar.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achtung , ihr verwechselt ADC mit DAC. Und um letzteren ging es.

MfG
Falk

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich dachte dann an einen externen ADC mit 12 Bit Auflösung

???

Autor: Thomas B. (yahp) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achtung, du verwechselst Threads, hier geht es um ADCs, wie schon der 
Titel vermuten lässt.

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.