www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Vorschläge für 16-bit ADC


Autor: Luca Bertoncello (lucabert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, Leute!

Ich suche einen 16-bit ADC, der ich von einem ATMega zB per I²C oder SPI 
abfragen kann.

Hat jemand einen Vorschlag?

Mein Ziel ist, eine Temperatur mittels PTC zu lesen. Aber die 10-bit 
integrierten ADC in den ATMegas sind mir zu klein (ich habe nicht 
genügend Genauigkeit).

Danke für eure Vorschläge!
Luca Bertoncello

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andere Leute benutzen daher einen OpAmp Operationsverstärker, der nicht 
nur kleiner und billiger, sondern auch einfacher zu verwenden ist als 
ein externe A/D.
Man muß natürlich dazu Grundlagen in analoger Elektronik verstanden 
haben.

Autor: Luca Bertoncello (lucabert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> Andere Leute benutzen daher einen OpAmp Operationsverstärker, der nicht
> nur kleiner und billiger, sondern auch einfacher zu verwenden ist als
> ein externe A/D.
> Man muß natürlich dazu Grundlagen in analoger Elektronik verstanden
> haben.

Erstmal danke für deine Antwort.

Ich bin leider kein großer Elektronikexpert...
Kannst du mir bitte sagen, wie ich einen OpAmp für diese Zwecke nutzen 
kann?
Mein Problem ist, daß ich mehr als nur 1024 Werte für den ADC haben 
will.

Danke
Luca Bertoncello

Autor: Suchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mein Problem ist, daß ich mehr als nur 1024 Werte für den ADC haben
> will.


Warum?

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mein Problem ist, daß ich mehr als nur 1024 Werte für den ADC haben will

Kaum, denn so genau kannst du gar keine Temperatur von dem Ort an dem 
die Temperatur ist an den Ort an dem sie gemessen wird, dem Platin des 
Platinsensores, übergeben, denn dazwischen ist immer ein 
Wärmewiderstand.
Messungen genauer als 0.1% sind höhere Kunst und nicht einfach durch 
einen höher auflösenden D/A-Wandler erreichbar.

Was der OpAmp aber leisten kann, ist, deinen Messbereich auf die vollen 
1024 Messschritte abzubilden, also z.B. von 0 als 0 GradC bis 1000 als 
100 GradC.

Schaltungen dazu gibt es zu hauf:

  +-----+---+------- Vref+  Beispielwerte (hängen vom Temperaturbereich 
ab)
 R1    R2   |
  +-----)---)-R3-+          RTD = Pt1000     RTD = Pt100
  |     |   |    |          R1 = 3k9         R1 = 3.01k
  +-R6--)--|+\   |          R2 = 39k         R2 = unendlich
  |     |  |  >--+-- A/D    R3 = 107k        R3 = 11.8k
  |     +--|-/   |          R4 = 1k          R4 = 12.4k
  |     |   |    |          R5 = 27k         R5 = 105k
 RTD    +---)-R5-+          R6 = 941 Ohm     R6 = 11k
  |    R4   |
  +-----+---+------- Vref-

inklusive der nötigen Berechnungsformeln zur Neuberechnung:

Rechenformeln siehe http://www.maxim-ic.com/app-notes/index.mvp/id/3450
http://www.umnicom.de/Elektronik/Schaltungssammlun...

Autor: Luca Bertoncello (lucabert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Suchender schrieb:
>> Mein Problem ist, daß ich mehr als nur 1024 Werte für den ADC haben
>> will.
>
> Warum?

Wie ich genau am Anfang gesagt habe: ich brauche eine größere 
Genauigkeit.
16 Bits geben mir 65536 verschiedene Werte, 10 Bits nur 1024.
Wenn ich eine 200 Grad Spanne habe, mit einem 10-Bit-ADC habe ich eine 
Genauigkeit bis zum 0,20 Grad. Mit einem 16-Bit-ADC bis zu 0,003 Grad.
Ich brauche die Genauigkeit bis zu 1/100 Grad zu haben, also, ich muß 
die 16-Bit-ADC nutzen.

Grüße
Luca Bertoncello

Autor: stag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermute mal, dass sich die Temperatur bei deiner Anwendung nicht 
allzuschnell ändert.
Wenn das zutrifft könntest du mit oversampling mit dem internen ADC des 
Megas durchkommen. Hier die Appnote von Atmel dazu:
http://www.atmel.com/dyn/resources/prod_documents/...
Laut Appnote kann 16bit durch 4096fache Überabtastung erreicht werden, 
die effektive Abtastrate liegt dann allerdingsbei 3Hz.

Autor: Suchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verstehe ich richtig, Du willst einen Temperaturbereich von 200 Grad mit 
0,01 Grad Genauigkeit messen? Wofür braucht man diese Genauigkeit?

Autor: LOL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Luca Bertoncello schrieb:
> 0,003 Grad

LOL

Autor: Joachim Strand (jstrand)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Aufpassen mit den Wörtern Auflösung und Genauigkeit! Da gibt es hier 
aber einen ganz guten Artikel zu!

Mit I²C und 16 bit fällt mir gerade der ADS1110 oder ADS1115 ein. Als 
single ended jedoch nur 15 bit Auflösung. Kannst ihn Dir ja mal ansehen, 
allerdings weiß ich nicht, ob er das ist was du suchst. Zumindest haben 
die Beiden bei der Einbindung mit I²C keine Probleme gemacht.

Autor: Suchender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde die Lösungs-Vorschläge völlig unangebracht, solange nicht klar 
ist, warum er wirklich so genau messen will.

Klar kann er einen 16 Bit A/D einsetzen, das zappelt u.U. auch ganz 
ordentlich bei Auslesen, aber das ist dann nicht das, was er messen 
will.

Autor: Edi R. (edi_r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mich würde interessieren, welcher PTC so genau ist. Wenn man einen 
Kuhschwanz mit 16 bit misst, bleibt es trotzdem ein Kuhschwanz.

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht meckern, er will 16 Bit und ich schlage einen MCP3550 vor. Der hat 
22Bit bei 15Hz Abtastrate.

Autor: ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man den Internen AD-Wandler etwas häufiger abtastet (Oversampling), 
kommt man auch etwas über die 10 Bit Auflösung - etwa 12 Bit sind 
durchaus drin. Die Genauigkeit wird dabei nicht viel besser, aber das 
ist bei einer Temperaturmessung oft auch nicht nöitg.   Die höhere 
Auflösung ist für eine Regelung machmal aber schon sinnvoll.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Luca Bertoncello schrieb:
> Ich brauche die Genauigkeit bis zu 1/100 Grad zu haben, also, ich muß
> die 16-Bit-ADC nutzen.

Das ist Unfug, gerade bei Temperaturmessungen. Selbst mit PT100 oder 
PT1000 ist der Aufwand ganz erheblich, um genauer als auf 0.5° zu 
messen. Bereits Zehntelgrad sind in den meisten Fällen gelogen.

Eine Messung auf Hunderstelgrad ist nur noch mit 
Präzisionsmessinstrumenten in aufwendigster Umgebung überhaupt möglich, 
sofern das keine aufwendigst temperaturstabilisiert Messkammer ist, ist 
das Unterfangen vollkommen sinnlos.

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ist das Unterfangen vollkommen sinnlos.

Das würde ich nicht sagen; er wird eine Menge Erfahrungen machen und das 
nächste Mal seine Anforderungen realistischer stellen.

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du kennst scheinbar nur seine anderen threads nicht...

Autor: Entwickler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>du kennst scheinbar nur seine anderen threads nicht...

Nein, die kenne ich nicht :-)

Unabhängig davon meine ich, dass einem gerade bei analogen Schaltungen 
die eigene Erfahrung nicht abgenommen werden kann. Erst wenn z,B. der 
ADC nicht für Fehler ausgemacht werden kann, wird man sehen, was alles 
an Müll bei der Signalaufbereitung entsteht.
Dann sieht man auch, was Auflösung und Genauigkeit bedeuten und was man 
sich 'dafür kaufen kann'. Was sagt man beim Skat: auf'm Tisch gehn se 
kaputt!

Autor: weinbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bit 15 und 16 wirst Du vermutlich eh vergessen können, aber was solls 
...

MAX1416
AD7705

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. Firefly schrieb:
> Luca Bertoncello schrieb:
>> Ich brauche die Genauigkeit bis zu 1/100 Grad zu haben, also, ich muß
>> die 16-Bit-ADC nutzen.
>
> Das ist Unfug, gerade bei Temperaturmessungen. Selbst mit PT100 oder
> PT1000 ist der Aufwand ganz erheblich, um genauer als auf 0.5° zu
> messen. Bereits Zehntelgrad sind in den meisten Fällen gelogen.
>
> Eine Messung auf Hunderstelgrad ist nur noch mit
> Präzisionsmessinstrumenten in aufwendigster Umgebung überhaupt möglich,
> sofern das keine aufwendigst temperaturstabilisiert Messkammer ist, ist
> das Unterfangen vollkommen sinnlos.

Das versuchen einige Hersteller, die seit Ewigkeiten die gleiche uralt 
Technik verkaufen, heute auch immer noch zu erklären.
Bei Messungen im uK-Bereich brauchts dazu stabile Temperierbäder für die 
Vergleichswiderstände, im Millikelvin-Bereich geht's in jedem halbwegs 
normal temperierten Büro (von den nötigen Kalibrierbädern, 
Fixpunktzellen und regelmäßigen Kalibrierungen mal abgesehen...).

http://www.isotech.co.uk/files/product_file2-59.pdf
http://www.hartscientific.com/publications/super-theory.htm
Das was im Prinzip auf diesen Seiten beschrieben ist, geht mit jedem 
halbwegs vernünftigen AD-Wandler.
Wie schon mal vor Jahren vorgeschlagen: AD7794 als Wandler nehmen, 
alle(!) Fehler durchrechnen, saubere Schaltung aufbauen, messen.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daß es möglich ist, die elektronische Seite eines 16-Bit-ADC sauber 
aufzubauen und auch saubere Messwerte damit zu erhalten, das bestreite 
ich nicht.
Aber aus einem Temperaturfühler egal welcher Art Messwerte zu erhalten, 
die so gut sind, daß die einen 16-Bit-ADC fordern, das bezweifle ich.
Das zu messende Gut (sei es Luft, irgendwelche Flüssigkeiten oder auch 
Feststoffe) weist nur in Ausnahmefällen eine so homogene 
Temperaturverteilung auf, daß eine Messung auf Zehntelgrad überhaupt 
einen Sinn hat. Ein leichter Lutzug verfälscht die Messung, die 
Raumbeleuchtung verfälscht die Messung, und auch die abgestrahlte 
Körperwärme herumlaufender Menschen wirken sich aus.

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Luca Bertoncello schrieb:
> Hat jemand einen Vorschlag?

Also ich nehme bei >12 Bit gerne einen LTC2400 mit 24 Bit. (Hat SPI)
Wobei man bei den Auflösungen schon große Fehler durch Selbsterwärmung 
des Sensors bei der Messung hat.

Gruß Anja

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe schon in anderen Beiträgen meinen Senf zu Temperaturmessungen 
gegeben. Eine höhere Auflösung verbessert zwar nicht die Genauigkeit, 
aber man kann Temperaturschwankungen oder -trends besser erkennen.
Die Genauigkeit einer Messung steht auf einem anderen Blatt.
MfG

Autor: Luca Bertoncello (lucabert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wolfgang-G schrieb:
> Ich habe schon in anderen Beiträgen meinen Senf zu Temperaturmessungen
> gegeben. Eine höhere Auflösung verbessert zwar nicht die Genauigkeit,
> aber man kann Temperaturschwankungen oder -trends besser erkennen.
> Die Genauigkeit einer Messung steht auf einem anderen Blatt.

Hallo, allerseits!

Erstmal besten Dank an allen, die mir beantwortet haben.
Und gleichzeitig, Verzeihung, daß ich ein falsches Wort benutzt habe.
Mit "Genauigkeit", meinte ich selbstverständlich "Auflösung".
Deutsch ist nicht meine Muttersprache und leider bin ich noch nicht 
wirklich perfekt (na gut! Es ist noch ein großer Abstand zur 
Perfektion... :D).

Ich werde demnächst genau alle mögliche Variante, die ihr mir 
vorgeschlagen haben, untersuchen und dann eine auswählen.

Ich wünsche euch eine schöne Woche!
Luca Bertoncello

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da der Thread schon etwas in der Vergangenheit liegt, weiß ich nicht, ob 
meine Antwort noch was zur Sache tut.

Aber es lohnt sich evtl. einen Blick auf den ADT7310 zu werfen. Je 
nachdem was du genau vor hast, könntest du dir dann den PT1000 auch 
sparen.

Viele Grüße,

Stephan

Autor: ./. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AD7685

16-bit, 250 kSPS SAR ADC

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sowas triviales. Einen 16bit ADC suchen. Sowas macht man bei den 
Herstellern und/oder bei den Lieferanten.

Schliessen.

Beitrag #3771526 wurde vom Autor gelöscht.

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.