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
Stimmt, da hst Du vollkommen recht, und I2C library gibt es ja schon, kannst Du mir einen Typ nenn ?
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 wo beschaffst du die BB-Teile? Bei Reichelt z.B.: LTC1286 LTC1298 jeweils www.linear.com Matthias
Geht's auch etwas preiswerter ? Da kosteet ja einer fast soviel wie zwei ATmega16. Ja, ich weiss, ich bin geizig. Dominic
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
Hallo, TI hat da auch ein breites Angebot und liefert ggf. Samples. Eckhard
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
@dominic hast du dir auch mal die Toleranzen (Meßgenauigkeit) des MPX4100 angeschaut?
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! :-)
@matthias: hm, das acht dann im besten fall 11-bit auflösung und du brauchst mindestens 12 bit, oder?
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
>dann haben sie das Problem nach 3 Jahren ja wohl schon längst gelöst
... oder aufgegeben...
7.10.2003... da war ich mit einem Projekt (Diplomarbeit) beschäftigt, das mich jetzt wieder beschäftigt...
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.
>Was bringt es eigentlich, auf jeden Thread zu antworten, auch wenn man >eigentlich nichts beizutragen hat? persönliche Genugtuung.
stimmt. Mit jedem Mal wieder. Ich meinte aber nicht dich, sondern den Buchegger. Aber gut dass du dich auch angesprochen fühlst.
@Hans Schau mal dass du in einigen Threads was beitragen kannst. Dann schaun wir weiter.
>>Aber gut dass du dich auch angesprochen fühlst.
Das gehört nämlich auch zu meiner persönlichen Genugtuung in Bezug auf
Geltungssucht.
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.
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
Hi @ Sonic aber ich, GG AVR121: Enhancing ADC resolution by oversampling Gruß MISZOU
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.