Kabelkonfektionierung testen

Hallo liebe Arduinofreunde,

ich habe mir ein mehr oder weniger kleines Projekt vorgenommen und benötige ein paar Anregungen und Tipps zur realisierung, da ich persönlich noch nicht sehr viel Erfahrung mit dem Arduino gesammelt habe.

Es dreht sich um folgendes:

Wir benötigen bei uns auf Arbeit jede Menge an Kabeln mit Sub-D 9 , Sub-D 15 Steckern etc..
Diese setzen sich sowohl aus Seriellen, Nullmodem und anderen wild konfektionierten Kabeln zusammen.
Nun bin ich es leid diese immer nach feiner Hobbyhandwerkerart diese mit einem Durchgangsprüfer auf ihre Konfektionierung zu überprüfen.
Meine Idee ist nun diese Prüfung und die letztendliche Auflistung der Konfektionierung den Arduino für mich übernehmen zu lassen.

Da ich nun noch nicht so viel Erfahrung habe würde ich mich über ein paar Ideen / Denkanstöße freuen.

Liebe Grüße

Christian

Wie viele Adern testest du denn?
Ich würde mit Schieberegistern oder I2C PCF8574 16 Ausgänge nacheinander schalten. Und über Eingänge die Zustände abfragen. Du hinterlegst dann im Ardu die Muster der Kabel z.B. 1:1, Nullmodem etc. AUf einem Display gibst du dann aus ob das ein richtiges Kabel ist (Erkannt: 1:1 etc) oder du sagst wenn es nicht zum Muster passt welche zuordnungen falsch sind. Ist nur ein bisschen Prog. Aufwand.

Also ich würde einfach einen Knightrider Knight Rider | Blinkenlight order einen Bouncing Ball Bouncing Ball | Blinkenlight programmieren. Und dann einfach das Kabel benutzen um die LEDs zu versorgen. Wenn man dann das Muster sieht, dann funktioniert das Kabel. Wenn nicht, dann sieht man ja welche LEDs nicht angehen bzw. vertauscht sind.

D.h. die Schaltung wäre wie bei meinem Blinkenlight Shield nur man würde das nicht direkt aufstecken sondern (teilweise) mit dem zu testenden Kabel bedienen.

Ich würde das so machen, dass ich Masse und LED 0 immer angeschlossen hätte und für die anderen LEDs eben passende Stecker / Buchsen hätte. Dann kann man das zu testende Kabel einfach einstecken und fertig. Mit dem Ansatz kann man bis zu 19 Adern gleichzeitig testen. Also Sub-D 9 /15 auf jeden Fall.

Ist die Beschreibung verständlich genug?

Udo, diese Idee ist gut für Kabel / Stecker die keine Kontakte verbunden haben. ZB beim RS232 Nullmodem-Kabel ist das der Fall. Meines Erachtens muß man auf alle Kontakte beider Stecker Pullup-Widerstände geben, ein PIN nach dem anderen auf LOW legen und jeweils alle anderen PINs ausmessen.
Grüße Uwe

Er hat ja gesagt das es verschiedene Arten von Kabeln sind, hier bietet es sich ja an da man schon ein "Köpfchen" hat, die verschiedenen Kabelarten zu Identifizieren. Also Kabel in einer Bay anschließen Test starten (anzeige über LED und LCD).
Meldung: Kabel i.O. Typ Sub 9 1:1
oder so ähnlich. Ist ja genauso möglich :slight_smile:

Auf die Idee das ganze rein optisch über ein Lauflicht zu machen bin ich auch gekommen.
Jedoch würde hier ein 555 i.V. mit einem 4017 reichen um das ganze zu realisieren.

Nur muss man sich vor Augen führen das man hier eine Frequenz von ca. 1Hz oder weniger benutzen muss um das ganze optisch zu "verarbeiten".
Dies bedeutet auch das man für jedes Kabel ca. 10-20s zum durchschalten der LED benötigt. Das ganze ist recht simpel wenn es sich um eine 1:1 Verbindung handelt,
wenn jedoch eine Kreuzung mehrerer Kontakte vorhanden ist wirds schon kniffeliger mit dem mitkommen.

Hier ist also der Arduino klar im Vorteil.

Wie gesagt:
Ich würde alle Kontakte der beiden Stecker mit je einem Pullup belegen und zusätzlich an alle Kontakte einen I2C Expander anschließen. Ein Pin nach dem anderen als Ausgang definieren, auf LOW schalten und alle anderen Kontakte über den Expander einlesen.
So erhälst Du zB bei 32 Kontakten (2 Stecker zu 16 Kontakten) 32 mal 4Byte, die Du in ein Array schreibst. Dieses Array vergleichst Du mit dem Referenz-Daten und findest so falls es richtig verkabelt ist das entsprechende Kabel.
Du kannst den Vergleich auch so schreiben, daß Du eine Zahl generierst wieviele LOW Werte der Messung mit den Low Werten der Referenzdaten übereinstimmen. Bei 100% ist der Kabel richtig. Bei < 100% ist ein Fehler und Du kannst auch sagen welcher Kontakt es sein sollte und wieviele Fehler gemessen wurden.

zB bei einen 2 poligen Kabel 1 zu 1 verbunden ( 2 Kontakte an Stecker A und 2 Kontakte an Stecker B) liest Du folgende Daten (in Binär angezeigt)
B0101 Pin 1A LOW -> Pin1B LOW
B1010 Pin 2A LOW -> Pin2B LOW
B0101 Pin 1B LOW -> Pin1A LOW
B1010 Pin 2B LOW -> Pin2A LOW

Bei 1 unterbrochenen Kabel
B0111
B1010
B1101
B1010

Bei vertauschten Kontakten
B0110
B1001
B1001
B0110

Bei kurzgeschlossenen Kontakten:
B0000
B0000
B0000
B0000

Diese Metode ist bei Kabeln mit Widerständen in den Steckern nicht anwendbar.

Grüße Uwe

Die Frage ist was genau der Tester leisten soll. Wenn man nur wissen will ob die Kabel OK sind reicht mein Vorschlag. Wenn man das per Computer auswertbart haben will, dann nicht. 1Hz ist viel zu niedrig. Man kann bei einem Lauflicht schon bei höheren Frequenzen erkennen ob da Fehler sind oder nicht.

Die Frage ist: hast Du eine so hohe Fehlerquote, dass Du wirklich mehr brauchst?

Wenn ja: ich würde nicht bei der Hardware sparen sondern einfach einen Arduino Mega mit genügend vielen Pins nehmen (doppelt soviele wie Leitungen) und dann einfach schauen ob die Verbindungen so sind wie ich sie erwarte. Wenn man ausreichend viele Pins hat ist die Programmierung und der Hardwareaufbau deutlich einfacher. Wenn Du auf die Hardwarekosten schaust bedenke auch was Deine Programmierzeit kostet.