Forum: Mikrocontroller und Digitale Elektronik HTU21D I2C Problem mit NodeMCU


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ruphy .. (ruphy)


Bewertung
0 lesenswert
nicht lesenswert
Hey,

habe da ein kleines Problem, und würde gerne mal euren Rat haben.
folgendes Setting:
- NodeMCU ESP 0.9
- Sensor HTU21D
- Software: Arduino SparkFun_HTU21D_demo
- Pullup 4,7 kOhm an SCL und SDA

Nachdem ich alles verbunden habe, kam über die Serielle Schnittstelle 
immer ein Error, dass der Sensor nicht gefunden wurde.
Habe hin und her probiert und kam dann darauf mit dem Multimeter 
nachzumessen. Siehe da... immer wenn ich SCL und VCC gemessen habe, 
kamen plötzlich Werte.
Wie kann das sein? Habe dann probiert ein 1 MOhm zu den Widerständen zu 
schalten (müsste in etwa der Innenwiderstand vom Multimeter sein). Aber 
kam da auch zu keiner Lösung.
... Hilfe?

Danke schonmal im vorraus.
Gruß
Ruphy

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Könnte auch ein Wackelkontakt sein...

von Ruphy .. (ruphy)


Bewertung
0 lesenswert
nicht lesenswert
Der Fehler ist reproduzierbar an drei Sensoren. Bei allen der gleich 
Effekt...
Interessanterweise tritt der Effekt immer auf, wenn ich mit dem 
Multimeter zwischen VCC/Ground und SDA/SCL messe.

von Pete K. (pete77)


Bewertung
0 lesenswert
nicht lesenswert
Ruphy .. schrieb:
> Nachdem ich alles verbunden habe

Wie hast Du das denn verbunden?
Hast Du Dir mal die Schaltpläne Deiner Komponenten angeschaut? --> 
Pullups? 5V an den Ausgängen?

: Bearbeitet durch User
von Ruphy .. (ruphy)


Bewertung
0 lesenswert
nicht lesenswert
okay. war ein Wackelkontakt... Habe das Massekabel noch nicht getauscht. 
Hier lag der Fehler.
DANKE!

von Pete K. (pete77)


Bewertung
0 lesenswert
nicht lesenswert
Du hast trotzdem doppelte Pullups und gehst mit 5V von Deinem Sensor an 
die 3.3V Beinchen des ESP8266. Das kann gutgehen, muss aber nicht.

von Ruphy .. (ruphy)


Bewertung
0 lesenswert
nicht lesenswert
Warum doppelte Pullups? Hat der ESP intern schon Pullups geschalten?! 
VCC ist 3,3 V.

von Ruphy .. (ruphy)


Bewertung
0 lesenswert
nicht lesenswert
Nochmal ein kleinen Beitrag zu Arduino Pullups:
Wenn man die Standard Bibliothek von Arduino benutzt, dann sind die 
Internen Pullups aktiviert.
Zum deaktivieren muss man die Libs bearbeiten.
finde die twi.c unter \libraries\Wire\utility\ oder so ähnlich. Suche 
nach:
// activate internal pullups for twi.
 digitalWrite(SDA, 1);
 digitalWrite(SCL, 1);

und änder zu:
 digitalWrite(SDA, 0);
 digitalWrite(SCL, 0);

http://panasonic.mironto.sk/testing/pullups/

Achtung beim ESP8266 kann es zu Problemen führen mit dem Wlan, da der 
Wlan Treiber scheinbar auf D1 und D2 zugreift (und deshalb die Pullups 
Standard gesetzt sind). Hier einfach Pullups mit 4,7 kOhm einfügen, dann 
klappt das Verbinden wieder ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.