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


von Dominic Thomé (Gast)


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

von Matthias Weißer (Gast)


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

von Dominic Thomé (Gast)


Lesenswert?

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

von franz (Gast)


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

von Matthias (Gast)


Lesenswert?

Hi

wo beschaffst du die BB-Teile?

Bei Reichelt z.B.:
LTC1286
LTC1298

jeweils www.linear.com

Matthias

von Dominic Thomé (Gast)


Lesenswert?

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

von Matthias (Gast)


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

von Eckhard (Gast)


Lesenswert?

Hallo,


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


Eckhard

von Gero Bojens (Gast)


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

von mmerten (Gast)


Lesenswert?

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

von Matthias Hochholzer (Gast)


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! :-)

von emil (Gast)


Lesenswert?

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

von Peter Wilbert (Gast)


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 ?!!

von Matthias Hochholzer (Gast)


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

von Dominic Thomé (Gast)


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.

von Armin Strobel (Gast)


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!

von DerDominic (Gast)


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.

..

von Arnd Flemmer (Gast)


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

von Johannes Daldosch (Gast)


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

von Karl heinz B. (kbucheg)


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

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

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

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

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

von Hans (Gast)


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.

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

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

persönliche Genugtuung.

von Hans (Gast)


Lesenswert?

muss ich auch mal ausprobieren.

von Hans (Gast)


Lesenswert?

stimmt. Mit jedem Mal wieder.

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

von Karl heinz B. (kbucheg)


Lesenswert?

@Hans

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

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

>Aber gut dass du dich auch angesprochen fühlst.

Gerne doch.

von unsichtbarer WM-Rahul (Gast)


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.

von Sonic (Gast)


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.

von Dennis (Gast)


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=2005&month=6&art=5550463

dennis

von M. M. (miszou)


Lesenswert?

Hi

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

Gruß MISZOU

von rene (Gast)


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

von Christian S. (kriki)


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.

von Francesco N. (franceso-)


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.

von Philipp Sªsse (Gast)


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.

von Falk (Gast)


Lesenswert?

Achtung , ihr verwechselt ADC mit DAC. Und um letzteren ging es.

MfG
Falk

von Sonic (Gast)


Lesenswert?

>Ich dachte dann an einen externen ADC mit 12 Bit Auflösung

???

von Thomas B. (yahp) Benutzerseite


Lesenswert?

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

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.