Der real existierende i2c-Bus / Lochraster im Weltraum

Oct 20, 2019 Last reply: 6 years ago 98 Replies
Jump to replies (98)

Wenn man keine besonders hohe Datenraten braucht (so eher einlesen einzelner Sensoren), wieviel Mühe muß man sich da mit der Führung des i2c- Bus geben? Ich muß gestehen, ich hab bis jetzt noch nie mehr als 2,3 Geräte an einem i2-Anschluß hängen gehabt, und da war immer nur ein Microcontroller dabei.



Jetzt hab ich neulich die sehr spannende (zumindest für mich! Lochraster im Weltraum ;) Platine gesehen (die durch alle Bastlersites gewandert ist), die die DLR in den Weltraum geschossen hat:



formatting link
(F*ck, der Originalartikel war neulich noch frei abrufbar, jetzt ist er hinter einer Paywall)



Dort werden 2 ESP32 mit einem Pi Zero und etlichen Sensoren vernetzt, alles auf einer Euro-Lochrasterplatine.



Gibt es da Faustregeln, mit wievielen Teilnehmern, bzw. auf wieviele Platinen verteilt solche Busse funktionieren? Kann man z.B. noch damit rechnen, daß alles was innerhalb eines 50x20x5cm-Gehäuses passiert, mit Flachbandkabeln auf 3 oder 4 Platinen aufgeteilt funktionieren sollte?



Bei kurzen Bussen ist das weitgehend egal, aber ich nehme an, sowas sollte man ordentlich terminieren.



Gibts da Faustregeln&Erfahrungswerte, alles unter dem Hintergrund, daß ich keine Leiterbahnen auf mehrfachlayer PCBs designe, sondern mit Drähten auf Lochraster (Bzw. mit der Billigzange vom Reichelt gecrimpten Flachbandkabeln in Wannensteckern) operiere?



Mich interessiert weniger was in der Theorie unter Labor- bedingungen möglich ist, sondern mehr was ein Bastler in der Praxis sich trauen sollte.



/ralph


Am 20.10.19 um 10:32 schrieb Ralph Aichinger:

Unter kritischen Bedingungen würde ich überhaupt keinen I2C einsetzten. Der Bus ist prinzipiell nicht besonders robust...

Das mag stimmen, aber ich bastle zum Glück weder Atomkraftwerke noch Wehenschreiber.

/ralph

Du hast sicher recht, aber soweit ich das als Fachfremder erkenne ist das der Anschluß, mit dem preiswerte kalibrierte Sensoren im Handel sind. Mein Plan ist, die Raumthermostaten für die Fußbodenheizung durch Temperatursensoren zu ersetzen und die Steuerung und Regelung einem Raspberry zu übertragen. Das ist dann ein sternförmiger I2C mit langen Leitungen.

Dann habe ich Dich missverstanden, ich dachte, es geht um die Grenzen des Machbaren.

Von welchen Längen reden wir da?

/ralph

Dann kommt es halt darauf an, was Du unter "lang" verstehst. Ich würde für sowas keinen Raspi, sondern eher einen ESP32 verwenden, auf den ich bei Bedarf per WLAN zugreifen würde.

Nein, es geht mir darum was man als Bastler auf Lochraster und selbstgecrimpten Flachbandkabeln hinkriegt, nicht um maximale Möglichkeiten unter Ausnutzung aller Tricks.

/ralph

Naja, sobald man einen vernünftigen TCP-Stack will macht ein Raspberry Pi schon mehr Spaß (oder meinetwegen Beaglebone, Banana-Pi, whatever, was mit Linux halt).

/ralph

Ich kann nur vom mir sprechen, mir wäre das für einen Heizungsthermostaten zu überdimensioniert...

[Raspi]

Wenn du z.B. eine brauchbare Weboberfläche haben willst, oder eine REST-Schnittstelle oder was auch immer, dann nicht. *Ich* möchte HTTPS nicht auf einem ESP32 machen müssen.

Ein Pi Zero kostet so um die 15 Euro, und braucht knapp über 100mA. Verglichen mit einer Heizung ist das jetzt nicht gerade ein Grund in Panik zu geraten wegen hohem Ressourcenverbrauch.

/ralph

An der Stelle bin ich schon raus, ich brauche für eine Heizung keine GUI. Aber das ist natürlich Geschmackssache.

Klar, wenn man das will hast Du natürlich Recht.

[...]

Hi Ralph,

Am 20.10.2019 um 10:32 schrieb Ralph Aichinger:

Keine. 100 kHz I2C ist unkritisch, wenn man Master und Slaves sauber programmiert (vor allem wenn es um Multi-Master Betrieb geht).

1k bis 4k7 Pullups auf SDA und SCK, und man kommt problemlos meterweit damit, das habe ich bereits öfters gemacht. Wenn man noch weiter möchte, kann man einerseits die Taktfrequenz weiter absenken (wenn die geforderte Datenrate es zuläßt), oder I2C-Transceiver einsetzen.

Nur auf eines sollte man achten: Kapazitive Kopplung (zig-nF Bereich) zwischen SDA und SCK kommt nicht gut an.

Man hat halt nur 127 Adressen zur Verfügung...

Das geht ohne Probleme. Bei FBK sollte man darauf achten, zwischen SDA und SCK eine GND-Ader zu haben um Übersprechen zu vermindern, wenn die Distanzen größer werden.

vg, Wolfgang

Ich denke nicht...es ist jetzt 14 Jahre her das ich bei der Geburt

einmal den streikenden Wehenschreiber in Ordnung bringen, Nachts um 4.30.

klemmenden Schnipseln..aber das Ding war auch nicht anders aufgebaut als ein Thermopapier-FAX .. "user grade".

Holm

Robust nicht, aber in der heutigen klagsfreudigen Zeit wird man vermutlich allein schon aus rechtlichen

und lieber auf Nummer Sicher gehen. Wenn man das

wenn du das verkaufst, dann kommst du vermutlich in

Anwalt das mitkriegt.

/ralph

----------------------------------------------------------------------------- https://aisg.at ausserirdische sind gesund

Hi Wolfgang,

Mit Flachbandleitungen will ich nicht wirklich meterweit fahren. Mit geschirmten Leitungen wird es ab ca 1/2 m langsam eng, weil die Schaltflanken zu rund werden.

Wenns längere Distanzen sein sollen, würde ich immer SPI vorziehen. Den muss man ja auch nicht schnell machen, aber man hat sowohl high alsauch low aktiv und niederohmig. I²C ist für kurze Distanzen auf einer Leiterplatte konzipiert, da ist es einfach und robust anwendbar und braucht keine größere Sorgfalt wegen Terminierung und so

Von denen man in der Regel nur sehr wenige wirklich nutzen kann.

Sehe ich auch so. Bei den beschriebenen Längen dürfte es sogar ohne GND-Leitung gehen.

Marte

Ich bin neulich über eine Webseite gestolpert, wo jemand sein Projekt aus ~20 Temperatur-/Feuchtesensoren vorgestellt hat. I²C ist nicht gerade neu und dürfte entsprechend ausentwickelt/stabil/zuverlässig sein.

Trau Dich :-)

Gruß

Gregor

90 m2 Wohnung auf einer Ebene. Kabel in Leerrohren um Ecken nicht diagonal durch den Raum. Ich denke es wird irgendwo zwischen 10 und 20 Metern liegen. Ich habe schon eine Karte, die mir nach außen acht einzelne I2C Busse bereitstellt. So einen Stern würde ich nicht an einen anschließen wollen.

Das würde ich auf keinen Fall über I2C machen!

I2C ist alles andere als stabil und zuverlässig, sobald der ursprünglich intendierte Einsatzzweck (inter IC) verlassen wird - nicht ohne Grund gibt es Feldbusse...

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required