Forum: Mikrocontroller und Digitale Elektronik Alternative Pinbelegung in CAT5/6/7 für andere Datensignale


von Marco J. (marcoj90)


Lesenswert?

Für meinen in Planung befindlichen Aquariencomputer bin ich seit Monaten 
am planen und testen, wie ich ihn am einfachsten und zuverlässigsten 
umsetze. Hierbei bin ich, nachdem ich in den ersten Planungen noch 
gefühlte 3 Millionen verschiedene Anschlüsse am Raspberry Pi verbauen 
wollte zu dem Schluss gekommen, dass es doch vielleicht einfacher wäre 
(auch aus Sicht der Programmierung) alles was an Datenschnittstellen 
benötigt wird, über eine Anschlussart laufen zu lassen. Hier kam mir 
dann ganz Schnell RJ45 in den Sinn weil mit 8 Adern da schon einiges 
möglich wäre.

Bei der Überlegung kahm mir dann allerdings auch ganz schnell die Frage 
in den Sinn, ob dies überhaupt so ohne weiteres möglich wäre. Wenn ich 
jetzt zum Beispiel folgende Belegung wählen würde:

5V, 3.3V, GND, 1-Wire, UART RX, UART TX, I2C SCL, I2C SDA

In wie fern muss man sich hier sorgen um gegenseitige Beeinflussung 
machen und/oder die Aderpaare berücksichtigen?
Bei dem Geplanten neuen Becken würde die Maximale Leitungslänge bei ca. 
5m liegen.

Auch wenn es derzeit nicht vorgesehen ist mit einer CAT7 Leitung alles 
zu jedem Ort zu Bringen, so ist es zumindest in der Theorie möglich. Und 
da der Anspruch ist, es vernünftig und Zukunftssicher zu bauen würde ich 
den Umstand gern berücksichtigen. Sonnst könnte ich auch irgendwelche 
dieser "smarten" halbgaren Lösungen vom Markt nehmen.

Vielleicht hat hier Jemand Erfahrungen und kann mir Ratschläge geben 
oder mich für meine übertriebene Vorsicht auslachen ;)

von Harry L. (mysth)


Lesenswert?

Das ist "Fummel"

Nimm CAN, oder direkt (W)LAN mit MQTT!

von HildeK (Gast)


Lesenswert?

Marco J. schrieb:
> Vielleicht hat hier Jemand Erfahrungen und kann mir Ratschläge geben
> oder mich für meine übertriebene Vorsicht auslachen ;)

Teils auslachen, teils warnen.
Spannungen gehen dann problemlos, wenn die Ströme sich im max. 
zweistelligen mA-Bereich bewegen. Für GND ggf. mehr als eine Leitung 
nehmen, denn auch die Datensignale brauchen einen guten GND.
UART wird kaum Probleme machen, aber eine quellseitige 
Serienterminierung sollte schon sein. Alternativ: RS232 
Interface-Bausteine dazwischen schalten, dann gibt es auch bei größeren 
Längen keine Schwierigkeiten.
I2C halte ich für kritischer. Diese Interfaceart ist einfach nicht für 
5m Länge ausgelegt sondern ursprünglich für die Kommunikation zwischen 
ICs innerhalb einer Platine, also kurze Distanzen.

von CC (Gast)


Lesenswert?

+1 für CAN und vor Ort ein uC für das entsprechende Protokoll.
Daa kann man 6 Adern für Spannung nehmen.

von Marco J. (marcoj90)


Lesenswert?

Harry L. schrieb:
> Nimm CAN, oder direkt (W)LAN mit MQTT!

Ich werde mir das mit dem CAN mal ansehen auch wenn ich denke, dass das 
ein totaler Overkill sein könnte.
WLAN und MQTT sind 2 Dinge, welche ich hier auf keinen Fall zum Einsatz 
bringen werde. Sinn und Zweck des Ganzen soll es sein, dass der Pi im 
Risiko Fall sofort Maßnahmen einleiten kann wie z.B. über Relais Geräte 
abschalten. Oder mich im Falle eines Stromausfalls via SMS 
benachrichtigt. Da wird es kein WLAN oder sonstige Zwischendienste geben 
das Risiko, dass dort mal was nicht funktioniert ist viel zu hoch. Zumal 
ich diese zusätzlichen Systeme dann auch überwachen müsste.

Bei einem Süßwasser Aquarium würde ich nicht so einen Trubel machen aber 
das einfache Ausfallen von Geräten (sowohl durch Technik als auch Tiere 
im Becken) hat in meinen Meerwasser Becken bereits nach 4h zu toten 
Tieren geführt. Und mir fallen durchaus Scenarios ein, wo das noch 
deutlich schneller gehen könnte. Einen Wasserwechsel von sagen wir beim 
neuen Becken von 700L machst du mal nicht so schnell nebenher.

Wenn ich da mal im Urlaub bin und ich mich im Worstcase auf eine 
Vertretung verlassen muss, muss ich mich da zu 100% auf das System 
verlassen können. Ich kann nicht erwarten, das meine Vertretung da 
erstmal ihr Camp aufschlägt weil etwas nicht funktioniert. Bestenfalls 
mal wenn der Watchdog im Pi versagen sollte einen Reset-Knopf drücken 
sollte drin sein mehr aber nicht.

HildeK schrieb:
> Spannungen gehen dann problemlos, wenn die Ströme sich im max.
> zweistelligen mA-Bereich bewegen.

Ich würde hier nur ein wenig Sensoren auslesen wollen sowie Relais 
schalten sofern erforderlich von 100mA bin ich da sehr weit entfernt. Es 
kommen z.B. keine Sensoren mit Heizelement zum Einsatz. Alles was 
Wirklich Strom, benötigt wie z.B. Dosierpumpen würde ich separat mit 
Strom Versorgen (ist jetzt nur ein Beispiel die brauchen natürlich 12V).
Auch wäre die Last nicht auf einer Leitung. Deswegen war der Plan mit 
Multiplexern die UART und I2C Verbindungen auf diverse RJ45 Ports zu 
Splitten. Um z.B. Sensoren welche defekt sind und quatsch auf ihrem Bus 
veranstalten, nicht die anderen Schnittstellen beinträchtigen zu lassen. 
Zusätzlich wird es in der Entwicklung einfacher, wenn ich quasi nur die 
Ports definieren muss. Welche dann auch Physikalischen entsprechen.

HildeK schrieb:
> Für GND ggf. mehr als eine Leitung
> nehmen, denn auch die Datensignale brauchen einen guten GND.
Also vielleicht doch den 1-Wire mit eigenem Anschluss bereitstellen und 
dafür ein GND je Bus. Wo I2C ist hätte ich ja ohnehin entsprechende 
Sensoren im Einsatz wäre also eh kein Thema. Damit würde die Maximale 
Leitungslänge dann eh deutlich fallen (auf 1,5-2m).

HildeK schrieb:
> I2C halte ich für kritischer. Diese Interfaceart ist einfach nicht für
> 5m Länge ausgelegt sondern ursprünglich für die Kommunikation zwischen
> ICs innerhalb einer Platine, also kurze Distanzen.
Soweit ich das Richtig sehe, könnte ich hier mit z.B. 2x P82B715 Abhilfe 
schaffen. Davon ab, kommen längen von mehr als 2m derzeit nur für die 
geplanten DS18B20 am 1-Wire vor. Bei einem 2m breiten Becken komme ich 
mit 2 Meter überall hin, nur nicht an die Beleuchtung.

von MeinName (Gast)


Lesenswert?

Naja, wird für solche Steuerungsaufgaben nicht sonst eine SPS verwendet? 
Da man sich ja darauf verlassen will. Bis dein Raspi an die 
Ausfallsicherheit herankommt ist es noch ein Stück. Gerade was die 
Überprüfung der Software angeht kenne ich es so das man dafür dann 
keinen PC  verbaut da die Komplexität der Interaktion aller Software 
darauf nur schwer zu überblicken ist.
Deine SMS Warnung kannst dann immer noch mit einem RPI dran basteln.

Auch die Aussage wenig Strom und ein paar Relais passt nicht zusammen. 
Welche Relais sind es und wie viele davon können maximal im 
schlechtesten Fall gleichzeitig angehen?
Also Model, Anzahl und Stromverbrauch bitte mal angeben und alle 
Komponenten die mit an der einzelnen GND Leitung hängen mal hier 
zusammen rechnen.

von Blechbieger (Gast)


Lesenswert?

Marco J. schrieb:
> Hier kam mir
> dann ganz Schnell RJ45 in den Sinn weil mit 8 Adern da schon einiges
> möglich wäre.

Irgendwann wird Irgendwer, im Zweifel du selbst, ein Netzwerkkabel 
reinstecken und mit einem Ethernetnetzwerk verbinden. Je nach gewählter 
Pinbelegung werden dann durch den Übertrager der Gegenseite die 
verschiedenen Adern kurzgeschlossen und in deinem Gerät oder der 
Gegenseite kann etwas kaputt gehen. Ich rate generell davon ab Stecker 
Zweckentfremdet zu nutzen aber insbesondere auf so verbreitete wie RJ45 
oder DSUB9 Versorgungsspannungen zu legen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Marco J. schrieb:
> Hier kam mir dann ganz Schnell RJ45 in den Sinn weil mit 8 Adern da
> schon einiges möglich wäre.
Wenn du einen Stecker verwendest, der allen Milliarden Menschen für eine 
andere Funktion bekannt ist, dann musst du eine Belegung ausdenken, bei 
der nichts kaputt gehen kann, wenn irgendwer mal zufällig seinen Laptop 
da dran anschließt.
Und eins ist klar: viel Strom verträgt so ein mickriger 
Ethernet-Übertrager nicht. Mit 5V bekommst du den locker kaputt. Und 
wenn das dann mein Laptop ist, dann bekommst du aber was zu hören.

Blechbieger schrieb:
> aber insbesondere auf so verbreitete wie RJ45 oder DSUB9
> Versorgungsspannungen zu legen.
Beim DSUB kann alles Mögliche drauf sein. Da ist dann schon der 
Blauäugige selber schuld, der da unkontrolliert seinen Laptop dran 
ansteckt.

von (prx) A. K. (prx)


Lesenswert?

Lothar M. schrieb:
> Wenn du einen Stecker verwendest, der allen Milliarden Menschen für eine
> andere Funktion bekannt ist, dann musst du eine Belegung ausdenken, bei
> der nichts kaputt gehen kann, wenn irgendwer mal zufällig seinen Laptop
> da dran anschließt.

Der Klassiker: Ethernet und ISDN.

von H.Joachim S. (crazyhorse)


Lesenswert?

Marco J. schrieb:
> 5V, 3.3V, GND, 1-Wire, UART RX, UART TX, I2C SCL, I2C SDA

Das willst du ganz bestimmt nicht in einem verteilten System haben. Und 
schon gar nicht wenn Betriebssicherheit ein wichtiges Kriterium ist.
Auch mein Rat: CAN, gerade in Bezug Betriebssicherheit. Das gilt sowohl 
für die Kommunikation selbst als auch für das Verhalten im 
Hardwarefehlerfall.
Wenn du Master/Slave benutzen kannst ist auch RS485 eine gute 
Möglichkeit. Hardwareseitig einfacher als CAN, aber du musst mehr selbst 
programmieren.
Wahrscheinlich hast du keine grossen Anforderungen an die Bandbreite. 
Falls du das schon abschätzen kannst und mit knapp 20kBit auskommst wäre 
auch LIN eine denkbare Idee.

von Jester (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Lothar M. schrieb:
>> Wenn du einen Stecker verwendest, der allen Milliarden Menschen für eine
>> andere Funktion bekannt ist, dann musst du eine Belegung ausdenken, bei
>> der nichts kaputt gehen kann, wenn irgendwer mal zufällig seinen Laptop
>> da dran anschließt.
>
> Der Klassiker: Ethernet und ISDN.


Auch die Verwendung einer RJ-45-Verkabelung für RS-232 ist dokumentiert 
- siehe:
https://opengear.zendesk.com/hc/en-us/articles/216372063-RJ45-serial-pinout-options-and-diagrams

A/B (analog Telefon) sowieso.

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.