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
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.
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
> Mein Problem ist, daß ich mehr als nur 1024 Werte für den ADC haben > will. Warum?
> 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/Schaltungssammlung/Temperatur/Pt1000/Pt1000.html
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
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/doc8003.pdf Laut Appnote kann 16bit durch 4096fache Überabtastung erreicht werden, die effektive Abtastrate liegt dann allerdingsbei 3Hz.
Verstehe ich richtig, Du willst einen Temperaturbereich von 200 Grad mit 0,01 Grad Genauigkeit messen? Wofür braucht man diese Genauigkeit?
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.
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.
Mich würde interessieren, welcher PTC so genau ist. Wenn man einen Kuhschwanz mit 16 bit misst, bleibt es trotzdem ein Kuhschwanz.
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.
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.
> 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.
>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!
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.
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.
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
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
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
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
Sowas triviales. Einen 16bit ADC suchen. Sowas macht man bei den Herstellern und/oder bei den Lieferanten. Schliessen.
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.