Forum: Mikrocontroller und Digitale Elektronik ADC 0-10 V 16 bit I2C für ESP32


von Kleiner M. (zarathustrah)


Lesenswert?

Hallo Freunde der guten laune :)

der betreff sagt schon eigentlich alles aus.

ich möchte mit einem ADC ein analoges signal welches von 0 - 10 V reicht 
in ein digitales signal umwandeln. dabei sollte die schnittstelle mit 
i2c sein und der ADC eine auflösung von 16 bit haben.

nun ist das problem dass ein ESP32 mit 3.3v betrieben wird das und meist 
auch die ref spannung für den ADC ist. bisher habe ich nun nur die 
möglichkeit gefunden über einen spannungsteiler das problem zu lösen.

am liebsten hätte ich habe eine externe volt refquelle mit 10v und das 
singal direkt umgewandelt und die digitalen werte über i2c direkt an den 
ESP32 geliefert.

gibt es sowas oder muss ich in den sauren apfel beißen und einen 
spannungsteiler nehmen und dadurch möglicherweise ungenauigkeiten in 
kauf nehmen?

viele grüße <3

von tobi (Gast)


Lesenswert?

16 bit ist schon ne Hausnummer. Ich selber hab zwar bisher nur 12 bit 
ADCs verwendet gehabt, aber für mich hat ein Spannungsteiler da immer 
ausgereicht. Ich habe dann mit dem Oszilloskop gemessen und ggf einen 
Offset hinzugerechnet, wg Widerstandsungenauigkeiten und so. So kommt 
man dann sogar mit einfachen 5% Widerständen klar.

Was hälst du vom MAX1177? Der soll ein Monolithischer im bereich 0..10 V 
sein. Ob es etwas mit 10 V Ref gibt weiß ich nicht. Hätte ich jedenfalls 
so noch nicht gesehen.

von Olaf (Gast)


Lesenswert?

> dabei sollte die schnittstelle mit i2c sein und der ADC eine
> auflösung von 16 bit haben.

Im Profibereich ist eigentlich SPI verbreiteter, aber wenn du deinen 
faulen Hintern mal nach Analog, TI oder Maxim hievst wirst du sicher was 
finden.

> nun ist das problem dass ein ESP32 mit 3.3v betrieben wird das und meist
> auch die ref spannung für den ADC ist.

Also eigentlich sind 3.3V seit >15Jahren der Industriestandard. Daher 
wirst du fast nur noch ICs fuer diese Spannung finden. Auf jedenfall 
mehr wie fuer 5V. Und als Referenz wird da gerne 2.5V genommen.

Wir wissen im uebrigen garnicht was man dir empfehlen soll weil du noch 
mit keinem einzigen Wort etwas zur notwendigen Bandbreite gesagt hast.

> gibt es sowas oder muss ich in den sauren apfel beißen und einen
> spannungsteiler nehmen und dadurch möglicherweise ungenauigkeiten in
> kauf nehmen?

So what? Womit willst du eigentlich deinen Aliasingfilter und den 
wahrscheinlich notwendigen Vorverstaerker bauen wenn du Angst vor 
Widerstaenden hast?

Olaf

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Olaf schrieb:
> Im Profibereich ist eigentlich SPI verbreiteter, aber wenn du deinen
> faulen Hintern mal nach Analog, TI oder Maxim hievst wirst du sicher was
> finden.

Wenn es darum geht, hin und wieder mal einen Messwert einzulesen, 
spricht wenig gegen I2C, und offenbar gibt es auch einige ADC, die diese 
Schnittstelle unterstützen. Im "Profibereich" (nur um bei Deinem 
Ausdruck zu bleiben) setzt man aber statt auf normales SPI auch gerne 
auf LVDS, da hierbei ein wesentlich geringeres Klingeln auf den 
Versorgungsleitungen auftritt und man mit wohldefinierten Impedanzen und 
Leitungsabschlüssen arbeiten kann.

> Also eigentlich sind 3.3V seit >15Jahren der Industriestandard. Daher
> wirst du fast nur noch ICs fuer diese Spannung finden. Auf jedenfall
> mehr wie fuer 5V. Und als Referenz wird da gerne 2.5V genommen.

Viele ADC und DAC erlauben unterschiedlich hohe Versorgungsspannungen 
für die Analog- und Digitalseite, letztere oft nur 3,3V oder sogar 
weniger. Für hochwertige Zwecke sind 5V auf der Analogseite nach wie vor 
gebräuchlich, gerne auch noch mit einer kleinen negativen 
Hilfsversorgung, um den R2R-Bereich des Vorverstärkers nich unnötig 
auszureizen und sich hierbei Nichtlinearitäten einzufangen.

> Wir wissen im uebrigen garnicht was man dir empfehlen soll weil du noch
> mit keinem einzigen Wort etwas zur notwendigen Bandbreite gesagt hast.

Die Bandbreite ist auch nur ein wichtiger Punkt neben vielen anderen.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

tobi schrieb:
> So kommt man dann sogar mit einfachen 5% Widerständen klar.

Bei Spannungsteilern kommt es häufig nicht auf die Toleranz der 
einzelnen Widerstände an, sondern auf korrekte und stabile 
Teilerverhältnisse. Daher empfehle ich für solche Zwecke fast immer 
integrierte Spannungsteiler, da bei diesen auch die 
Alterungseigenschaften und Temperaturdrift der einzelnen Widerstände 
gleichartig sind. Ich habe erst kürzlich eine Messkarte eines Kunden 
fast vollständig überarbeitet und dabei auch alle diskret aufgebauten 
Spannungsteiler durch solche integrierten ersetzt. Hierdurch konnten wir 
die Berechnung und Speicherung von Kalibrier- und Korrekturwerten 
komplett einsparen, und auch der Temperaturgang war ausgezeichnet.

von Axel S. (a-za-z0-9)


Lesenswert?

Kleiner M. schrieb:
> ich möchte mit einem ADC ein analoges signal welches von 0 - 10 V reicht
> in ein digitales signal umwandeln. dabei sollte die schnittstelle mit
> i2c sein und der ADC eine auflösung von 16 bit haben.

Die 16 Bit sind sicher maßlos übertrieben.

> nun ist das problem dass ein ESP32 mit 3.3v betrieben wird das und meist
> auch die ref spannung für den ADC ist. bisher habe ich nun nur die
> möglichkeit gefunden über einen spannungsteiler das problem zu lösen.

Ja. Und was ist das Problem?

> am liebsten hätte ich habe eine externe volt refquelle mit 10v und das
> singal direkt umgewandelt gibt es sowas

Du fragst nach einem ADC, den du mit Vcc=3.3V betreiben kannst und der 
trotzdem bis 10V Eingangsspannung messen kann? Wäre mir nicht bekannt, 
habe ich nie gesehen. Gibt es vielleicht als Super-Sonder-Spezialfall. 
Aber üblicherweise können ADC nur Spannungen innerhalb ihrer eigenen 
Versorgungsspannung messen.

Da I²C vergleichsweise langsam ist, reicht dir wohl ein langsamer ADC. 
Ein kanonischer Kandidat wäre dann der MCP3426.

> oder muss ich in den sauren apfel beißen und einen
> spannungsteiler nehmen und dadurch möglicherweise ungenauigkeiten in
> kauf nehmen?

Was glaubst du denn, wie genau dein ADC und deine Referenzspannung sind? 
Auch die Profis verwenden Spannungsteiler, um den Meßbereich anzupassen. 
Üblicherweise gleicht man den Krempel sowieso einmal ab (und zwar 
digital, nicht analog). Dann spielen die Absolutwerte der Widerstände 
und der Referenz keine große Rolle mehr. Sie müssen dann nur noch 
thermisch und zeitlich stabil sein. Das ist vergleichsweise sehr viel 
einfacher (und billiger!) hinzubekommen, als Bauteile mit hoher 
absoluter Genauigkeit.

von kleiner M. (Gast)


Lesenswert?

@alle

super vielen dank für euren ganzen kommentare ich werde mich jetzt mal 
mit den sachen mehr beschäftigen die ihr gegannt habt.

wahrscheinlich werde ich dann einen spannungsteiler nehmen, eine spi 
schnittstelle, einen ADC mit 12 bit und 5v versorgerspannung und die als 
externe ref nehmen.

kann man einen ADC mit 5V versorgerspannung nehmen und obwohl der ESP32 
mit 3.3V betrieben wird? oder betreibt man dann den ESP32 auch mit 5V 
weil das geht ja glaube ich auch.

über die bandbreite habe ich mir bisher noch gar keine gedanken gemacht, 
das sollte ich offensichlich auch mal tun.

also ich komme nochmal auf euch zurück :)

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Es ist in den meisten Fällen eine sehr schlechte Idee, die 
Versorgungsspannung auch als Referenzspannung zu verwenden, da der 
jeweilige Spannungsregler nicht die erforderliche Stabilität aufweist. 
Hinzu kommen natürlich auch noch Störungen durch die versorgten 
Verbraucher. Eine der wenigen Situationen, in der die mangelnde 
Stabilität keine so große Rolle spielt, sind ratiometrische Messungen.

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.