Ganz kurze Frage, vielleicht kann und mag mir jemand langes Datenblatt-Lesen ersparen. Wenn ich den ADS1115 ADC und MCP4725 DAC via I2C zusammen mit einem ESP32 verwende, der an 3,3V läuft - können ADC und DAC dann trotzdem mit 5V betrieben werden (so daß man deren Funktionen im Bereich 0..5V verwenden kann) oder ist man auf 3,3V limitiert? Danke!
Der DAC benötigt auf der digitalen Seite einen H-Pegel von 0,7xVcc, somit sollte es nur mit Pegelwandler 3,3 - 5V sicher funktionieren. Ob auf der 5V-Seite 1 oder mehr I2C-Bausteine genutzt werden sollte egal sein.
Das war meine erste Überlegung, 5/3,3 sind 0,66. Also wenn es überhaupt funktioniert, dann sehr grenzwertig und evtl. störanfällig. Die andere Überlegung, den I2C mit 5V betreiben - aber mag der ESP32 einen 5V I2C an seinen Pins? Wenn nicht, betreibe ich die Logik komplett mit 3,3V. Das sollte auch funktionieren, aber dann muss ich zu messende Spannungen auf 3,3V für Vollausschlag herunterteilen und nicht auf 5V, evtl. wirken sich Störungen auf diese Messgrößen dann stärker aus. Werde ich ausprobieren müssen.
Genau für diese Anwendung wurden doch I2C-Levelshifter gebaut. Damit funktioniert das problemlos. Der ESP32 hat auf seiner Seite die 3,3V und die andere Seite seine 5Volt.
Den Messbereich des ADC mittels Spannungsteiler auf maximal 3,3V anzupassen sei das eine, bleibt aber noch die Frage ob dann die Ausgangsspannung des MCP4725 mit max. 3,3V reicht. Wie hoch ist denn die Versorgungsspannung deiner Schaltung? Wenn diese schon 5V beträgt und dann für den ESP auf 3,3V geregelt wird ist doch höchstens der Platzbedarf ein Argument gegen eine Pegelanpassung.
:
Bearbeitet durch User
> bleibt aber noch die Frage ob dann die Ausgangsspannung > des MCP4725 mit max. 3,3V reicht. Ja, sie reicht. Die DAC-Ausgangsspannung wird mit einer relativ hohen Spannung (max. 300..400V, normal vielleicht 100..150V) verglichen, die ich auch messen muss. Die beiden Messspannungen nach dem Spannungsteiler (einmal für den ADC, einmal für einen TL494 PWM-Regler, der die DAC-Spannung als Sollwert bekommt) müssen dann nur auf 3,3Vmax heruntergeteilt werden und nicht auf 5Vmax. > Wie hoch ist denn die Versorgungsspannung deiner Schaltung? 36V -> 12V -> 5V -> 3,3V. Die 36V kommen aus dem Akku, die 12V brauche ich für den PWM-Regler und die Ansteuerung der FETs, 5V für ACS712 Stromwandler (erzeugt Messbereich 0..30A in 2,5..0,52V für den ADC), 3,3V für den ESP (macht sich das Board selbst aus 5V). > Wenn diese schon 5V beträgt und dann für den ESP > auf 3,3V geregelt wird ist doch höchstens der Platzbedarf > ein Argument gegen eine Pegelanpassung. Das Ganze soll ein 1kW 36V PV-Lader werden, im zweiten Schritt 4kW. Ich weiß nicht genau, wie stark die Störungen durch die bis zu 30 Ampere und geschalteten 300..400V auf der eigenen Platine werden, dazu der ESP32 mit seinem WiFi-Sender. Messspannungen von bis zu 5V anstatt 3,3V hätten evtl. einen besseren Störabstand gehabt.
Dieter S. schrieb: > Genau für diese Anwendung wurden doch I2C-Levelshifter gebaut. > Damit funktioniert das problemlos. Der ESP32 hat auf seiner Seite die > 3,3V und die andere Seite seine 5Volt. I2C sind auch nur zwei Pins.
Ben B. schrieb: > Wenn ich den ADS1115 ADC und MCP4725 DAC via I2C zusammen mit einem > ESP32 verwende, der an 3,3V läuft - können ADC und DAC dann trotzdem mit > 5V betrieben werden (so daß man deren Funktionen im Bereich 0..5V > verwenden kann) oder ist man auf 3,3V limitiert? Nicht lange Schnacken - Pegelwandler einsetzen fertig.
Ben B. schrieb: > Die andere Überlegung, den I2C mit 5V betreiben - aber mag der ESP32 > einen 5V I2C an seinen Pins? Beim I2C-Bus ist der H-Pegel rezessiv, d.h. kommt über Pull-Up Widerstände. Die begrenzen folglich den Strom bei H-Pegel. Falls der ESP-Eingang gegen Überspannung geschützt ist, wird darüber der Pegel am Pin begrenzt und es fließt ein Strom in den ESP. In den GPIO sollte normalerweise im Betrieb kein statischer Strom fließen, weil das ein Anzeichen für eine ansprechende Überspannungsschutzschaltung ist (es sei denn, man will die Schutzschaltung gezielt nutzen). Nimm also relativ große Pull-Up Widerstände (4.7kΩ .. 10kΩ) damit der Strom ggf. klein bleibt und miss bei H-Pegel die Spannung auf dem I2C. Dann kannst du dir deine Frage selber beantworten. Ob der Hersteller garantiert, dass der ESP32 an seinen GPIOs 5V verträgt, sollte im Datenblatt unter Absolute Maximum Ratings spezifiziert sein.
>Falls der >ESP-Eingang gegen Überspannung geschützt ist, wird darüber der Pegel am >Pin begrenzt und es fließt ein Strom in den ESP. Der wird dann aber auch die Spannung am I2C begrenzen und das könnte ja dann zu wenig für die DACs sein.
Christoph M. schrieb: > Der wird dann aber auch die Spannung am I2C begrenzen ... Richtig und da lt. Datenblatt die GPIOs max. 3.6V vertragen, lautet die klare Antwort: Nein, der ESP32 mag keine 5V am GPIO. Nur mit anständigem Pegelwandler wird das eine saubere Lösung, wenn man ADS1115 ADC und MCP4725 unbedingt mit 5V betreiben will. Aber die arbeiten ja auch mit weniger.
:
Bearbeitet durch User
Obelix X. schrieb: > Nicht lange Schnacken - Pegelwandler einsetzen fertig. Kann man zwar auch diskret mit Mosfets zurechtbasteln, aber das hier kommt von denen, die sich mit I2C auskennen: https://www.nxp.com/products/interfaces/ic-spi-i3c-interface-devices/ic-bus-repeaters-hubs-extenders/level-translating-ic-bus-repeater:PCA9517
Alexander schrieb: > I2C sind auch nur zwei Pins. Ach ja...? Habe ich irgendwo was anderes geschrieben ?
Rainer W. >Richtig und da lt. Datenblatt die GPIOs max. 3.6V vertragen, Joachim S: >Der DAC benötigt auf der digitalen Seite einen H-Pegel von 0,7xVcc, 5V*07=3.5V .. es würde knapp reichen.
Das ging an Ben. Zur Betonung, es sind nur zwei Pins. Da ist ein bidirektionaler Pegelumsetzer schnell dazwischen gebastelt. Schien mir irgendwie untergegangen zu sein. Es ist die saubere Lösung und kostet nichts.
Alles gut, ich versuche es mit dem reinen 3,3V-Design. Wenn ich Probleme mit den Störungen bekomme, kann ich immer noch einen Levelshifter reinbauen und es mit 5V versuchen. Ich lasse mir etwas Platz auf der Platine, so daß dafür ggf. noch an den I2C drankomme. Im Internet liest man dazu bekanntlich wieder alles. Von "ja kein Problem" bis "bläst dem ESP die Lichter aus" war viel dabei, daraufhin habe ich die Frage gestartet. Danke nochmal!
Harald K. schrieb: > Kann man zwar auch diskret mit Mosfets zurechtbasteln, aber das hier > kommt von denen, die sich mit I2C auskennen: Früher (tm) konnte man das auch in Europa noch mit einem MOSFET und zwei Widerständen aufbauen. Heute kommt so etwas als Modul fürs Steckbrett aus China. https://www.amazon.de/dp/B0DG56CK3K
:
Bearbeitet durch User
Ben B. schrieb: > Wenn ich Probleme mit den Störungen bekomme, Warum solltest du Störungen bekommen ? Bei richtiger Verdrahtung und kurzem I2C-Bus mit korrekten Pullups sollte es ohne Störungen funktionieren. Und das auch bei einheitlichen 3,3Volt. Die beschriebenen Levelshifter sind nur erforderlich, wenn da Spannungsdifferenzen zwischen Controller und Sensoren zu überwinden sind.
Um die Störungen des I2C mache ich mir recht wenig Sorgen, der muss nicht mit hoher Geschwindigkeit laufen. Ich mache mir eher Gedanken darüber wie sich 1000W auf die 0..3,3V Messspannung auswirken, wenn man sie mit 50kHz von 100..150V mit StepUp auf etwa 400V und dann mit einem ungeregelten Wandler auf 36V herunter transformiert. Ich rechne zwar damit, daß von den 16 Bit des ADC nur 14 wirklich nutzbar sind, aber so viel schlechter oder verrauschter sollte es dann doch nicht werden.
Ben B. schrieb: > Ich mache mir eher Gedanken darüber wie sich 1000W Dann solltest du das auch gleich so beschreiben. Und da solltest du möglich Störungen gleich an der Quelle eindämmen.
Ben B. schrieb: > mag mir jemand langes Datenblatt-Lesen ersparen. Faulsack! Der ADS1115 läuft hier an einem Arduino mit 3,3 Volt. Seine Referenz erzeugt er intern selbst, den Eingang auf 2048mV Vollausschlag gesetzt, sind die Meßwerte sehr genau. MCP4725 habe ich nur in einem 5V-System laufen. Harald K. schrieb: > Kann man zwar auch diskret mit Mosfets zurechtbasteln, aber das hier > kommt von denen, die sich mit I2C auskennen: Auch die FET-Schaltung kommt "von denen, die sich mit I2C auskennen", Philips 1997. Wenn es ein IC sein soll, schaut man zum Texas TXS0102. Beim Ali gab es billig Platinchen mit TXS0108E, aber 8 Kanäle braucht man kaum.
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.