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
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
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
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
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
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! :-)
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 ?!!
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
@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.
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!
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.
..
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
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
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
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.
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.
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
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.
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.
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.