Kabellängen zwischen Sensoren und Microcontroller (in spec / out of spec)

Also ich hab ja diese Wetterhütte, die nen BME280 und nen DHT22 beherbergt. Bei der zweiten Autonomen Zelle (Dashboard) klemmen kurz vor den Sensoren dank @weef ob “uijui, nen 1-1,2m Cat5e-Kabel” nen 1µF- und sowie ein 100nF-Kondensator parallel zw. 3.3V und GND. Das Cat5-Kabel ist per RJ45-Buchse-im-Gehäuse angeschlossen (der Schirm ist nicht mit dem ESP8266 verbunden!). Da hab ich jetz mal per RJ45-Kupplung testweise mit a) nem 10m Cat5e-Kabel (SF/UTP) und b) nem 15m Cat6-Kabel (S/FTP) gespielt. Die waren jeweils auch noch aufgerollt. Und? Funzt! Beide auf Anhieb. [edit. Das bedeutet sowohl I²C als auch “one-wire”.]

Ich lass jetz testweise mal das 15m Cat6 Kabel nen Weilchen dran.

2 Likes

drei Anmerkungen:

  • derart lange Signalleitungen für I²C sind schon weit außerhalb der Spezifikation, und deshalb gibts da keine Garantie, daß das zuverlässig funktioniert. Es kann bei 100 kHz Bustakt (oder langsamer) funktionieren, bei z.B. 400 kHz aber dann nicht mehr.

    Die kapazitive Last des I²C darf maximal 400 pF betragen, umso länger die Kabel, desto schneller ist diese erreicht oder überschritten. Man muß dann die I²C-Bus-pull-ups stärker machen (kleinerer Wert) bei längeren Leitungen:

    image

  • als “return path” brauchen diese längeren Leitungen oder PCB traces jeweils ihre Versorgungsspannungen neben sich:

    If the length of the bus lines on a PCB or ribbon cable
    exceeds 10 cm and includes the VDD and VSS lines, the
    wiring pattern must be:
    SDA —
    VDD
    VSS
    SCL —

    If only the VSS line is included, the wiring pattern must be:
    SDA —
    VSS
    SCL —

    If the bus lines are twisted-pairs, each bus line must be twisted with a VSS return. Alternatively, the SCL line can be twisted with a VSS return, and the SDA line twisted with a VDD return. In the latter case, capacitors must be used to decouple the VDD line to the VSS line at both ends of the twisted pairs.

    (Zitate und Bild aus: The I²C specification v2.1, document no. 9398 393 40011; z.B. hier: https://www.csd.uoc.gr/~hy428/reading/i2c_spec.pdf)

  • der DHT22 nutzt ein proprietäres Protokoll, das ist kein One-Wire im Sinne desjenigen von Dallas entwickelten gleichnamigen Protokolls (du hattest das zwar apostrophiert geschrieben, aber dennoch - damit das keiner verwechselt).

3 Likes

Genau solche Infos sind Gold wert!! Danke!

1 Like

Danke! Ich werd Dich denn bei nächster Gelegenheit verhaften um denn mit Dir mal rauszuschreiben was wir da wie genau ändern wollen!

Bzgl. der "twisted-pair"chen-Belegung: Aktuell liegen meiner Erinnerung nach VCC & GND sowie SDA & SCL jeweils in einem Päarchen.

Den I²C-Bus runterzutakten wäre ja wohl auch noch ne Option, aber gerne erstmal kieken was sich mit 2-3 Bauteilen noch eleganter gestalten lässt.