Forum: Mikrocontroller und Digitale Elektronik BME280 3,3v Spannung und I2C Bus


von Achim A. (achim_a)


Lesenswert?

Hallo
es geht um die Betriebsspannung der meisten BME280-Sensor-Boards (ein 
paar soll es mit integriertem Level-shifter geben).

Wenn ich nun die meisten Anschlusszeichnungen im Netz ansehe, so wird 
dieses Sensor-Board mit 5V betrieben.
Ich glaube aber das ist doch total falsch und kann zu Schäden führen 
oder?

Ich glaube gelesen zu haben, dass selbst wenn man den BME/P-280 an einen 
3,3V Ausgang eines D1 Mini oder Arduinos hängt der selbst mit 5V 
versorgt wird, so kann/wird es sein, dass das I2C Signal auch eine 
höhere Spannung als 3,3V hat.
Beides zusammen oder auch die erhöhte Spannung am I2C Signal sollen hier 
nicht geringe Problem verursachen.

ist es so, dass man solche Sensoren am besten immer mit einem Level 
Shifter betreiben muss sofern man mit 5V am ESP oder Arduino arbeitet?
Oder wäre es hier dann sinnvoll wenn man gleich die ESP's etc. mit 3,3v 
betreibt (würde man sich ja die Level Shifter dann sparen oder?) ?

Wenn so ein Sensor mal mit 5V anstatt mit 3,3V betrieben wurde ist er 
dann i.d.R. hinüber bzw. so ungenau das er unbrauchbar ist?

von Andras H. (kyrk)


Lesenswert?

Hallo,

steht doch im Datenblatt:
https://www.mouser.com/datasheet/2/783/BST-BME280-DS002-1509607.pdf

Supply voltage VDD main supply voltage range: 1.71 V to 3.6 V
VDDIO interface voltage range: 1.2 V to 3.6 V

Für mich heisst es, du musst sicherstellen dass die PINs nie über 3,6V 
gehen. Wie du es machst, ist deine Sache. Ob du da Level Shifters oder 
ein System der nur 3,3V kann nimmst ist dir überlassen.

von Andras H. (kyrk)


Lesenswert?

Achim A. schrieb:
> Wenn so ein Sensor mal mit 5V anstatt mit 3,3V betrieben wurde ist er
> dann i.d.R. hinüber bzw. so ungenau das er unbrauchbar ist?

Auch im Datenblatt:

2. Absolute maximum ratings
Voltage at any supply pin VDD and VDDIO pin -0.3 4.25 V
Voltage at any interface pin -0.3 VDDIO + 0.3 V

Also bei 5V versorgung ist der Teil kaputt. Bie IO ist der auch kaputt.


Absolute maximum ratings heisst ja, wenn man diese Parameter 
überschreitet muss man davon ausgehen dass der Teil kaputt ist. Auch 
wenn der noch zu tun scheint, tauschen. Es können intern Beschädigungen 
sein was man nicht sofort sieht.

von Helmut -. (dc3yc)


Lesenswert?

Bevor man solche Mutmaßungen anstellt, hilft es, sich der Sprache der 
Elektronik zu bedienen: dem Schaltplan und dem Datenblatt! Man findet 
sicher im Netz von seinen Boards passende Pläne, um zu sehen, wie die 
Schaltung aufgebaut ist. Alles andere ist Stochern im Nebel.
Und die ESPs arbeiten alle mit 3.3V, da ist keine Gefahr, dass da 
5V-Signale entstehen könnten.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Achim A. schrieb:
> so wird
> dieses Sensor-Board mit 5V betrieben.

welches? irgendeines? alle?

Wie soll man auf Unbestimmtes bestimmt antworten?

Was der Baustein wünscht ist klar:

Andras H. schrieb:
> Supply voltage VDD main supply voltage range: 1.71 V to 3.6 V
> VDDIO interface voltage range: 1.2 V to 3.6 V

es liegt an dir Achim A. dafür zu sorgen! Nutze ein Board welches die 
VCC passend bereit stellt durch einen Spannungsregler und nutze I2C mit 
Pegelwandler wenn du nur 5V hast.

von Jim M. (turboj)


Lesenswert?

Achim A. schrieb:
> Ich glaube gelesen zu haben, dass selbst wenn man den BME/P-280 an einen
> 3,3V Ausgang eines D1 Mini oder Arduinos hängt der selbst mit 5V
> versorgt wird, so kann/wird es sein, dass das I2C Signal auch eine
> höhere Spannung als 3,3V hat.

Dann ist aber der Programmierer zu Doof.

Die Pins am I²C dürfen niemals auf "Ausgang high" geschaltet werden,
denn nur die Pullups dürfen den Bus auf High ziehen.

Dann ist die Beschaltung auch für 5V Systeme trivial, denn man klemmt 
einfach die I²C Pullups mit an die ohnehin für den Sensor nötige 3.3V 
Rail.

Moderne µC - inklusive AVR - ziehen die Output Pins nur bei 
entsprechender Programmierung auf High. Pegelwandler würde ich da nur in 
Ausnahmefällen vorsehen, z.B. wenn der Anwender ein neues Programm 
reinflashen kann.

von Joachim B. (jar)


Lesenswert?

Jim M. schrieb:
> Pegelwandler würde ich da nur in
> Ausnahmefällen vorsehen

ich immer an 5V weil zu viele I2C Module die 5V brauchen auch pullups an 
5V mitliefern.
z.B. die ganzen RTC DS3231 Module
https://circuitdigest.com/sites/default/files/inlineimages/u4/DS3231-Circuit.png

die 5V benötigen wenn sie mit LiR2032 Akku bestückt sind, mit 
Primärzelle CR2032 hat die Ladeschaltung keinen Sinn.

von Cyblord -. (cyblord)


Lesenswert?

Deshalb nutze ich solche Boards ungern. Da ist immer ein Spannungsregler 
drauf. Die sind für 5V ausgelegt.
Dabei will man oft nur ein Breakout fürs Breadboard.

Darum einfach auf solche Boards verzichten und den Sensor direkt auf ein 
ordentliche Platine bestücken (lassen). JLCPCB hat den übrigens gelistet 
und lötet den gerne auf. Geht aber auch manuell ohne Probleme.

von 900ss (900ss)


Lesenswert?

Cyblord -. schrieb:
> direkt auf ein ordentliche Platine bestücken (lassen)

Wenn mich der Spannungsregler stört auf solch einem Board, dann löte ich 
die Teile runter. Setzt ein paar Brücken, fertig.

von Cyblord -. (cyblord)


Lesenswert?

900ss D. schrieb:
> Cyblord -. schrieb:
>> direkt auf ein ordentliche Platine bestücken (lassen)
>
> Wenn mich der Spannungsregler stört auf solch einem Board, dann löte ich
> die Teile runter. Setzt ein paar Brücken, fertig.

In der Zeit löte ich den Sensor lieber auf die endgültige Platine auf. 
Hab ich mehr von.

von Rainer W. (rawi)


Lesenswert?

Achim A. schrieb:
> Wenn so ein Sensor mal mit 5V anstatt mit 3,3V betrieben wurde ist er
> dann i.d.R. hinüber bzw. so ungenau das er unbrauchbar ist?

Da hast du keine Garantie drauf. Die im Datenblatt angegebenen 
Eigenschaften beziehen sich auf die dort angegebenen 
Betriebsbedingungen.

von Bernd M. (berndmm)


Lesenswert?

Ich begrenze die Spannung der Takt- und Datenleitung mit Z-Dioden auf 
3,6 Volt. Falls ich aus Versehen den Ausgang des µC mal aktiv auf H 
schalte, habe ich noch einen 470 Ohm-Widerstand in Reihe. Damit betreibe 
ich auch 5 Volt und 3,3 Volt Bausteine an einem Bus.

Bernd

von Achim A. (achim_a)


Lesenswert?

Andras H. schrieb:
> Auch
> wenn der noch zu tun scheint,

Ja Danke.
Mist aber das scheint wohl zu stimmen... denn die Ungenauigkeit der 
Sensoren zw 0,5 und 1,5 Grad ist schon gewaltig... das wars dann also 
mit den Sensoren

Ich muss jetzt nochmal genauer nachfragen:
Wenn ich einen Arduino an 5V also an USB hänge... /diese haben ja auch 
einen 3.3V pin...dann scheint es hier aber gewaltige Unterschiede zu 
einem ESP zu geben der auch 5V und 3.3V Pins hat oder?

Wenn ich einen BME280 Sensor der nur 3.3V benötigt an einen 3.3V Pin 
eines Arduinos hänge, der jedoch mit 5V versorgt wird, so kann es glaub 
ich beim Ardiono sein das auch über die Datenleitung > 3.3V fliesen

Beim ESP ist das glaube ich nicht so oder?
wenn der ESP8266 mit 5V betrieben wird und ich schleisse den BME an 3.3V 
des ESP an, so werden auch über die I2C Leitungen nur max 3.3V 
gesendet... stimmt das oder stimmt das nicht?

von Achim A. (achim_a)


Lesenswert?

Andras H. schrieb:
> Wie du es machst, ist deine Sache. Ob du da Level Shifters oder
> ein System der nur 3,3V kann nimmst ist dir überlassen.

Ok das habe ich verstanden
Die Frage ist aber ... wie sehe/erfahre ich das ein Arduino/ESP auf den 
Datenpins... ich beziehe die Frage rein auf die Datenpins... das also 
Datenpins nicht über 3.3V gehen.

Siehe meine letzte Frage !

von Achim A. (achim_a)


Lesenswert?

Helmut -. schrieb:
> Man findet
> sicher im Netz von seinen Boards passende Pläne, um zu sehen, wie die
> Schaltung aufgebaut ist.

Der Elektroniker sieht das auf den ersten Blick wenn er so einen 
schaltplan ansieht... der Laie der nur die  Teile  programmieren kann 
der sieht da gar nix der geht davon aus, dass wo 3.3V draufsteht auch 
3.3V rauskommen ... und ich glaub bei I2C ist ja gerade dass das 
Trügerische da der markierte 3.3V Pin am ESP/Arduino zwar wirklich nur 
3.3V liefern aber der I2C macht was er will liefert also u.U. > 3.3V 
(vorausgesetzt der ESP/Arduino hängt an einem 5V Anschluss)

von Fred F. (fred08151)


Lesenswert?

Achim A. schrieb:

> Beim ESP ist das glaube ich nicht so oder?
> wenn der ESP8266 mit 5V betrieben wird und ich schleisse den BME an 3.3V
> des ESP an, so werden auch über die I2C Leitungen nur max 3.3V
> gesendet... stimmt das oder stimmt das nicht?

Die Dev-Boards haben einen 3,3 Volt-Regler, weil ESPs mit 3,3 Volt 
laufen, somit auch hat der I2C auch 3,3 Volt.

von Achim A. (achim_a)


Lesenswert?

Joachim B. schrieb:
> es liegt an dir Achim A. dafür zu sorgen! Nutze ein Board welches die
> VCC passend bereit stellt durch einen Spannungsregler und nutze I2C mit
> Pegelwandler wenn du nur 5V hast.


Genau diese Frage wollte ich eigentlich beantwortet bekommen

Stimmt es nicht:
das wenn ein D1 mini mit 5V versorgt wird, das dieser dann an seinem 
3.3v Ausgang SOWIE an seinen Datenleitungen I2C auch nur 3.3.V max 
ausgibt?
Mir geht es in der Frage also um die Datenleitungen.

Angeblich (und das weiss ich eben nicht ) soll es so sein, dass die 
Arduinos auf den Datenleitungen I2C höhere Spannungen nutzen also > 
3.3V...und die ESP's angeblich nicht

Die Frage zielt also rein auf die Datenleitungen ab...

Denn wenn ALLE Boards ESP und Arduinos stets höhere Spannungen auf ihren 
I2C leitungen nutzen dann bräuchte man ja immer zwingend einen 
Level-shifter um solche Sensoren betreiben zu können

Wenn das so ist, dann wundere ich mich noch mehr über die vielen 
falschen Beispiel-Schaltungen im Netz wo eben BME und andere 3.3.V 
sensoren direkt ohne Levelshifter angeschlossen sind

von Achim A. (achim_a)


Lesenswert?

Jim M. schrieb:
> Dann ist aber der Programmierer zu Doof.
>
> Die Pins am I²C dürfen niemals auf "Ausgang high" geschaltet werden,
> denn nur die Pullups dürfen den Bus auf High ziehen.

Das ist interessant

so wie ich das verstehe wäre das in meinem Fall dann niemals so, da ich 
an den I2C leitungen nichts reinprogrammiere...
ich nutze ja die Standardbibliothek der Sensoren und da wird die I2C 
Leitung nicht von mir verwaltet...

oder meintest du was anderes?

von Wastl (hartundweichware)


Lesenswert?

Achim A. schrieb:

> ........ und ich glaub bei I2C ist ja gerade dass das
> Trügerische da der markierte 3.3V Pin am ESP/Arduino zwar wirklich nur
> 3.3V liefern aber der I2C macht was er will liefert also u.U. > 3.3V

Ja, an irgendein Märchen glauben ....

Achim A. schrieb:
> Angeblich (und das weiss ich eben nicht ) soll es so sein, dass die
> Arduinos auf den Datenleitungen I2C höhere Spannungen nutzen also >
> 3.3V...und die ESP's angeblich nicht

Ein dezidierter I2C Pin liefert keine Ausgangsspannung da er per
Norm einen Open Drain Ausgang darstellt der auch gelesen wird.
Es kommt an einem I2C Pin grundsätzlich nix 'raus. Der (High-)
Pegel am Bus wird durch den Pullup bestimmt, der Low-Pegel ist
durch den Open Drain Ausgang bestimmt. Wie verträglich der Pin
gegenüber Spannungen ist die anliegen gibt das Datenblatt
Auskunft.

von Stefan F. (Gast)


Lesenswert?

Bei I²C Anschlüssen wird der HIGH Pegel von den Pull-Up Widerständen 
bestimmt. Sind diese an 3,3V angeschlossen, dann hat dein Bus 3,3V. Sind 
sie an 5V angeschlossen, dann hat dein Bus 5V.

Viele (aber nicht alle!) Mikrocontroller vertragen am I²C Bus 5V auch 
wenn sie selbst nur mit 3,3V versorgt werden.

Die Mikrocontroller Boards haben normalerweise keine Pull-Up Widerstände 
aufgelötet. Du findest sie allerdings auf den meisten Peripherie-Moulen.

Man muss im Einzelfall in die Schaltpläne und Datenblätter der Produkte 
schauen, die man da miteinander verbinden will. Das gilt nicht für für 
I²C, sondern für alle Schnittstellen.

Übrigens arbeiten nur noch wenige alte Arduino Boards mit 5V 
Betriebsspannung. Wo ein ATmega Chip drauf ist hat man meistens 5V, 
sonst 3,3V. Die ATmnegas könnten auch mit 3,3V betrieben werden, dann 
aber nur mit 8 Mhz. Manche Hersteller bieten sie in der Form auch an.


Die meisten Arduino Boards werden von einem Netzteil (oder USB Kabel) 
versorgt, setzen das jedoch mit einem Spannungsregler auf 5V oder 3,3V 
Betriebsspannung herunter. Aber wie gesagt sind Betriebsspannung des IC 
und die Spannung des I²C Bus prinzipiell voneinander unabhängig.

von Achim A. (achim_a)


Angehängte Dateien:

Lesenswert?

Stefan F. schrieb:
> Aber wie gesagt sind Betriebsspannung des IC
> und die Spannung des I²C Bus prinzipiell voneinander unabhängig

Hallo,
genau da wird es wieder verwirrend.
Wenn ich mir die Datenblätter der meisten BME und SHT (I2C) Sensoren 
ansehe so steht dort meist Vin max. 3.x Volt und typ 3.0 Volt

Da mein D1 Mini wohl keinen internen Pullup hat bin ich auch nicht 
sicher ob das die typischen BM/SHT Module haben.

Meines Wissens nach verträgt zum Beispiel ein Pimoroni BME680 tw. 2.7 
und 5.x volt, ich glaub das die Adafruit da auch besser abgesichert sind 
(bin aber nicht sicher) .... die meisten anderen jedoch glaub ich haben 
so einen Pullup nicht...oder täusche ich mich da...
Also würde es gar nichts bringen wenn ich die Sensoren wie auf dem 
Schaltplan so anschließe. Da mein D1 Mini mit USB-5V versorgt wird, 
müsste ich trotzdem die I2C Leitungen SDA/SCL über eine Levelshifter 
laufen lassen
ist das korrekt?

 ===> Du findest sie allerdings auf den meisten Peripherie-Modulen.
wenn dem so wäre dann müsste es  ja doch genügen wenn ich die BME/SHT 
Boards mit 3.3V versorge, den Rest würde das Board selbst übernehmen .
Diese Info das dieser Pullup auf den Boards vorhanden wäre hatte ich 
noch nicht
in den Datasheets glaub ich ist das nicht zu sehen

wenn man sich z.B. bei Reichelt den BME280 ansieht so bezieht sich das 
Datenblatt NUR auf den sensor und nicht auf's Board.. was soll mir das 
nun sagen...als das der Sensor nur 3.6V verträgt und wohl keinen Pullup 
besitzt oder?
https://cdn-reichelt.de/documents/datenblatt/B400/BOSCH_SENSORTEC_FLYER_BME280.pdf

Wie würde ihr das machen wenn man ein System aufbauen möchte bei dem es 
mehrere D1-Minis gibt die meist Temp/Feuchtigkeits Sensoren, 
Schalter/Relays und PWM steuern und schalten sollen ?
sollte ich die gleich mit 3.3V versorgen also auf eine typische 5V USB 
Versorgung verzichten?

von Achim A. (achim_a)


Lesenswert?

Stefan F. schrieb:
> Übrigens arbeiten nur noch wenige alte Arduino Boards mit 5V
> Betriebsspannung. Wo ein ATmega Chip drauf ist hat man meistens 5V,
> sonst 3,3V. Die ATmnegas könnten auch mit 3,3V betrieben werden,

Wie baut man dann am besten ein Heimnetz mit vielen Sensoren und evtl. 
auch Relays in der Spannungsversorgung?

Die D1-Mini's die hier meiste eingesetzt werden müssten dann ja mit 3.3V 
, manche Analago-Messgeräte evtl. mit 5V und vielleicht noch 
Relay-Module mit 9V bersorgt werden.

Ist es dann in der Praxis so, dass man hier  versch. 
Versorgungsspannungen bereitstellen muss oder wie löst man das ?

von Stefan F. (Gast)


Lesenswert?

Achim A. schrieb:
> ich glaub das ...
> die meisten anderen jedoch glaub ich haben
> so einen Pullup nicht...
> oder täusche ich mich da...
> Also würde es gar nichts bringen wenn ...
> wenn dem so wäre dann müsste es ja doch genügen ...

Du musst dich schon vergewissern. Eine Schaltung die auf Glauben und 
Vermutungen beruht, wird nur mit Glück funktionieren.

Wenn du Module ohne Schaltungsunterlagen und ordentliche Dokumentation 
kaufst, dann ist das dein Geiz-Ist-Geil Problem. Dabei kann ich dir 
nicht helfen.

Achim A. schrieb:
> Wie baut man dann am besten ein Heimnetz mit vielen Sensoren und evtl.
> auch Relays in der Spannungsversorgung?

Die Frage ist zu weit gefasst, kann man so unmöglich sinnvoll 
beantworten.

> Ist es dann in der Praxis so, dass man hier versch.
> Versorgungsspannungen bereitstellen muss oder wie löst man das ?

Mehrere unterschiedliche Versorgungsspannungen im selben Gerät sind 
keine Seltenheit, durchaus üblich. 5 Volt werden zunehmend seltener. Bei 
USB Geräten dienen die 5V normalerweise lediglich dazu, mittels 
Spannungsregler auf stabile 3,3V zu kommen. Die Datenleitungen von USB 
haben 3,3V Pegel. Die wenigen Arduino Boards, welche den Mikrocontroller 
direkt mit den instabilen 5V vom USB Kabel betreiben, sind eine 
Ausnahme.

von Rahul D. (rahul)


Lesenswert?

Stefan F. schrieb:
> Du musst dich schon vergewissern. Eine Schaltung die auf Glauben und
> Vermutungen beruht, wird nur mit Glück funktionieren.
und viel beten!

Achim A. schrieb:
> Pimoroni BME680

Nur so zur Info:
Der BME680 wird von Bosch hergestellt.

Pimoroni kauft davon welche und lötet sie auf (von ihnen entwickelte) 
Leiterplatten, auf denen sich noch weitere Bauteile befinden.
Diese Bauteile sind u.a. dazu da, den eigentlichen Sensor anderen 
Spannungsumgebungen zugänglich zu machen.
Leider sind 5V bei Stromversorgungn immer noch sehr verbreitet, bzw. der 
Irrglaube, dass diese Spannung noch Standard wäre.

von Helmut -. (dc3yc)


Lesenswert?

Dann musst du halt die Pullups nachmessen, an welcher Spannung die 
hängen. Ein Multimeter wirst du ja haben. Oder die Pullups auf den 
Breakout-Boards auslöten und externe Widerstände verwenden. Ist ja Open 
Drain/Collector. Und sage nicht, das kannst du nicht! Jeder konnte es 
irgendeinmal nicht. Und die, die das jetzt können, mussten es halt 
irgendwann lernen!

von Achim A. (achim_a)


Angehängte Dateien:

Lesenswert?

hier habe ich einen Schaltplan mit Level-shifter und Multiplexer
Würde das so funktionieren?

von Stefan F. (Gast)


Lesenswert?

Ich würde keine zusätzlichen Bauteile einfügen, ohne mich vorher zu 
vergewissern, dass sie nötig sind.

Jede unnötige Bauteil erhöht die Ausfallrate und das Risiko, sich 
weitere Probleme einzuhandeln, an die mach nicht gedacht hat.

Was hier wirklich gebraucht wird, sind die technischen Unterlagen der 
Module, die du benutzen willst.

von Achim A. (achim_a)


Lesenswert?

Stefan F. schrieb:
> ede unnötige Bauteil erhöht die Ausfallrate und das Risiko, sich
> weitere Probleme einzuhandeln, an die mach nicht gedacht hat.
>
> Was hier wirklich gebraucht wird, sind die technischen Unterlagen der
> Module, die du benutzen willst.

Das wäre die beste Lösung aber leider ist das mit Dokumenten nicht so 
einfach
schau doch mal bitte hier... da sind meine D1 Mini's her...
https://www.makershop.de/plattformen/d1-mini/esp8266-mini-board/

und hier steht es das man bei %v mit Pegelwandler arbeiten soll
https://www.makershop.de/sensoren/temperatur/bme280/
und wie ein Vorredner schrieb das ich da was auslöten könnte.

Das mag viuelleicht sein das ich das schaffe aber der BME280 dürfte dann 
hinüber sein.
Wenn es korrekt ist was ich über diesen Sensor weiss, ist es so, dass er 
beim Auflöten in der Fabrik hohe Temperaturen gar nicht mag und da auch 
kaputt gehen kann (gibts bei schlechter Fertigung in China ab und an)
und da traue ich mir als Laie nicht wirklich nebenan mit einem Lötkolben 
rum machen.

Weiter ist es wirklich schwer vorstellbar das solche Sensoren die ja zu 
zig-tausenden  in Kombi mit Arduino und ESP benutzt werden dass man hier 
was aus- oder umlöten muss.

oder stimmt das nicht?

von Rahul D. (rahul)


Lesenswert?

Achim A. schrieb:
> Wenn es korrekt ist was ich über diesen Sensor weiss, ist es so, dass er
> beim Auflöten in der Fabrik hohe Temperaturen gar nicht mag und da auch
> kaputt gehen kann (gibts bei schlechter Fertigung in China ab und an)
> und da traue ich mir als Laie nicht wirklich nebenan mit einem Lötkolben
> rum machen.

Irrelevant, da nicht dein Problem.

Achim A. schrieb:
> schau doch mal bitte hier... da sind meine D1 Mini's her...

ESP-32-Controller arbeiten mit 3V oder 3,3V. Dazu passen Sensoren, die 
auch bei der Spannung arbeiten (wie die BMEs).

Und wenn man sich den Schaltplan (*) des D1 Mini anguckt, stellt man 
fest, dass er "intern" (also hinter dem Spannungsregler) mit 3,3V 
arbeitet.

(*)z.B. 
https://escapequotes.net/wp-content/uploads/2016/02/2020-02-10_12-06-36.jpg

Dein Sensor-Board ist für den direkten Betrieb am D1 Mini geeignet.

Wenn er dir um die Ohren fliegen sollte, lag es an was anderem.

von Wastl (hartundweichware)


Lesenswert?

Achim A. schrieb:
> Wie baut man dann am besten ein Heimnetz mit vielen Sensoren und evtl.
> auch Relays in der Spannungsversorgung?

Auf jeden Fall nicht mit einem I2C Bus! Auf "Leitungslängen"
streuen beliebig Störungen ein und verursachen ein munteres
Kuddelmuddel an Fehlfunktionen.

von Stefan F. (Gast)


Lesenswert?

Achim A. schrieb:
> Das wäre die beste Lösung aber leider ist das mit Dokumenten nicht so
> einfach. Schau doch mal bitte hier

Ich weiß, die Lage ist mir durchaus bekannt.

> Weiter ist es wirklich schwer vorstellbar das solche Sensoren die ja zu
> zig-tausenden  in Kombi mit Arduino und ESP benutzt werden dass man hier
> was aus- oder umlöten muss.

Oh doch, da wird eine Menge gefrickelt.

von Achim A. (achim_a)


Lesenswert?

Hier ist auch ein schönes Beispiel mit D1 Mini und BME280

http://jurameer.de/index.php/rezepte/8-elektronik/17-wetterstation-mit-esp8266

der macht es so, dass er den D1 Mini gleich mit 3.3V nur versorgt.
So ist dann auch gewährleistet das seine I2C-Pins SDA/SCL auch mit nur 
3.3V arbeiten was ja vielen Sensoren zu Gute kommt.

Wenn er dann 5V für ein Display oder was auch immer benötigen würde, 
dann schaltet er ganz einfach eine Levelshifter dazwischen...

ich denke wenn man viel mit Sensoren arbeitet wäre das u.u. der bessere 
Weg... sehe ich das richtig?

von Stefan F. (Gast)


Lesenswert?

Zur Zeit sind im Arduino Umfeld sehr viele Module im Umlauf, die mit 
einem 5V Netzteil versorgt werden sollen, intern jedoch mit 3,3 Volt 
arbeiten. Die allermeisten passen gut zusammen.

Im Fall I²C passt das sogar zu Arduino UNO und Nano Board, die zwar mit 
5V betrieben werden, aber zu I²C Bussen mit 3,3V kompatibel sind.

Nur die Relais-Board tanzen aus der Reihe. Viele von denen (nicht alle) 
brauchen 5V Signale. Vermutlich, weil da 20 Jahre alte Schaltungen immer 
noch ohne Sachverstand kopiert werden.

von Rainer W. (rawi)


Lesenswert?

Achim A. schrieb:
> Da mein D1 Mini wohl keinen internen Pullup hat bin ich auch nicht
> sicher ob das die typischen BM/SHT Module haben.

Was hat die Existens von Pullups bei den verschiedenen Modulen 
miteinander zu tun. Sicher sein kannst du dir nur, wenn du nachguckst.

Achim A. schrieb:
> Das wäre die beste Lösung aber leider ist das mit Dokumenten nicht so
> einfach schau doch mal bitte hier... da sind meine D1 Mini's her...
> https://www.makershop.de/plattformen/d1-mini/esp8266-mini-board/

Des ESP8266 läuft mit 3.3V und auf dem D1 mini Modul sitzt ein 
Spannungsregler, der diese Spannung aus den 5V vom USB bereit stellt.
Schaltpläne vom D1 mini sind im Internet genügend veröffentlicht.
Und wenn du das Modul vor die liegen hast, könntest du auch einfach 
nachsehen.

> und hier steht es das man bei %v [5V] mit Pegelwandler arbeiten soll
> https://www.makershop.de/sensoren/temperatur/bme280/
> und wie ein Vorredner schrieb das ich da was auslöten könnte.

Der BME280 arbeitet mit 3.3V und natürlich musst du dann einen 
Pegelwandler dazwischen setzen, wenn er an einem 5V Controller betrieben 
werden soll.
An einem 5V Controller einen 3.3V I2C Bus zu betreiben, funktioniert 
nicht ausreichend sicher, weil der 5V Controller i.d.R. den High-Pegel 
eines 3.3V I2C Buses nicht sicher erkennt.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Rainer W. schrieb:
> An einem 5V Controller einen 3.3V I2C Bus zu betreiben, funktioniert
> nicht ausreichend sicher, weil der 5V Controller i.d.R. den High-Pegel
> eines 3.3V I2C Buses nicht sicher erkennt.

In der Regel? Schauen wir mal bei dem 5V Mikrocontroller nach, den 
Arduino verwendet (dem ATmega328). Dort sind es 3 Volt. Passt in diesem 
Fall.

Dennoch sollte das niemand als allgemeine Regel auffassen. Immer schön 
in die Datenblätter schauen.

von Rainer W. (rawi)


Lesenswert?

Stefan F. schrieb:
> In der Regel? Schauen wir mal bei dem 5V Mikrocontroller nach, den
> Arduino verwendet (dem ATmega328). Dort sind es 3 Volt. Passt in diesem
> Fall.

Der Störabstand verringert sich dadurch von 1,3V auf 0,3V. Da hängt es 
von einer sauberen Umgebung ab, ob man es sich leisten möchte, an dieser 
Stelle die Systemreserven zu verschenken, nur um zwei Pegelwandler für 
ein paar Cent einzusparen.

von Rahul D. (rahul)


Lesenswert?

Rainer W. schrieb:
> Der Störabstand verringert sich dadurch von 1,3V auf 0,3V. Da hängt es
> von einer sauberen Umgebung ab, ob man es sich leisten möchte, an dieser
> Stelle die Systemreserven zu verschenken, nur um zwei Pegelwandler für
> ein paar Cent einzusparen.

Vielleicht habe ich es überlesen, aber: Steht hier irgendwas zu den 
Umgebungsbedingungen?
Warum sollte man einen Sensor, der mit 3,3V einwandfrei funktioniert und 
ein µController, der auch bei 3,3V einwandfrei funktioniert, noch mit 
Pegelwandlern betreiben?

Würde man jetzt beide zig Meter voneinander entfernt positionieren, wäre 
eine symmetrische Übertragung (ähnlich RS422) empfehlenswert.
Wenn die beiden Bausteine quasi auf derselben Platine montiert werden, 
wird da gar nichst gebraucht.

von Rainer W. (rawi)


Lesenswert?

Rahul D. schrieb:
> Warum sollte man einen Sensor, der mit 3,3V einwandfrei funktioniert und
> ein µController, der auch bei 3,3V einwandfrei funktioniert, noch mit
> Pegelwandlern betreiben?

Weil Stefan F. von einem ATmega328 mit 5V Betriebsspannung sprach und 
genau darauf bezog sich mein Kommentar.
Dass sich der bei reduzierter Taktfrequenz auch mit 3.3V betreiben 
ließe, stand oben bereits.

von Helmut -. (dc3yc)


Lesenswert?

Achim A. schrieb:
> hier habe ich einen Schaltplan mit Level-shifter und Multiplexer
> Würde das so funktionieren?

Nein, denn du hast vergessen, eine bestimmte Spannung anzuschliessen. 
Schau mal bei deinem Pegelwandler, den du nicht brauchst. Und ich würde 
dir wirklich empfehlen, Schaltpläne deiner Baugruppen dir zu besorgen 
und die Schaltung der einzelnen Baugruppen zusammenzufassen in ein 
Schaltbild. Dann siehst du am besten, was du zusammenstöpselst.
Und "Lernen" bedeutet auch mal Lehrgeld zu bezahlen. Ist wie bei kleinen 
Kindern. Die lernen auch nur, dass eine Herdplatte heiss ist, wenn sie 
mal hingelangt haben.

von Rahul D. (rahul)


Lesenswert?

Rainer W. schrieb:
> Weil Stefan F. von einem ATmega328 mit 5V Betriebsspannung sprach und
> genau darauf bezog sich mein Kommentar.

Da würde ich auch einen verwenden. Nur bezog sich Achim Frage auf einen 
Aufbau mit D1 Mini und BMEx80, die beide mit 3,3V arbeiten.

von Joachim B. (jar)


Lesenswert?

Achim A. schrieb:
> Stimmt es nicht:
> das wenn ein D1 mini mit 5V versorgt wird, das dieser dann an seinem
> 3.3v Ausgang SOWIE an seinen Datenleitungen I2C auch nur 3.3.V max
> ausgibt?

hier stimmt einiges nicht

Es wird nichts mit 5V versorgt, nur das Modul aus den 5V USB und da der 
D1 mini einen 3,3V Chip hat ist ein Spannungsregler drauf der von 5V auf 
3,3V herabsetzt, somit kann die maximale Port Spannung nur 3,3V sein und 
mehr dürfen dem IC bzw. den Ports auch nicht angeboten werden!

Das Beispiel mit der RTC DS3231 brachte ich ja schon 5V für 
Ladeschaltung LiR2032 ist aber unsinnig wenn eine CR2032 vebaut 
wird.Beitrag "Re: BME280 3,3v Spannung und I2C Bus"

Trenne mal bitte Bauteile und Module und würfel nicht alles 
durcheinander.

von Achim A. (achim_a)


Lesenswert?

Rahul D. schrieb:
> Warum sollte man einen Sensor, der mit 3,3V einwandfrei funktioniert und
> ein µController, der auch bei 3,3V einwandfrei funktioniert, noch mit
> Pegelwandlern betreiben?

Hallo

eine Situation wäre u.U noch zu überdenken was für 5V spricht.
Wenn man alles so baut das man auch 5V verwenden kann (man würde also 
mit Pegelewandler arbeiten) dann könnte man den D1 mini direkt via 
USB-Anschluss flashen.

Ich bin da aktuell hin und hergerissen was besser wäre.
Mit einem Bauteil mehr arbeiten und somit Spannungsflexibel oder nur auf 
3,3V setzen und dafür ohne Pegelwandler (zumindest nur dann wenn man auf 
5V Module switchen müsste, hätte ich auch ein paar Fälle da hätte ich 
einen Mix aus 3.3 und 5V Modulen.)

von Stefan F. (Gast)


Lesenswert?

Achim A. schrieb:
> eine Situation wäre u.U noch zu überdenken was für 5V spricht.
> Wenn man alles so baut das man auch 5V verwenden kann (man würde also
> mit Pegelewandler arbeiten) dann könnte man den D1 mini direkt via
> USB-Anschluss flashen.

Ich sehe nicht, was das eine mit dem anderen zu tun hat.

von Rainer W. (rawi)


Lesenswert?

Stefan F. schrieb:
> Die wenigen Arduino Boards, welche den Mikrocontroller
> direkt mit den instabilen 5V vom USB Kabel betreiben, sind eine
> Ausnahme.

Ja nee - is´ klar.
Eigentlich hätte ich erwartet, dass du die Arduinos besser kennst.

von Stefan F. (Gast)


Lesenswert?

Rainer W. schrieb:
> Eigentlich hätte ich erwartet, dass du die Arduinos besser kennst.

Na dann schau dir mal die ganzen Arduino Boards an, die auf arduino.cc 
angeboten werden. Es gibt nur noch wenige 5V Modelle.

von Rainer W. (rawi)


Lesenswert?

Stefan F. schrieb:
> Es gibt nur noch wenige 5V Modelle.

Die ganze Classic Family läuft bis auf den Due mit 5V und wenn du 
guckst, was unter "Arduino" aus CN kommt, liegt der Schwerpunkt noch 
ganz deutlich bei 5V.

von Manfred P. (pruckelfred)


Lesenswert?

Achim A. schrieb:
> eine Situation wäre u.U noch zu überdenken was für 5V spricht.
> Wenn man alles so baut das man auch 5V verwenden kann (man würde also
> mit Pegelewandler arbeiten) dann könnte man den D1 mini direkt via
> USB-Anschluss flashen.

Wenn Dir Pegelwandler 5 <-> 3V3 zu schwierig sind und Du keinen ESPxx 
willst, schaue nach dem Arduino ProMini. Den gibt es mit ATMega328 8 MHz 
und 3,3 Volt, setze ich ein, wenn ich aus einem LiIon-Akku speisen will. 
Damit bekommt man auch eine sehr stromsparende Lösung hin.

Der hat kein USB auf dem Baord, zum Flashen nutze ich einen externen 
Adapter mit galvanischer Trennung, China-Modul plus Lochraster-Eigenbau.

Du könntest auch zu einem ESP32-DevBoard greifen, der ESP läuft mit 3,3 
Volt, aber hat einen USB-Port dran, den man direkt anklemmen kann.

von Rahul D. (rahul)


Lesenswert?

Achim A. schrieb:
> eine Situation wäre u.U noch zu überdenken was für 5V spricht.
> Wenn man alles so baut das man auch 5V verwenden kann (man würde also
> mit Pegelewandler arbeiten) dann könnte man den D1 mini direkt via
> USB-Anschluss flashen.
Wolltest du nicht einen D1 Mini verwenden?
Der hat einen Spannungsregler drauf, der aus den USB-5V 3,3V macht, 
damit der ESP das überlebt.
Alle Controllerboards mit einem 3,xV-Chip und USB-Anschluss haben so 
eine Schaltung drauf.
Arduinos haben dann überwiegend auch noch den Vin-Anschluss, an den man 
noch höhere Spannungen (ca. 16V maximal) anschließen kann.

> Ich bin da aktuell hin und hergerissen was besser wäre.
> Mit einem Bauteil mehr arbeiten und somit Spannungsflexibel oder nur auf
> 3,3V setzen und dafür ohne Pegelwandler (zumindest nur dann wenn man auf
> 5V Module switchen müsste, hätte ich auch ein paar Fälle da hätte ich
> einen Mix aus 3.3 und 5V Modulen.)

Fang erst mal an, EINE Schaltung aufzubauen.
Stefan schrieb ja schon, dass mit jedem neuen Teil eine Fehlerquelle 
hinzukommt.

von Fred F. (fred08151)


Lesenswert?

12 Volt halten die 1117 meistens aus, nur muss man sich im klaren sein, 
dass dann auch am USB-Anschluss diese Spannung anliegt und dann nicht 
gleichzeitig benutzt werden darf.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Fred F. schrieb:
> 12 Volt halten die 1117 meistens aus, nur muss man sich im klaren sein,
> dass dann auch am USB-Anschluss diese Spannung anliegt und dann nicht
> gleichzeitig benutzt werden darf.

Nenne mir ein µC Board, bei dem der 12V Anschluss nicht durch eine Diode 
von VUSB getrennt ist, um genau zu verhindern, dass die hohe 
Versorgungsspannung den USB aufschießt.
Falls dort keine Entkopplung vorhanden ist, wäre das ein guter Grund, 
den Entwickler ...
Wenn man an den AMS1117 eine Eingangsspannung von 12V anlegt, tut man 
gut daran, sich über die Verlustleistung Klarheit zu verschaffen. Mit 
einem ϕ_JA von um die 90°C/W kann der schnell an seine Grenzen kommen.

von Achim A. (achim_a)


Lesenswert?

Hallo
habe jetzt  u.U. die Lösung für das 3.3V Dilemma .
So wie es aussieht, zumindest wenn ich es korrekt lese, hat der D1 mini 
mit 3.3V Modulen gar kein Problem bzw. haben die 3.3.V Module mit einem 
Mini kein Problem.

denn siehe hier:

https://unsinnsbasis.de/esp8266-pin-belegung/#:~:text=Die%20Standardspannung%20des%20ESP8266%20betr%C3%A4gt,k%C3%B6nnen%20die%20Boards%20besch%C3%A4digen%20bzw.

Die Standardspannung des ESP8266 beträgt 3,3 Volt. Darauf sind auch die 
GPIOs ausgelegt – sie arbeiten mit Signalpegeln von 3,3V; höhere 
Spannungen als 3,6V – also auch die mglw. vom Arduino gewohnten 
5V-Signale – können die Boards beschädigen bzw. zerstören. Ein 
Spannungsregler sorgt dafür, dass die 5V Versorgungsspannung – z.B. vom 
USB-Anschluss – auf 3,3V heruntergeregelt werden.

Anscheinend läuft der gesamte D1 Mini ab dem USB-Port und den wohl 
direkt verbundenen 5V Pin ausschließlich mit 3.3V. Es scheint also beim 
ESP8266 nicht wie beim Arduino zu sein, dass dieser auch auf den I2C 
Pins >3.3V bzw. 3.6V Signale benutzt.
Wenn das stimmt, hat sich damit natürlich die ganze Frage erledigt.
Man müsste dann also bei 3.3V Modulen gar nichts machen und nur beim 
Einsatz von 5V Modulen einen Level-shifter verwenden.

Kann das jemand bestätigen?

: Bearbeitet durch User
von Achim A. (achim_a)


Lesenswert?

Rahul D. schrieb:
> Wolltest du nicht einen D1 Mini verwenden?
> Der hat einen Spannungsregler drauf, der aus den USB-5V 3,3V macht,
> damit der ESP das überlebt.
> Alle Controllerboards mit einem 3,xV-Chip und USB-Anschluss haben so
> eine Schaltung drauf.
> Arduinos haben dann überwiegend auch noch den Vin-Anschluss, an den man
> noch höhere Spannungen (ca. 16V maximal) anschließen kann.

Hallo,
ja Danke, diese Info hatte ich nun auch gefunden.

Es scheint wohl wirklich so zu sein wie Du schreibst, dass der D1 Mini 
mit seinem ESP8266 kurz nach dem USB-Anschluss und seinem 5V Pin für das 
restliche System auf 3.3V herunter geregelt wird.
Somit eignet sich aus meiner Sicht der ESP8266 wohl am besten für 
Sensoren die empfindlich auf Spannungen > 3.3-3.6V reagieren.

Das würde auch das Problem erledigen weitere Bauteile einbauen zu müssen 
da ich mir um die Spannung keine Gedanken machen muss.
Außer ich benötige mal ein 5V Modul. Da muss dann halt ein LevelShifter 
her.

Das mit den Arduinos ist aber glaube ich nicht so ganz einfach was 3.3.V 
Module betrifft.
Ich glaube die Mega's arbeiten auf ihren I2C Ports mit einer höheren 
Spannung.. Es sind glaub ich nicht so viele Modelle beim Ardino die mit 
reinen 3.3V intern arbeiten oder?

von Rahul D. (rahul)


Lesenswert?

Achim A. schrieb:
> Das mit den Arduinos ist aber glaube ich nicht so ganz einfach was 3.3.V
> Module betrifft.
> Ich glaube die Mega's arbeiten auf ihren I2C Ports mit einer höheren
> Spannung.. Es sind glaub ich nicht so viele Modelle beim Ardino die mit
> reinen 3.3V intern arbeiten oder?

Zum Glauben geht man in die Kirche.
Für alles andere gibt es Schaltpläne und andere Dokumentation.
Oder einfach Herstellerspezifikationen ("Modul XYZ kann in einem 
Spannungsbereich von ... bis ... betrieben werden.")

Die klassischen Arduinos (UNO, MEGA etc) arbeiten mit 5V - überall (das 
wurde auch weiter oben in diesem Thread schon beschrieben).
Das einzige klassische Arduino-Board, das ausschließlich 3,3V 
verarbeitet, ist das DUE. Da steckt zwar auch ein Atmel Chip drauf, aber 
dabei handelt es sich um einen arm-Controller (32Bit).
Die arbeiten extern mit 3,3V und intern teilweise mit 1,8V (bzw. 
Spannungen, die unter 3,3V liegen).
Dafür haben sie dann interne Spannungsregler.

von Stefan F. (Gast)


Lesenswert?

Stefan F. schrieb:
> Na dann schau dir mal die ganzen Arduino Boards an, die auf arduino.cc
> angeboten werden. Es gibt nur noch wenige 5V Modelle.

Rainer W. schrieb:
> Die ganze Classic Family läuft bis auf den Due mit 5V

Und der Arduino Nano. Das sind zusammen 8 Modelle.

Die "anderen" umfassen 13 Modelle. Dazu kommen unzählige Arduino 
kompatible Boards mit ARM Controllern, RP2040 und ESP Chips.

Ja, noch gibt es 5V Boards. Doch es ist nicht zu übersehen, dass sie 
allmählich vom Markt verschwinden. Auch bei der Peripherie ist nicht zu 
übersehen, dass die Mehrheit der Chips für 3,3V (oder weniger) ausgelegt 
ist.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Achim A. schrieb:
> Anscheinend läuft der gesamte D1 Mini ...  mit 3.3V ...
> Kann das jemand bestätigen?

Ja!
Das ist doch genau der Punkt, den wir alle dir zu verklickern versucht 
haben.

Achim A. schrieb:
> Das mit den Arduinos ist aber glaube ich nicht so ganz einfach was 3.3.V
> Module betrifft.

Wie gesagt, die meisten Module kommunizieren mit 3,3V. Sie enthalten 
genau wie das D1 Mini Board Spannungsregler, um diese 3,3V aus einem 5V 
Netzteil (bzw USB Kabel) zu gewinnen.

> Ich glaube die Mega's arbeiten auf ihren I2C Ports mit einer höheren
> Spannung.. Es sind glaub ich nicht so viele Modelle beim Ardino die mit
> reinen 3.3V intern arbeiten oder?

Siehe mein vorheriger Beitrag.

Wie gesagt, akzeptiert ein 5V Arduino Mega die 3,3V Signale einwandfrei 
als HIGH Pegel. Und er gibt am I²C Bus keine unerwünschten 5V als HIGH 
aus, weil der I²C Bus halt so arbeitet. Die HIGH Pegel kommen von 
Pull-Up Widerständen, die man auf 3,3V zu legen hat, wenn man daran 3,3V 
Peripherie anschließt.

Ein Beispiel, wo das so gemacht wird: 
http://stefanfrings.de/arduino_oled/index.html

Der Mikrocontroller wird auf diesem Arduino Nano Board mit den 5V vom 
USB Port betrieben, abzüglich etwa 0,5 Volt von einer Diode. Also 4,5 
Volt. Das Display-Board hat einen 3,3V Spannungsregler, sowie Pull-Up 
Widerstände auf 3,3 Volt. Diese beiden Boards funktionieren tadellos 
zusammen.

von Rainer W. (rawi)


Lesenswert?

Achim A. schrieb:
> Anscheinend läuft der gesamte D1 Mini ab dem USB-Port und den wohl
> direkt verbundenen 5V Pin ausschließlich mit 3.3V.

Richtig - guckst du Schaltplan von D1 Mini, hier z.B. von der v4.0
https://www.wemos.cc/en/latest/_static/files/sch_d1_mini_v4.0.0.pdf

von Achim A. (achim_a)


Lesenswert?

Stefan F. schrieb:
> Ein Beispiel, wo das so gemacht wird:
> http://stefanfrings.de/arduino_oled/index.html
>
> Der Mikrocontroller wird auf diesem Arduino Nano Board mit den 5V vom
> USB Port betrieben, abzüglich etwa 0,5 Volt von einer Diode. Also 4,5
> Volt. Das Display-Board hat einen 3,3V Spannungsregler, sowie Pull-Up
> Widerstände auf 3,3 Volt. Diese beiden Boards funktionieren tadellos
> zusammen.

hallo und genau da kam meine Verwirrung auf.
edit:
sorry das war Mist was ich schrieb...
ich hatte das Board als ESP8266 identifiziert ...


Was passiert eigentlich wenn man Boards die eine fest verbauten 
Spannungsregler haben mit einem Pulup Widerstand, wenn hier nur 3.3V 
ankommen... wird dann diese Spannung auch runter reguliert?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Achim A. schrieb:
> Was passiert eigentlich wenn man Boards die eine fest verbauten
> Spannungsregler haben mit einem Pulup Widerstand, wenn hier nur 3.3V
> ankommen... wird dann diese Spannung auch runter reguliert?

Versuche die Frage nochmal neu zu formulieren. Vollständig und 
grammatikalisch korrekt, damit man sie verstehen kann. Gerne auch mit 
einer Skizze dazu.

von Sebastian W. (wangnick)


Lesenswert?

Achim A. schrieb:
> hallo und genau da kam meine Verwirrung auf.

Achim, was genau willst du wissen? Mir ist das nach 57 Beiträgen immer 
noch nicht klar ...

LG, Sebastian

von Manfred P. (pruckelfred)


Lesenswert?

Rainer W. schrieb:
> Fred F. schrieb:
>> 12 Volt halten die 1117 meistens aus, nur muss man sich im klaren sein,
>> dass dann auch am USB-Anschluss diese Spannung anliegt und dann nicht
>> gleichzeitig benutzt werden darf.
> Nenne mir ein µC Board, bei dem der 12V Anschluss nicht durch eine Diode
> von VUSB getrennt ist, um genau zu verhindern, dass die hohe
> Versorgungsspannung den USB aufschießt.

Bei keinem Board ist der 12V-Anschluß durch eine Diode vom USB getrennt.

Der Vin (12V-Anschluß) geht auf einen Spannungsregler und nirgendwo 
anders hin. Die Trennung erfolgt auf der 5V-Seite, beim A*Nano per 
Diode, beim A*UNO mit einem FET.

Egal wie: Alle mir bekannten Boards verhindern eine Rückspeisung auf den 
USB.

Achim A. schrieb:
> Das mit den Arduinos ist aber glaube ich nicht so ganz einfach was 3.3.V
> Module betrifft.
> Ich glaube die Mega's arbeiten auf ihren I2C Ports mit einer höheren
> Spannung.. Es sind glaub ich nicht so viele Modelle beim Ardino die mit
> reinen 3.3V intern arbeiten oder?

Du hast gelesen:
Manfred P. schrieb:
> Den gibt es mit ATMega328 8 MHz und 3,3 Volt,

Wenn der ATMega mit 3,3V versorgt ist, wird er am I2C keine höhere 
Spannung haben.

Stefan F. schrieb:
> Ein Beispiel, wo das so gemacht wird:
> http://stefanfrings.de/arduino_oled/index.html

Besser: Was so gepfuscht wird.

> Der Mikrocontroller wird auf diesem Arduino Nano Board mit den 5V vom
> USB Port betrieben, abzüglich etwa 0,5 Volt von einer Diode. Also 4,5
> Volt. Das Display-Board hat einen 3,3V Spannungsregler, sowie Pull-Up
> Widerstände auf 3,3 Volt. Diese beiden Boards funktionieren tadellos
> zusammen.

Der SSD1306 scheint ziemlich tolerant zu sein, was aber nichts daran 
ändert, dass der Nano 5V auf seine Eingänge schieben kann.

von Achim A. (achim_a)


Lesenswert?

Stefan F. schrieb:
> Oh doch, da wird eine Menge gefrickelt.

Ist es dann so dass man hier besser auf Markenhersteller als auf reine 
aliexpress-Anbieter zurückgreifen sollte?

Ein Erlebnis was ich persönlich nicht mehr erleben möchte:
DS 18B20 und BMEx80 Sensoren.
Eine ganzer Pack (18B20) von Aliexpress war so defekt das ich extreme 
Aussetzer, nach 5 Meter geschirmten Kabel wurden schon einige nicht mehr 
gefunden. Ich dachte an Kabel, Lötstellen, Programmierung... alles 
falsch. Es war die Fertigung.
Anscheinend sind die bei Reichelt & Co verkauften Sensoren geprüft da 
hier alle 1a und super genau funktionierten.
Bei den Luftfeuchtesensoren wie auf den BMEx80 soll es angeblich auch 
extreme Unterschiede geben da diese hier sehr empfindlich auf zu heiße 
Verlötungen reagieren. Hatte ich auch schon viel Schrott aus China 
(hatte aber auch selbst schon wegen fehlender Kenntnisse über die 
Spannung der Boards viel versaut.

Da musste ich schon einiges an Lehrgeld bezahlen.

von Achim A. (achim_a)


Lesenswert?

Sebastian W. schrieb:
> Achim, was genau willst du wissen? Mir ist das nach 57 Beiträgen immer
> noch nicht klar ...

Sorry aber ich dachte das wäre aus meinem Angangspost hier deutlich 
geworden.

Mich interessierten die Spannungen die Intern das Board z.B. an den I2C 
Pins abgibt. Sind es wirklich nur max 3.3V oder mehr Vorausgesetzt ich 
versorge z.B den D1 Mini mit 5V.
Ich hatte bis jetzt nur mit Nano und Mega etwas herumgespielt dabei 
irgendwann aber gemerkt dass wenn ich 3.3V Sensoren mit 3.3v versorge 
noch lange nicht gewährleistet ist das dann auch die I2C"-Ports auch nur 
mit 3.3V arbeiten.

Da war ich mir bei den ESP8266 Modulen nicht sicher. (hätte ja auch so 
wie bei den Nano's oder Megas sein können)

Deswegen kam auch die Frage nach dem Levelshifter. Ich dachte wenn ich 
den einbaue dann garantiere ich zumindest das auch nur max 3.3v am 
Sensor ankommen.

von Achim A. (achim_a)


Lesenswert?

Möchte mich bei allen hier bedanken für alle die Geduld und Hilfe.
sorry das ich mich oftmals nicht genauer ausdrücken konnte.

Grüße
Achim

von Steve van de Grens (roehrmond)


Lesenswert?

Achim A. schrieb:
> Ist es dann so dass man hier besser auf Markenhersteller als auf reine
> aliexpress-Anbieter zurückgreifen sollte?

Das kann man generell mit "ja" beantworten. Wenn du schon dort 
bestellst, solltest du wenigstens Originalware zum Vergleich vorliegen 
haben, damit du nicht unnötig Zeit mit Fehlersuche in deinem 
Programm/Aufbau vergeudest.

von Steve van de Grens (roehrmond)


Lesenswert?

Achim A. schrieb:
> Deswegen kam auch die Frage nach dem Levelshifter. Ich dachte wenn ich
> den einbaue dann garantiere ich zumindest das auch nur max 3.3v am
> Sensor ankommen.

Die Levelshifter Boards bestimmen die Pegel des I²C Bus durch ihre 
Pull-Up Widerstände. Auf beiden Seiten hat der Bus die Spannung, die du 
dort zur Versorgung anlegst.

Wenn die Spannungen nicht zu den daran angeschlossenen 
Sensoren/Mikrocontrollern passen, hast du das gleiche Problem, wie 
vorher ohne Levelshifter. Du kommst nicht umhin, die Spannungspegel 
anhand der Doku zu überprüfen. Es gibt keine universellen Levelshifter, 
die sich automatisch anpassen.

Deswegen kauft man keine Module ohne Dokumentation. Es sei denn, man 
weiß, was man tut und kann mit dem Risiko leben, dass das Zeug im 
Mülleimer endet.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Achim A. schrieb:
> Sebastian W. schrieb:
>> Achim, was genau willst du wissen? Mir ist das nach 57 Beiträgen immer
>> noch nicht klar ...
>
> Sorry aber ich dachte das wäre aus meinem Angangspost hier deutlich
> geworden.

immer noch nicht mit:

Achim A. schrieb:
> Mich interessierten die Spannungen die Intern das Board z.B. an den I2C
> Pins abgibt. Sind es wirklich nur max 3.3V oder mehr Vorausgesetzt ich
> versorge z.B den D1 Mini mit 5V.

Ein echter I2C Chip gibt keine Spannung weiter, oft sind auf Platinen 
pullups verbaut die diese Spannung weitergeben und damit OC open 
collektor verletzen und sogar falsche Spannungen auf den Bus geben, das 
wurde ALLES schon geschrieben und gehört zu den Grundlagen die auch mal 
verstanden werden müssen,

open collector
https://www.elektronik-kompendium.de/sites/slt/1206121.htm
https://www.familie-finke.com/downloads/thomas/I2C.pdf
https://www.mikrocontroller.net/articles/I%C2%B2C

: Bearbeitet durch User
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.