Forum: Mechanik, Gehäuse, Werkzeug Welche Verbindungsstecker für I2C ?


von Jobst Q. (joquis)


Lesenswert?

Ich habe einen Raspi Zero in einem ziemlich kleinen Gehäuse. Erstmal 
sollen 1-Wire Temperatursensoren damit abgefragt werden, aber später 
sollten auch andere Sensoren dazu kommen können. Deshalb wollte ich 
einen I2C-Bus incl 5V herausführen. Dazu brauche ich eine 4-Polige 
Verbindung.

Folgende hab ich schon mal angedacht:

1. 4-Pol Klinkenbuchse 2,5 oder 3,5 mm. Wobei ich 2,5 mm bevorzuge wegen 
Verwechslungsgefahr mit Audiosteckern. Allerdings schwerer zu bekommen.
Einbaufreundlich.

2. USB-Buchse. Viele und günstige Fertigkabel. Verwechslung mit USB 
unproblematisch. Allerdings nicht einbaufreundlich.

3. Modular-Buchse RJ10. Kabel günstig und kapazitätsarm. Man muss aber 
darauf achten, dass die Reihenfolge stimmt (bei Telefonen unwesentlich). 
Buchse auch nich einbaufreundlich.

Was würdet ihr raten? Kennt ihr übliche Lösungen?

von google (Gast)


Lesenswert?

Muß es eine Buchse sein? Warum keine Schraubklemme?

von Jobst Q. (joquis)


Lesenswert?

Ist noch schwerer einzubauen und umständlich für Experimente. Und was 
soll ein Vorteil sein?

von Olaf (Gast)


Lesenswert?

> 1. 4-Pol Klinkenbuchse 2,5 oder 3,5 mm.

Beim reinstecken machen die Stecker einen Kurzschluss an den Kontakten. 
Vergiss den Muell ganz schnell!

> 2. USB-Buchse. Viele und günstige Fertigkabel. Verwechslung mit USB
> unproblematisch. Allerdings nicht einbaufreundlich.

Ich wuerde die Verwechslungsgefahr mit USB schon als kritisch ansehen. 
Wenn du dir ganz sicher bist das dies fuer dich nicht gilt dann ist das 
eine gute Wahl weil es vorrauseilende Kontakte fuer die Betriebsspannung 
gibt.

Du koenntest auch SATA nehmen. Auch da gibt es eine gewisse 
Verwechslungsgefahr, aber doch etwas geringer.

Ansonsten gibt es natuerlich noch andere Stecker. Zum Beispiel PS/2 oder 
DIN-Stecker. Der Vorteil von DIN Steckern ist das sie rund sind. Das 
macht den Gehaeusebau fuer Bastler etwas einfacher.

> Ich habe einen Raspi Zero in einem ziemlich kleinen Gehäuse. Erstmal
> sollen 1-Wire Temperatursensoren damit abgefragt werden, aber später

Ich frag mich aber ob das so funktioniert. Der 1-Wire Bus ist sehr 
timingkritisch. Das wuerden die meisten Bastler hier nichtmal hin 
bekommen wenn sie alles selber nach Datenblatt programmieren muessten. 
Unter einem Linuxkernel stell ich es mir schwierig vor die 
Timinganforderungen einzuhalten. Aber mach mal und berichte hinterher. 
:)

Olaf

von R. R. (elec-lisper)


Lesenswert?

Olaf schrieb:
> Ich frag mich aber ob das so funktioniert. Der 1-Wire Bus ist sehr
> timingkritisch. Das wuerden die meisten Bastler hier nichtmal hin
> bekommen wenn sie alles selber nach Datenblatt programmieren muessten.
> Unter einem Linuxkernel stell ich es mir schwierig vor die
> Timinganforderungen einzuhalten. Aber mach mal und berichte hinterher.
> :)
>
> Olaf

Wenn man es in Software machen muss ja, aber es scheint so, als ob
bspw. Raspbian mit entsprechenden Kernel-Treibern für 1-wire kommt.
Sogar mit einem extra Treiber für die DS18x20 Sensoren:
Kernel module w1-gpio w1-therm1

Hatte ich bis eben auch keine Ahnung von, fand ich einfach interessant,
dass es das alles schon fertig gibt.

von Zeno (Gast)


Lesenswert?

Olaf schrieb:
> Ich frag mich aber ob das so funktioniert. Der 1-Wire Bus ist sehr
> timingkritisch. Das wuerden die meisten Bastler hier nichtmal hin
> bekommen wenn sie alles selber nach Datenblatt programmieren muessten.
> Unter einem Linuxkernel stell ich es mir schwierig vor die
> Timinganforderungen einzuhalten. Aber mach mal und berichte hinterher.
> :)

Das Timing des 1-Wire Buses ist zwar kritisch, aber bei Raspi muß der TO 
nichts selber machen. Das haben beim Raspi andere für ihn getan. Es gibt 
ein fertiges Kernelmodul, welches man nur über die config.txt einbinden 
muß. Läuft bei mir seit ca. 2 Jahren störungsfrei. Ich benutze für den 
1-Wire Bus RJ45 6-polig. Es gibt da auch so eine Art Quasinorm wie die 
Stecker hier belegt werden. Google mal nach Fuchs Elektronik - die 
machen bezüglich 1-Wire sehr viel.

Letztendlich war das aber gar nicht die Frage des TO. Zum 1-Wire wollte 
er eigentlich gar nichts wissen und schon gar nicht ob der 
ansteuerungstechnisch schwierig zu handhaben ist. I2C ist etwas anderes 
als 1-Wire.
I2C ist ein Bussystem und auch dafür gibt es eine Norm, wo beschrieben 
ist welche Steckverbinder benutzt und wie sie beschaltet werden sollen. 
Für I2C findest Du hier 
http://rn-wissen.de/wiki/index.php?title=RN-Definitionen was. Man sollte 
versuchen sich immer an gewisse Standards zu halten, denn das macht das 
Leben leichter, wenn man später mal mit fertigen Komponenten erweitern 
möchte.
Es wird auch SUB-D mit einer speziellen Belegung benutzt. Google einfach 
mal nach "I2C Steckverbinder" - es wird Dir eine ordenliche Auswahl 
angezeigt. SEhr verbreitet scheint aber 10poliger Wannenstecker zu sein 
(wird auch bei den Arduinoshields verwendet)

Zeno

von A. S. (Gast)


Lesenswert?

Wenn es zum Basteln sein soll, nehme ich oft Stifte/ Buchsen im 
Rastermaß 2mm oder 2,54, einreihig mit 1 blindkontakt als 
verpolschutz/decodierer oder zweireihig asymmetrisch.

von Marcel H. (Firma: privat) (mhoehne)


Lesenswert?

Achim S. schrieb:
> Wenn es zum Basteln sein soll, nehme ich oft Stifte/ Buchsen im
> Rastermaß 2mm oder 2,54, einreihig mit 1 blindkontakt als
> verpolschutz/decodierer oder zweireihig asymmetrisch.

Hättest Du da eventuell mal Bilder zu?

Es müßten auch Balancerstecker, die bei Lipoakkus verwendet werden, 
funktionieren. Die gibt es vierpolig und haben einen Verpolschutz z.B. 
JST-XH und sind sehr klein.

von Zeno (Gast)


Lesenswert?

Achim S. schrieb:
> Wenn es zum Basteln sein soll, nehme ich oft Stifte/ Buchsen im
> Rastermaß 2mm oder 2,54 ...

Mache ich auch so. Hat sich für Bastelprojekte bewährt. Man muß halt 
abchecken was man machen will, d.h. ob es eine vollständig eigene Lösung 
sein soll oder ob man fertige Komponenten einbinden will, dann ist es 
sinnvoll sich an den dort verwendeten Standard zu halten. Natürlich kann 
man jederzeit Adapter bauen aber das ist auch nur ne Notlösung.

In der Industrie verwendet man für so etwas, wenn es ein Anschluß in die 
Außenwelt sein soll Sub-D (verpolungssicher, feste sichere Verbindung, 
Schirmung, mechanisch sehr stabil). Im Inneren von Geräten benutzt man 
für solche Bussysteme hingegen Wannenstecker mit zugehörigen Gegenstück 
und Flachbandkabel. Wannenstecker haben halt auch den Vorteil, das sie 
auf Grund der Codiernase verpolungssicher sind. Im Hobbybereich spricht 
nichts dagegen Wannenstecker durch Stiftleisten zu ersetzen. Man kann ja 
einen nicht benutzten Stift entfernen und in der Buchse das zugehörige 
Loch verschließen, dann hat man auch einen Schutz gegen Verpolung bzw. 
Verwechslung.

von Zeno (Gast)


Lesenswert?

Marcel H. schrieb:
> Es müßten auch Balancerstecker, die bei Lipoakkus verwendet werden,
> funktionieren. Die gibt es vierpolig und haben einen Verpolschutz z.B.
> JST-XH und sind sehr klein.

So etwas in der Art wird von den LinkerKid Modulen benutzt. Wenn Du vor 
hast derartige Module einzusetzen dann solltest Du dieses System 
benutzen. Bei Conrad gibt es dafür auch eine fertige Interfaceplatine 
(https://www.conrad.de/de/raspberry-pi-erweiterungs-platine-lk-base-rb-raspberry-pi-a-b-b-1267835.html) 
und  Verbindungskabel. Ob das was für Dich ist kann ich natürlich nicht 
sagen, das mußt Du selbst entscheiden.

Im Hobbybereich könnte man auch 5-polige DIN Stecker/Buchsen benutzen. 
Diese sind im Audiobereich, wo sie viel eingesetzt wurden, fast 
vollständig durch andere Systeme abgelöst worden. Vorteil lassen sich 
gut handhaben da nur ein Loch ins Gehäuse gebohrt werden muß. Nachteil 
sind nicht mini (Durchmesser 16mm). Es gibt auch Bauformen die gegen 
unbeabsichtigtes Lösen der Verbindung gesichert werden können.
Wenn's kleiner sein soll ist Lemo (MiniLemo 
https://www.lemo.com/de/miniatur/00-stecker) eine Alternative, aber 
schweineteuer (da legt man schon mal 20€ für einen Stecker hin). Gut die 
Lemosysteme sind sehr gut und auch sehr zuverlässig. Für privat aber zu 
teuer- Ich wollte es halt nur mal mit erwähnt haben.

von Jobst Q. (joquis)


Lesenswert?

Olaf schrieb:
>> 1. 4-Pol Klinkenbuchse 2,5 oder 3,5 mm.
>
> Beim reinstecken machen die Stecker einen Kurzschluss an den Kontakten.


Das gilt aber nur wenn am Stecker Spannung ist. Es geht mir aber nur um 
die Buchse der Master/ Stromversorgungsseite. Die +5 V kommen an den 
letzten Kontakt, der nur von der Spitze erreicht wird. Ist also 
überhaupt kein Problem.

> Vergiss den Muell ganz schnell!

Nein, werde ich nicht vergessen, ist sogar gerade mein Favorit. Hab 
nämlich in meinen Beständen gerade eine Doppelbuchse mit 4-Pol 2,5mm 
Klinke und 3,1 Hohlsteckerbuchse aus einem Handy gefunden. Da ich die 
Stromversorgung sowieso mit solchen Hohlsteckern machen wollte, sind die 
Anschlüsse damit komplett.

Außerdem habe ich noch einen Adapter von 4-Pol 2,5mm Klinke auf 
USB-Kupplung gefunden. Wohl von irgendeiner Kamera, wo der Platz auch 
knapp war.

von Jobst Q. (joquis)


Lesenswert?

Zeno schrieb:
> I2C ist ein Bussystem und auch dafür gibt es eine Norm, wo beschrieben
> ist welche Steckverbinder benutzt und wie sie beschaltet werden sollen.
> Für I2C findest Du hier
> http://rn-wissen.de/wiki/index.php?title=RN-Definitionen was. Man sollte
> versuchen sich immer an gewisse Standards zu halten, denn das macht das
> Leben leichter, wenn man später mal mit fertigen Komponenten erweitern
> möchte.

Das ist keine Norm, sondern eine Konvention von RN (Roboternetz). Eine 
zehnpolige Verbindung, wo ich nur 4 brauche, ist völlig 
überdimensioniert.

Wenn schon 10-Polig, dann UEXT, das nebenbei noch SPI und UART enthält.

https://en.wikipedia.org/wiki/UEXT

Das verwende ich auch manchmal, auf meinem Pinguino ist direkt eine 
solche Buchse drauf, für Raspi und Arduino hab ich mir Adapter gemacht.

von Zeno (Gast)


Lesenswert?

Jobst Q. schrieb:
> Das ist keine Norm, sondern eine Konvention von RN (Roboternetz). Eine
> zehnpolige Verbindung, wo ich nur 4 brauche, ist völlig
> überdimensioniert.

Ja da hast Du recht. Ich hätte hier einen anderen Begriff wählen müssen. 
Mir ging es eher darum, aufzuzeigen, daß es durchaus sinnvoll ist, sich 
an bestimmte Konventionen zu halten. Es kommt halt darauf an was man 
machen will. Wenn Du keine fertigen Sachen benutzen willst, bist Du in 
Deiner Entscheidung völlig frei. Dir kommt es offenbar auf einen 
möglichst kompakten Steckverbinder an. Kompatibilität scheint für Dein 
Vorhaben eher von untergeordneter Prio zu sein. Insofern bist Du mit der 
Klinke wahrscheinlich bestens bedient.

Dann viel Spaß beim Basteln.

von Sousapaddy (Gast)


Lesenswert?

Seit viele Jahren benutze ich fuer inter-pcb verbinding die Micromatch 
6-polige stecker. Das idee habe ich uebergenommen von i2cchip.com, da 
gibt es viel informationen ueber, auch wie man SPI/I2C/1Wire auf 
gleichen pins setzen kann. Und via den extra 2 pinnen kann man zB 12V 
speisung mitgeben

PS : i2cchip.com ist schon alt, weisz nicht sicher ob die noch aktuel 
ist aber ich benutze die anschlusze die da beschrieben stehen als meinen 
'standard'

Leider keine chassisteilen, aber man kann jeden flatcable-chassisteil 
benutzen (zB 9-polig subd).

von Max G. (l0wside) Benutzerseite


Lesenswert?

Olaf schrieb:
>> 1. 4-Pol Klinkenbuchse 2,5 oder 3,5 mm.
>
> Beim reinstecken machen die Stecker einen Kurzschluss an den Kontakten.
> Vergiss den Muell ganz schnell!

Das ist bei I2C doch völlig egal. Kritisch könnte es höchstens werden, 
wenn dein Gerät gerade senden will, SDA und/oder SCL auf Masse zieht und 
du gerade über den Stecker die Leitungen auf 5V kurzschließt. Da helfen 
Längswiderstände (oder eine Strombegrenzung auf den 5V).

von Jobst Q. (joquis)


Angehängte Dateien:

Lesenswert?

Ich hab mich jetzt für 4-Polige Modularbuchsen (RJ10) entschieden. Die 
Belegung nach dem Access-Bus Standard, der mal PC-Peripherie anbinden 
sollte, dann aber von USB überholt wurde.

Bei der Belegung kann auch bei Verdrehung nicht viel passieren. Das 
Flachkabel ist günstig und kapazitätsarm, was für I2C ja bedeutsam ist.

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.