Forum: Mikrocontroller und Digitale Elektronik ESP01S findet BME280 nicht


von Sandro S. (sandros)


Angehängte Dateien:

Lesenswert?

Hy Leute,

Ich habe mir in Easy EDA ein sehr einfaches PCB designed um den Sensor 
und einen ESP01 auf den selben Board zu haben im Batteriebetrieb. Ohne 
lästige Kabel.
Werde die Easy EDA .json anhängen und noch ein Bild vom PCB.

Habe mir dazu von Aliexpress die hier empfohlenen XC6220B331MR-G 
geordert.
Ebenso 10uf Kondensatoren.
Die Kondensatoren misst mein UT61E mit 8.5uf, naja nicht ideal aber ich 
denke das sollte passen.

Nun zum Problem:

Der XC6220B331MR-G spuckt 3.3V aus, diese kommen auch beim BME280 Sensor 
an.
Aber aus irgendeinem mir nicht ersichtlichen Grund, findet der ESP 01S 
den Sensor, mit dem den meisten Bekannten I2C Scanner nicht.

Sensor Defekt schließe ich aus, funktioniert an einem ESP32 Dev Board am 
3.3V Pin.

Meine einzige Vermutung ist, dass der XC6220B331MR-G von Aliexpress das 
Problem sein könnte, weil Plagiat oder dergleichen.

Jemand ne Idee?

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

I2C funktioniert ohne Pullup-Widerstände nicht.
In dem "Schaltplan" kann ich keine erkennen.

von Max M. (ulfkotte_17)


Lesenswert?

Den sensor gleich neben der antenne ist auch nicht gerade clever.

von Sandro S. (sandros)


Lesenswert?

Max M. schrieb:
> Den sensor gleich neben der antenne ist auch nicht gerade clever.

Danke für den Input. Welche Werte bzw. was könnte dabei gestört werden?
Ist es wirklich so sehr relevant bzw. störend?

Harald K. schrieb:
> I2C funktioniert ohne Pullup-Widerstände nicht.
> In dem "Schaltplan" kann ich keine erkennen.

Werde ich mich einlesen. Danke!

von S. L. (sldt)


Angehängte Dateien:

Lesenswert?

> In dem "Schaltplan" ...

Yô, darf man alles nicht so eng sehen - laut Datenblatt muss SDO (5) 
einen definierten Pegel bekommen, und (3) ist mit (4) vertauscht.

von Stefan F. (Gast)


Lesenswert?

Ja, du brauchst zwei Pull-Up Widerstände an SCL und SDA. Ich empfehle 
2,2kΩ

Nicht gut ist, dass die Antenne des ESP Moduls über deiner Platine 
liegt. Das kann den Empfang erheblich verschlechtern.

Schau dir dazu die Infos in diesem Dokument an, Kapitel 1.6.2.
https://www.espressif.com/sites/default/files/documentation/esp8266_hardware_design_guidelines_en.pdf

C1 und C2 sollen so nahe wie möglich am Spannungsregler platziert sein. 
Deine Leitungen dazwischen sind viel zu lang.

Außerdem empfehle ich einen 100µF Elko direkt an VCC/GND von dem ESP 
Modul. Ich löte immer einen bedrahteten Aluminium Elko direkt auf das 
Modul.

Wenn du die Bauteile so anordnest, dass C2 nahe am Spannungsregler und 
nahe am ESP Modul liegt, kann C2 der 100 µF Kondensator sein (ein 
Bauteil gespart). Denke aber daran, dass bei MLCC Kondensatoren die 
Kapazität mit steigender Spannung sinkt. Da sind dann 220µF MLCC oder 
100µF in einer anderen Bauart besser geeignet.

Mache die Leitungen von VCC und GND viel breiter. Da fließen zwar im 
Schnitt nur 70 mA, aber beim Senden hast du hochfrequente Impulse mit 
einigen hundert mA. Du willst vermeiden, dass das deswegen instabil wird 
oder gar am falschen Ende Radiowellen abstrahlt.

>> Den Sensor gleich neben der Antenne ist auch nicht gerade clever.

Sandro S. schrieb:
> Welche Werte bzw. was könnte dabei gestört werden?

alle

> Ist es wirklich so sehr relevant bzw. störend?

Ja. Das kann sogar zum Ausfall des Sensors führen. Die Energiefelder im 
unmittelbarem Umfeld der Antenne sind nicht zu unterschätzen. Wenn es 
nur Spielzeug ist, würde ich um die Antenne herum mindestens 2cm Abstand 
halten. Bei etwas Wichtigem noch deutlich mehr.

Beitrag #7481197 wurde von einem Moderator gelöscht.
von G. H. (schufti)


Lesenswert?

gpio0 und gpio2 haben schon pullups am Modul, sonst würde es nicht 
booten.
Die meisten BME280 Module die ich gesehen habe haben einen 3V3 Regler on 
board und funktionieren nur mit 5V zuverlässig -> mal kontrollieren!

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

G. H. schrieb:
> gpio0 und gpio2 haben schon pullups am Modul, sonst würde es nicht
> booten.

Die beiden Pins verwenden beim Boot den Chip-internen Pull-Up. Nach dem 
Booten sind diese wieder inaktiv. Für I²C wären sie sowieso viel zu 
hochohmig.

von Sandro S. (sandros)


Angehängte Dateien:

Lesenswert?

Erstmal WoW!

Mit soviel sachlich echt wertvollem Input hätte ich nicht gerechnet.

Falls noch nicht ganz klar, ich habe ein BME280 Modul und nicht den 
nackten Chip, sind da noch keine Rup`s mit verbaut wenn die ja sowieso 
benötigt werden?
Stefan F. schrieb:
> Die beiden Pins verwenden beim Boot den Chip-internen Pull-Up. Nach dem
> Booten sind diese wieder inaktiv. Für I²C wären sie sowieso viel zu
> hochohmig.
Sind da diese damit gemeint?
Ich hänge ein Bild an vom Modul.

Also meine To-Do Liste ist folgendermaßen:

1. Antenne bzw. den Sitz des ESP Chips drehen, dass dieser nach außen 
zeigt anstatt über dem Board.
2. C1 weglassen und einen 220uF MLLC so nah wie möglich an den 
Spannungsregler.
3. Leiterbahnen von VCC und GND dicker machen.(Gibt es da einen 
Idealwert?)
4. Pull-Up Widerstände bei SCL und SDA mit je 2.2kOhm anbringen.

Habt ihr sonst noch Ideen bzw. Verbesserungsvorschläge?
Habe ich alles richtig aufgefasst?

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Sandro S. schrieb:
> 1. Antenne bzw. den Sitz des ESP Chips drehen, dass dieser nach außen
> zeigt anstatt über dem Board.

und am Besten kein Kupfer oder noch besser keine Platinenfläche unter 
der ESP wlan Antenne, sollte eigentlich klar sein für bessere 
Funkabgabe.

von Max M. (ulfkotte_17)


Angehängte Dateien:

Lesenswert?

Willst du nicht gleich ein "dev board" verbauen? Die kosten 1.60 und 
haben usb-seiell, 3.3V stabilisierung und programmierlogik on board. 
Wird viel einfacher !

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Lesenswert?

Harald K. schrieb:
> In dem "Schaltplan" kann ich keine erkennen.

In welchem Schaltplan?

Sandro S. schrieb:
> ich habe ein BME280 Modul und nicht den
> nackten Chip, sind da noch keine Rup`s mit verbaut wenn die ja sowieso
> benötigt werden?

Dann besorge einen Schaltplan Deines Moduls oder nehme ihn selbst auf, 
bei den paar Bauteilen ist das ja machbar.

von Sandro S. (sandros)


Angehängte Dateien:

Lesenswert?

Max M. schrieb:
> Willst du nicht gleich ein "dev board" verbauen? Die kosten 1.60
> und
> haben usb-seiell und programmierlogik on board. Wird viel einfacher !

Ja, das wäre natürlich um ein Vielfaches einfacher, aber der ESP01 
verbraucht meiner Meinung nach Welten weniger Energie als die ganzen 
Dev-Boards. Diese sind einfach nicht wirklich für den Batteriebetrieb 
geeignet.

Ich habe mehrere Dev-Boards da, darunter auch eins wie dieses:
https://www.amazon.de/DollaTek-Mini-WLAN-Modul-Motherboard-Integriertes-18650-Akkusockel/dp/B07MPB2LRT/ref=sr_1_2?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=8T40N78APGO5&keywords=18650+esp&qid=1692396425&sprefix=18650+esp%2Caps%2C104&sr=8-2

Dieses Teil entlädt die Batterie trotz Deep Sleep in einer Woche, wenn 
überhaupt, und hat zudem ein ziemlich nerviges Spulenfiepen.

Edit:

Ich habe das PCB nun gemäß eurer Vorschläge angepasst. Die Antenne 
befindet sich im Freien und ragt aus dem Board heraus. Die Leiterbahnen 
sind nun mehr als doppelt so dick.

Anbei findet Ihr das korrigierte Design. Sind die Pull-Up-Widerstände so 
korrekt?

Entschuldigung für die Bilder, irgendetwas hat anscheinend nicht 
funktioniert. Unter "Datei auswählen" wurde mir nicht angezeigt, dass 
der Upload erfolgreich war. Daher habe ich es jetzt mehrfach versucht :D

Edit 2:
Auf meinem BME280-Modul ist ein XC6206P332MR LDO verbaut.
Ist es eventuell sogar besser, den Akku direkt an den Sensor zu hängen, 
ohne davor mit dem für den ESP gedachten XC6220B331MR LDO die Spannung 
auf 3.3V zu bringen?

Denn laut Datenblatt vom XC6206P332MR:
Output Voltage = VOUT -0.3 ~ VIN + 0.3 V

: Bearbeitet durch User
von Max M. (ulfkotte_17)


Lesenswert?

Ich würde rx, tx und boot gpio0 auf eine prog stecker führen, dann muss 
das nicht bei jeder version raus-rein.
Dann kannst du noch die DTR auto reset schaltung bauen um beim proggen 
nicht immer boot-reset drücken zu müssen. Geht dann allse auto.

von Εrnst B. (ernst)


Lesenswert?

Sandro S. schrieb:
> Ja, das wäre natürlich um ein Vielfaches einfacher, aber der ESP01
> verbraucht meiner Meinung nach Welten weniger Energie als die ganzen
> Dev-Boards. Diese sind einfach nicht wirklich für den Batteriebetrieb
> geeignet.

Trugschluss: Beim ESP01 kannst du (ohne Bastellei mit Fädeldraht) die 
Stromspaar-Sleep-Modi überhaupt nicht nutzen, der ist für 
Batteriebetrieb ungeeignet.

Nimm lieber ein nacktes ESP12F-Modul, da geht das. Oder ein DEV-Board, 
auf dem du (Per Bastelmesser etc) die überflüssigen Stromfresser/LEDs 
deaktiviert hat.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Sandro S. schrieb:
> sind da noch keine Rup`s mit verbaut wenn die ja sowieso
> benötigt werden?

Du meinst wohl Pull-Up Widerstände? Ich sehe das einen Chip mit der 
Beschriftung 103, das sind wohl mehrere 10kΩ Widerstände. Das könnten 
Pull-Up Widerstände sein. In der Nähe zu dem Funkmodul ist das aber zu 
hochohmig. Mehr als 2,2 kΩ würde ich da nicht verwenden, selbst wenn die 
Kommunikation auf eine besonders geringe Taktfrequenz ein gestellt ist.

Sandro S. schrieb:
>> Die beiden Pins verwenden beim Boot den Chip-internen Pull-Up. Nach dem
>> Booten sind diese wieder inaktiv. Für I²C wären sie sowieso viel zu
>> hochohmig.
> Sind da diese damit gemeint?

Nein, damit waren die Pull-Up im ESP Chip gemeint. Wie gesagt nützen die 
dir in dem Fall gar nichts.

Sandro S. schrieb:
> C1 weglassen

Nein! Siehe Hinweise im Datenblatt.

> und einen 220uF MLLC so nah wie möglich an den Spannungsregler.

Jein. Der Spannungsregler braucht auch einen Kondensator, den hattest du 
bereits als C2 in deinem Plan. Und der ESP Chip braucht auch einen.

1
In o---+---Spannungsregler---+--------------------------+----+
2
       |           |         |                          |    |
3
      === 10µF     |        === 10µF            220µF  ===  ESP
4
       |  C1       |         |  C2                      |    |
5
GND o--+-----------+---------+--------------------------+----+

Wenn die Teile ganz nahe nebeneinander stehen, kann ein einziger 
Kondensator beide Aufgaben erfüllen:
1
In o---+---Spannungsregler---+----------+
2
       |           |         |          |
3
      === 10µF     |        === 220µF  ESP
4
       |           |         |          |
5
GND o--+-----------+---------+----------+

Ich würde mich da jetzt aber ehrlich gesagt nicht für 5 Cent ankacken. 
Nimm lieber zwei Kondensatoren.

von Rainer W. (rawi)


Lesenswert?

Sandro S. schrieb:
> Harald K. schrieb:
>> I2C funktioniert ohne Pullup-Widerstände nicht.
>> In dem "Schaltplan" kann ich keine erkennen.
>
> Werde ich mich einlesen. Danke!

Das Lesen deines Schaltplanes wäre wesentlich einfacher, wenn du die 
Signale vernünftig benennen und über Label beschriften würdest. Ein 
bisschen Aufräumen könnte auch nichts schaden.

Vielleicht schreibst du an die Steckerverbinder sogar ran, was dort 
jeweils angeschlossen werden soll.

Stefan F. schrieb:
> Wenn die Teile ganz nahe nebeneinander stehen, kann ein einziger
> Kondensator beide Aufgaben erfüllen:

Bei solchen Aktionen sollte man allerdings einen Blick in das Datenblatt 
des Spannungsreglers werfen. Nicht jeder Regler ist bei jeder Kapazität 
stabil.
Insbesondere große Kapazitäten am Reglerausgang können problematisch 
sein, wenn der ESR nicht hoch genug ist.

: Bearbeitet durch User
von G. H. (schufti)


Lesenswert?

Das MME280 Modul hat einen 3V3 LDO sowie den klassischen MosFET 
Levelshifter und benötigt daher:
a) keine Pullups
b) 5V Versorgung
legt aber die GPIOs des ESP über 10k an 5V - nicht schön aber 
akzeptabel.

GPIO 0 und 2 müssen lt. Datenblatt definitiv zum Booten aus dem Flash 
mit Pullups bedient werden, diese sind auf den ESP-01 Modulen bestückt.

Die "Entwicklungsmodule" sind leider auch nicht wirklich alle für 
Batteriebetrieb geeignet. Der 3V3 Regler ist i.A. weder LDO noch LQC. 
Und der USB-Seriell Chip saugt meist auch bei Versorgung über 5V. Eine 
Versorgung über die 3V3 Pins geht immer mal nicht weil der nicht 
versorgte USB-Seriell Chip dann div Signale low zieht, was den ESP am 
Booten hindert.

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

G. H. schrieb:
> Das MME280 Modul hat einen 3V3 LDO sowie den klassischen MosFET
> Levelshifter

Solange Sando nicht in der Lage ist, einen lesbaren Schaltplan zu 
liefern und keine Daten zum Modul bringt, wird das nichts.

Anhand der Bilder habe ich 3V3-LDO und Levelshifter vermutet, aber es 
wäre sein Job, zu liefern.

Damit wäre es für einen 3V3-µC ungeeignet, vermutlich findet man auch 
Boards ohne. Es ist auch nicht verboten, den Lötkolben zu nehmen und den 
Levelshifter durch zwei Brücken zu ersetzen.

Natürlich kommt auch der 3V3-LDO runter, wie ich es auf einem 
SD-Interface gemacht habe, weil das System ohnehin 3,3V hat.

von Sandro S. (sandros)


Angehängte Dateien:

Lesenswert?

Stefan F. schrieb:
> Ich würde mich da jetzt aber ehrlich gesagt nicht für 5 Cent ankacken.
> Nimm lieber zwei Kondensatoren.

Habe jetzt deine Empfehlungen mal umgesetzt.

Max M. schrieb:
> Ich würde rx, tx und boot gpio0 auf eine prog stecker führen, dann muss
> das nicht bei jeder version raus-rein.
> Dann kannst du noch die DTR auto reset schaltung bauen um beim proggen
> nicht immer boot-reset drücken zu müssen. Geht dann allse auto.

Danke, das ist eine sehr gute Idee muss ich mich noch einlesen.
Vorrangig sollte der BME aber wenigstens mal Werte liefern.

Εrnst B. schrieb:
> Trugschluss: Beim ESP01 kannst du (ohne Bastellei mit Fädeldraht) die
> Stromspaar-Sleep-Modi überhaupt nicht nutzen, der ist für
> Batteriebetrieb ungeeignet.
>
> Nimm lieber ein nacktes ESP12F-Modul, da geht das. Oder ein DEV-Board,
> auf dem du (Per Bastelmesser etc) die überflüssigen Stromfresser/LEDs
> deaktiviert hat.

Da ich mehrere ESP01 daliegen habe, der ESP12F komplett 
überdimensioniert ist(Anzahl der Anschlüsse) und zusätzlich noch mehr 
Bauteile auf der Platine benötigt werden, um ohne große Umwege 
programmiert werden zu können z.b. wenn ein Update gemacht werden soll, 
sowie auch teurer ist, nehme ich wenn es geht die vorhandenen Module.

Die Empfehlung, ein Development-Board zu verwenden, kann ich nicht ganz 
nachvollziehen, da dies ähnliche Bastelarbeit erfordern würde, wie du es 
beim ESP01-Modul beschrieben hast.

Rainer W. schrieb:
> Das Lesen deines Schaltplanes wäre wesentlich einfacher, wenn du die
> Signale vernünftig benennen und über Label beschriften würdest. Ein
> bisschen Aufräumen könnte auch nichts schaden.
>
> Vielleicht schreibst du an die Steckerverbinder sogar ran, was dort
> jeweils angeschlossen werden soll.

Ich habe versucht, den Schaltplan etwas übersichtlicher und besser 
lesbar zu gestalten. Da ich nicht regelmäßig Schaltpläne erstelle, bin 
ich nicht mit allen Tricks und Regeln vertraut.

G. H. schrieb:
> Das MME280 Modul hat einen 3V3 LDO sowie den klassischen MosFET
> Levelshifter und benötigt daher:
> a) keine Pullups
> b) 5V Versorgung
> legt aber die GPIOs des ESP über 10k an 5V - nicht schön aber
> akzeptabel.
>
> GPIO 0 und 2 müssen lt. Datenblatt definitiv zum Booten aus dem Flash
> mit Pullups bedient werden, diese sind auf den ESP-01 Modulen bestückt.
>
> Die "Entwicklungsmodule" sind leider auch nicht wirklich alle für
> Batteriebetrieb geeignet. Der 3V3 Regler ist i.A. weder LDO noch LQC.
> Und der USB-Seriell Chip saugt meist auch bei Versorgung über 5V. Eine
> Versorgung über die 3V3 Pins geht immer mal nicht weil der nicht
> versorgte USB-Seriell Chip dann div Signale low zieht, was den ESP am
> Booten hindert.

Ich kann dir leider nicht ganz folgen.
Ich verstehe es so:
Also brauche ich die 2.2kOhm Pullups doch nicht?
Muss ich nun mit 5V bestromen oder nicht?
Was heißt i.A., im Auftrag?

Manfred P. schrieb:
> G. H. schrieb:
>> Das MME280 Modul hat einen 3V3 LDO sowie den klassischen MosFET
>> Levelshifter
>
> Solange Sando nicht in der Lage ist, einen lesbaren Schaltplan zu
> liefern und keine Daten zum Modul bringt, wird das nichts.
>
> Anhand der Bilder habe ich 3V3-LDO und Levelshifter vermutet, aber es
> wäre sein Job, zu liefern.
>
> Damit wäre es für einen 3V3-µC ungeeignet, vermutlich findet man auch
> Boards ohne. Es ist auch nicht verboten, den Lötkolben zu nehmen und den
> Levelshifter durch zwei Brücken zu ersetzen.
>
> Natürlich kommt auch der 3V3-LDO runter, wie ich es auf einem
> SD-Interface gemacht habe, weil das System ohnehin 3,3V hat.

Wenn ich wüsste wie, würde ich logischerweise einen besseren Schaltplan 
liefern. Man sieht denke ich an der länge meiner Antworten auch, dass 
ich mich bemühe wo es geht um eure Hilfe zu bekommen und halte mich 
nicht zu kurz wie es viele andere Online machen.

Da ich leider nicht mehr Daten zum Modul habe außer dem Bild, was genau 
das Modul abbildet inkl. den Markings auf den Chips, kann ich auch nicht 
mehr Daten liefern.

Wenn es für den Einsatz am 3.3VµC ungeeignet ist, warum funktioniert es 
dann bei anderen mehr oder minder.

Welches Bauteil ist denn der Levelshifter?
Also meinst du ich soll den Spannungsregler auf dem Board entfernen? 
Wenn ja warum?


Ich bin mittlerweile ein wenig verwirrt was nun richtig ist und was 
nicht :/

: Bearbeitet durch User
von Sandro S. (sandros)


Lesenswert?

Also ich habe jetzt mal provisorisch 2.2kOhm Widerstände von C2 zu SCL 
und SDA gelötet.
Ebenso habe ich den LDO ausgelötet und gebrückt so wie hier:
https://asksinpp.de/Projekte/psi/HM-WDS40-TH-I-BME280/#stromverbrauch-optimieren

Chip wird immer noch nicht erkannt.
Am Dev Modul funktioniert er, also am BME liegts wohl nicht.

Ich habe langsam echt das Gefühl das der LDO von Aliexpress Schuld ist.
Was auch sonst?
Wie kann ich den Prüfen?? 3.3v spuckt er aus mehr kann ich nicht 
beurteilen :/

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Sandro S. schrieb:
> Habe jetzt deine Empfehlungen mal umgesetzt.

Das ist im Schaltplan schwer zu erkennen. C1 gehört zum Sapnnungsregler. 
C2 gehört zum ESP. Im Schaltplan sieht das ganz anders aus.

von Stefan F. (Gast)


Lesenswert?

Sandro S. schrieb:
> 3.3v spuckt er aus mehr kann ich nicht beurteilen

Kontrolliere die Versorgungsspannzng und die beien I2C Signale mit einem 
Oszilloskop.

Zur Not tut es ein billiges DSO150

von Manfred P. (pruckelfred)



Lesenswert?

Sandro S. schrieb:
> Wenn es für den Einsatz am 3.3VµC ungeeignet ist, warum funktioniert es
> dann bei anderen mehr oder minder.

Ich finde im Web keinen Schaltplan vom Modul, aber immerhin etwas:
https://lastminuteengineers.com/bme280-arduino-tutorial/

> Welches Bauteil ist denn der Levelshifter?

Der 6-Beiner, ich hoffe, dass hhinz den Typ klären kann. Ich vermute, 
dass das ein Doppel-MOSFET sein könnte.

Hast Du einen Arduino-UNO da? Ich denke, mit 5V versorgt und an einem 
µC, der ebenfalls mit 5V läuft, wird Dein Modul funktionieren.

> Also meinst du ich soll den Spannungsregler auf dem Board entfernen?

Ich würde 3,3V direkt einspeisen. Laut Deinem Schaltplan, der nun für 
mich verständlich ist, hast Du mit VCC eine höhere Spannung, die das 
BME-Modul versorgen könnte.

Ich habe den Verdacht, dass der I2C-Levelshifter den Datenverkehr 
blockiert, weil an beiden Seiten die gleiche Signalspannung liegt.

von Sandro S. (sandros)


Lesenswert?

Stefan F. schrieb:
> Das ist im Schaltplan schwer zu erkennen. C1 gehört zum Sapnnungsregler.
> C2 gehört zum ESP. Im Schaltplan sieht das ganz anders aus.

Werd ich naher noch schnell umändern. Klingt eigentlich logisch.

Stefan F. schrieb:
> Kontrolliere die Versorgungsspannzng und die beien I2C Signale mit einem
> Oszilloskop.
> Zur Not tut es ein billiges DSO150

Auf was soll ich achten.
Hab ein Hantek Handheld Oszi.

von Stefan F. (Gast)


Lesenswert?

Sandro S. schrieb:
> Auf was soll ich achten.

Die Versorgungsspannun des ESP muss stabil sein, darf beim Senden nicht 
mehr als 100mV einbrechen.

Die I2C Signale müssen saubere Pegel haben. High sollte 3-3,3V sein und 
Low sollte unter 0,5V sein. Außerdem muss das Signal auf beiden 
Leitungen einigermaßen Rechteckig aussehen. Ein Sägezahn würde auf zu 
hochohmige Pull-Up Widerstände hinweisen.

Du findest Beispiel-Bilder von I2C Signalen im Internet und in der I2C 
Spezifikation von NXP (früher Philips)

von Sandro S. (sandros)


Lesenswert?

Manfred P. schrieb:
> Hast Du einen Arduino-UNO da? Ich denke, mit 5V versorgt und an einem
> µC, der ebenfalls mit 5V läuft, wird Dein Modul funktionieren.

Ich habe es ja mit einem ESP32 Dev Board probiert.
Dort habe ich den Sensor auch am 3.3v Pin vom ESP32 betrieben und dort 
funktioniert der Sensor dann ja auch.

Manfred P. schrieb:
> Der 6-Beiner, ich hoffe, dass hhinz den Typ klären kann. Ich vermute,
> dass das ein Doppel-MOSFET sein könnte.

Kann man den nicht auslöten und brücken?
Wenn ja, wie, also welches Pad mit welchem Pad verbinden.
Was aber wahrscheinlich ohne Type und Datenblatt Rätselraten ist.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Mir leuchtet nicht ein, das Sensor Board zu modifizieren obwohl es an 
einem anderen ESP funktionuert. Finde besser erst mal die 
Problemursache.

von Sandro S. (sandros)


Lesenswert?

Stefan F. schrieb:
> Mir leuchtet nicht ein, das Sensor Board zu modifizieren obwohl es an
> einem anderen ESP funktionuert. Finde besser erst mal die
> Problemursache.

Werde ich so machen, muss ja irgendein Grund haben.
Ich schaue jetzt mal mit einem Oszilloskop drauf.

von Dieter S. (hotsystems)


Lesenswert?

Wie sprichst du I2C in deinem Programm an ?
Hast du dabei bedacht, dass beim ESP01S I2C auf anderen GPIO liegen, als 
bei einem "DEV-Board" ?

von Manfred P. (pruckelfred)


Lesenswert?

Sandro S. schrieb:
> Manfred P. schrieb:
>> Hast Du einen Arduino-UNO da? Ich denke, mit 5V versorgt und an einem
>> µC, der ebenfalls mit 5V läuft, wird Dein Modul funktionieren.
>
> Ich habe es ja mit einem ESP32 Dev Board probiert.
> Dort habe ich den Sensor auch am 3.3v Pin vom ESP32 betrieben und dort
> funktioniert der Sensor dann ja auch.

Wenn das so ist, bin ich mit der Hardware auf dem falschen Weg. Dann 
liegt wohl ein Problem am ESP01 vor.

von Sandro S. (sandros)


Lesenswert?

Dieter S. schrieb:
> Wie sprichst du I2C in deinem Programm an ?
> Hast du dabei bedacht, dass beim ESP01S I2C auf anderen GPIO liegen, als
> bei einem "DEV-Board" ?

Habe alles mögliche ausprobiert.

Habe die Pins 0,2 angegeben, nichts angegeben, die Adresse 0x76 und 0x77 
direkt angegeben.

Kein Erfolg leider.

Manfred P. schrieb:
> Wenn das so ist, bin ich mit der Hardware auf dem falschen Weg. Dann
> liegt wohl ein Problem am ESP01 vor.

Wie meinst du das?
Hardware des ESP01 oder die programmierung.

Also programmierung würde mich echt wundern, denn ich habe mehrere 
Beispiele ausprobiert.

Manfred P. schrieb:
>> Welches Bauteil ist denn der Levelshifter?
>
> Der 6-Beiner, ich hoffe, dass hhinz den Typ klären kann. Ich vermute,
> dass das ein Doppel-MOSFET sein könnte.
Könnte der Logic Level Shifter zufällig dieser sein? 2N7002KDW
Hab ich von der Quelle sieht für mich alles sehr Identisch aus nur hald 
ein anderer Sensor.
https://www.electroschematics.com/temperature-sensor/

: Bearbeitet durch User
von Sandro S. (sandros)


Lesenswert?

So Leute Problem gelöst.

Natürlich war das Problem vor dem PC.

Habe mit dem Oszilloskop die I2C angeschaut und konnte außer einem HIGH 
Zustand keinerlei Aktivität feststellen, auch nicht am ESP selber an den 
GPIO`s.

Dann bin ich das Programm nochmals durchgegangen.
Da ich davor immer ESP32 verwendet habe, und dort die Standart Pins 
genommen habe.
Habe ich vergessen beim ESP01 die Pins zu übergeben.
Ich habe es zwar irgendwann Gestern schnell schnell schonmal probiert, 
dort ging es aber nicht.
Danke an der Stelle für den Hinweis an Dieter S. (hotsystems).

Allen anderen Danke ich auch für die echt super Hilfe!
Konnte viel dabei lernen über das kleine Ding und auch mich selber :)

Danke!

von Dieter S. (hotsystems)


Lesenswert?

Prima, dass es jetzt funktioniert.
Danke für die Rückmeldung

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.