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?
> 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
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.
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
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.
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.
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.
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.
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.
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.
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.
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).
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).
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.
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