Forum: Mikrocontroller und Digitale Elektronik Kabeltester - möglichst Viel-polig


von Dominik (koelner)


Lesenswert?

Hallo,

hat jemand zufällig ein Projekt (inkl. Quellcode) für ein Vielpoligen 
Kabeltester gesehen? 2007 hat hier schon jemand nach einem 48pol. Tester 
gefragt, aber leider ohne Resultate. Ich habe auch an einen 50pol. 
Universal-Tester gedacht. Hauptsächlich möchte ich erst mal USB-C und 
HDMI-Kabel testen.

Geprüft werden soll natürlich primär auf Durchgang von einem Kabelende 
zum anderen. Als zweites aber auch auf Schlüsse zwischen den Adern 
selbst. Letzteres würde einseitig reichen: Meine Pinout-Adapter für die 
jeweiligen Kabel würde ich so konstruieren, dass man Ein- und Ausgang 
einfach umstecken kann (Einfach über 2x25 Stiftleiste / Pfostenstecker). 
Notfalls kann man das auch in 2 separate Projekte aufteilen: 1x 
Durchgänge und 1xSchlüsse

Messung mit 3,3 oder 5V reicht aus (höhere Spannung wäre vermutlich sehr 
aufwending) und auch Widerstandsmessung ist nicht nötig.
Ausgabe der Ergebnisse könnte auf ein einfacheres LCD erfolgen 
(scrollbar), worüber ggf auch die Pinzahl vorgewählt werden kann.

Wie realisiert man so etwas am besten? Dachte an I2C/SPI In- und Output 
ICs, vielleicht mit einem der fertigen ESP32 mit Onboard-Displays und 
Eingabetaster?

Wäre für Links dazu sehr dankbar, falls jemand so etwas ähnliches schon 
mal gemacht oder gesehen hat.


Danke im Voraus,

Dominik

von Lu (oszi45)


Lesenswert?

Das prüfen, ob alle Drähte richtig verbunden sind, reicht nicht immer! 
Vor vielen Jahren mußte ich ein 2m langes Kabel ca. 20 cm kürzen wegen 
der Signallaufzeit!

von M. N. (bmbl2)


Lesenswert?

Ich hatte sowas mal auf der Arbeit gebaut.

Ein Ansatz eines Studenten war ein simples FPGA board, das herumlag, da 
FPGs idR sehr viele IOs haben. Fand die Lösung aber exrem overkill

Ich selbst habe meins damals mittels eines STM32 und einem Haufen I2C IO 
expander gebaut. Mittels der IO expander + sehr hochohmiger pulldown an 
jedem ende, ist dann zumindest relativ einfach auf shorts / open zu 
testen.

Ich hatte mir damals dann noch einfallen lassen, in Reihe jedes ports 
noch ~100 Ohm zu hängen. Dadurch war es dann möglich den Expander am 
einen Ende auf 0V zu legen und den am anderen auf VDD. Nun waren 200 Ohm 
in reihe zum Kabel. Ich habe dann alle VDD Versorgungen der IO expander 
durch einen shunt geführt und konnte somit zentral über einen shunt 
Widerstand den Strom messen, der durch die 200 Ohm + Kabel floss. Sollte 
ein Kabel / Stecker im Kabel extrem hochohmig werden, wäre das dann an 
einem verringerten Strom aufgefallen. Hat eigentlich ganz gut 
funktioniert. Man muss nur den Strom den die Portexpander selbst 
brauchen im Kopf haben und welche verwenden, die eine ensprechende Last 
treiben / senken können.
Auf diese Weise konnte ich dann alle Adern seriell mit nur einem ADC 
Kanal messen.

Irgendjemand hatte das Ganze dann soweit aufgebohrt, dass es irgendwann 
ein Exemplar mit 256 IOs gab.

Die sources sind leider, da auf Arbeit gebastelt, nicht verfügbar. War 
aber nicht so viel Arbeit :) Ne halbe Woche oder so.

Gedacht war das bei uns dafür extern gekaufte Kabelbäume auf korrekte 
Kontinuität zu prüfen. Die vorgabe dafür war eine Exceltabelle, die dann 
auch für den Kabeltester die Referenz war. Die üblichen Fehlermoden, die 
ich damit gefunden habe waren: Offene Verbindungen, gedrehte 
Verbindungen, Kabelbrüche, die extrem hochohmig warne, aber noch gut 
genug geleitet haben, um einen Digitalpegel zu propagieren.

Gesteuert wurde das Ganze über ein kleines Python Progrämmchen auf dem 
PC, dass die Exceltabelle eingelsen hat.
DerTester hat dann selbständig alle Pins durchgefahren und shorts / 
opens detektiert und an das python Programm rückgemeldet, welches dann 
ein enstprechendes Logfile mit den Differenzen zum referenz-Excel 
abgelegt hat.

: Bearbeitet durch User
von Reinhold E. (reinhold_by)


Lesenswert?

Die SW ist trivial verglichen mit der HW. Ich habe als Schüler vor 
damals 40 Jahren (mit PET und Basic) Kabeltester für 64-polige Kabel 
gebaut.
Problem waren die Ports. Anfangs GPIO benutzt wegn der einfachen 
SW-Ansteuerung. Man konnte quasi zusehen wie die kaputt gingen. ESD war 
mir damals eher unbekannt. Man konnte nachmessen wie der 
Ableit-Widerstand vom Pin zur Masseleitung Tag für Tag kleiner wurde bis 
er dann so klein war das der Transistor im Chip es nicht mehr geschafft 
hatte High-Pegel zu liefern.
Ein Redesign mit klassischen 74xx (Open-Collector + Pullup) war die 
Lösung. Die HW ist dann gelaufen bis ich mit dem Studium fertig war und 
danach.

Es ist IMMER Hardware und Software zusammen

Meine SW hat ein Muster 'vermessen' und dann verglichen ob die anderen 
Kabel gleich sind (war für einen Kabelkonfektionierer). Damals aber nur 
Durchgang oder nicht, Kurzschluss, offen

Grüsse vom Oldie

von Jens M. (schuchkleisser)


Lesenswert?

Ich hab das auch schon mal gemacht, als einfacher gut/schlecht-Tester.
Mit verschiedenen Kabelbreiten (Flachkabel) einfach umtastbar.
Es gibt nur einen Taster und 2 LEDs.
Dazu eine Horde einfache Schieberegister, ein PIC und ein paar 
ASM-Codezeilen.
Eine Seite ist immer Ausgang, die andere immer Eingang, Ausgänge mit 470 
Ohm Kurzschlussgeschützt, Eingänge mit 10k Pulldown.

- Warte auf Taste
- Gebe 00001 aus und schaue das auch 00001 ankommt
- Gebe 00010 aus und schaue nach 00010
- usw.
- Passt nicht? dann Rot
- Passt? dann grün, und....
- Gebe 11111 aus und warte bis != 11111 empfangen wird (Kabel abgezogen 
oder wackelt)
- LED aus
- Goto 0
Idiotensicher, denn Grün bleibt nur so lange an wie das Kabel noch 
steckt, alles andere bedeutet "nochmal testen oder wegwerfen".
Testet prinzipbedingt gegen Unterbrechung, Tausch & Kurzschluss 
gleichzeitig, geht bei einem 40-poligen Flachbandkabel von nem halben 
Meter völlig problemlos in 2 Sekunden.

Man kann beliebige Muster ausgeben und empfangen, damit sind auch 
Adapterkabel testbar, aber am einfachsten ist natürlich, wenn die beiden 
Muster identisch sind, dann kann mans algorithmisch testen.
Muster gegen Muster braucht Speicher....

Als Ergänzung habe ich "Beim Einschalten Taste betätigen ändert 
Kabeltyp" und dazu ein paar LEDs, damit man weiß was man testet. War 
durch einfaches anflanschen eines weiteren Schieberegisters einfach zu 
bauen.
Das meiste war die Hardware. Aber war in 2 Tagen zusammengebaut, tut 
noch nach 10 Jahren, aber war Arbeit also nicht teilbar.

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


Lesenswert?

Jens M. schrieb:
> Testet prinzipbedingt gegen Unterbrechung, Tausch & Kurzschluss
> gleichzeitig
Kann aber in dieser einfachen Form keine Mehrfachbelegungen wie das z.B. 
beim GND oft der Fall ist.

von Jens M. (schuchkleisser)


Lesenswert?

Lothar M. schrieb:
> Jens M. schrieb:
>> Testet prinzipbedingt gegen Unterbrechung, Tausch & Kurzschluss
>> gleichzeitig
> Kann aber in dieser einfachen Form keine Mehrfachbelegungen wie das z.B.
> beim GND oft der Fall ist.

Natürlich, du kannst 64 bit ausgeben und 64 bit bekommen, wie die 
aussehen ist dem Tester ja egal.
Man kann das Muster berechnen, das ist für einfach 1:1-Strippen am 
einfachsten und kann beliebig breit messen, man kann aber auch das 
Ausgabemuster berechnen (immer ein bit) und das Eingabemuster aus einem 
Speicher lesen. In der Theorie ginge es auch das Ausgabemuster zu 
speichern, aber das hat keinen Vorteil.
Wenn man an die Ausgänge Dioden macht, können 2 Ausgänge beide getrennt 
je mehrere Eingänge ansteuern, also 00001 erzeugt 01110 und 10000 
erzeugt auch 01110, weil das Kabel 1&5 mit 2-3-4 verbindet. Das 
erschlägt auch Mehrfachbelegungen, aber man braucht halt Speicher.
Der muss aber bei z.B. 64 Leitungen ja nur 64 Bilder (jeweils das 
Sollmuster für "einer der 64 Ausgänge ist an") a 64bit abspeichern, also 
gerade mal 512 Bytes.

von Christian B. (casandro)


Lesenswert?

Ich hab über das Problem mal ein wenig nachgedacht. Idealerweise baut 
man ein Vierleiter-Ohmmeter mit Halbleiterschalter. Dadurch wird der 
Widerstand des Schalters egal. Du hast denn 2 zweipolige Umschalter, 
welche je eine Seite des Widerstandsmessgerätes (bzw Durchgangsprüfers) 
mit einem "Pin" des Gerätes verbindest.

Du hast dann in Richtung Kabel n "Pins". Diese Anschlüsse teilst Du auf 
die Steckverbinder des Kabels auf. Wenn Du zum Beispiel ein Kabel mit 
einem 15 Pol Sub-D Stecker und 2 5 poligen DIN-Steckern hast, wäre das 
zum Beispiel "Pin" 0-14 auf den Sub-D Stecker, "Pin" 15-19 auf den 
ersten DIN-Stecker und 20-24 auf den zweiten DIN-Stecker.

Das Programm sieht dann grob wie folgt aus:
for (pin1=0; pin1<n; pin1++){
  setze_pol1_auf_pin(pin1);
  for (pin2=pin1+1; pin2<n; pin2++) {
    setze_pol2_auf_pin(pin2);
    messe_widerstand();
  }
}

Dadurch kriegst Du eine Tabelle, die die Verbindungen anzeigt. Die 
kannst Du dann beispielsweise in eine Netzliste überführen oder 
irgendwie graphisch darstellen. Dieser simple Algorithmus kann so 
ziemlich alles finden was man in Kabeln hat. Auch Brücken und mit 
minimal mehr Aufwand sogar Pull-Ups, Terminatoren oder Dioden.

von Christian B. (casandro)


Angehängte Dateien:

Lesenswert?

Hier mal skizzenhaft eine Variante für 8 "Pins".

von Falk B. (falk)


Lesenswert?

Sowas hat mal ein Praktikant bei uns gebaut. Ist ja an sich nicht 
wirklich schwer. Wie schon gesagt, braucht man Open Drain Ausgänge und 
Pull-Ups an den Eingängen. Dann kann man alles problemlos ausmessen, 
incl. Kurzschlüsse und Mehrfachverzweigungen. Der PCF8574 oder PCF 8575 
bieten sich an. Die Steuerung und Ausgabe erfolgte über einen virtuellen 
COM Port und USB. Der Arduino läßt grüßen. Die mechanische Kopplung zu 
den verschiedenen Kabeln erfolgte mittels Adapterplatte, welche auf zwei 
2x20 Stiftleisten adaptierte. Macht 40 Einzelsignale.

: Bearbeitet durch User
von Crazy Harry (crazy_h)


Lesenswert?

In einem Elektor-Sonderheft um 1995 war einer mit 2x64 Polen.

von Axel R. (axlr)


Lesenswert?

Wir brauchten damals nur neun Strippen.
Hab einen A277 im Punktbetrieb verwendet und die LEDs über den Prüfling 
verbunden, statt diese direkt am A277 zu betreiben. Vorn haben wir einen 
B082 als Integrator und ne starttaste gehabt. Danach liefen die LEDs 
relativ zügig durch. Also ne rein subjektive Bewertung. Ging aber 
wunderbar. Man hat sofort gesehen, wenn Kabel falsch drann waren, wenn 
welche miteinander verbunden oder halt „ab“ waren.
Rein analoger Ansatz damals(tm).

von Jobst Q. (joquis)


Angehängte Dateien:

Lesenswert?

Ich bin dabei, einem Kabeltester mit einer 10x10 LED-Matrix zu bauen. 
Dabei ist die Diagonale grün für die korrekte Belegung, alle anderen rot 
für ungewöhnliche Verbindungen. Geschaltet wird mit zwei 16-Bit 
Multiplexern 74HC4067 die synchron durch einen 74HC4060 gesteuert 
werden. Die 6 übrigen Kanäle werden mit einfachen grünen LEDs angezeigt.

: Bearbeitet durch User
von Nevs (noname_user)


Lesenswert?

Sowas gibt es schon fix und fertig zu kaufen in den verschiedensten 
Ausführungen

https://www.reichelt.de/ch/de/kabeltester-4-1-rj11-rj45-bnc-usb-gc-n0097-p235193.html?r=1

https://www.reichelt.de/ch/de/hdmi-leitungstester-hdmi-kabeltester-p113366.html?r=1

Oder will der TO unbedingt etwas selber bauen, dann würde ich mir mal 
die Technologie von den marktgängigen Geräten anschauen?

von Manfred P. (pruckelfred)


Lesenswert?

Axel R. schrieb:
> Hab einen A277 im Punktbetrieb verwendet und die LEDs über den Prüfling
> verbunden, statt diese direkt am A277 zu betreiben. Vorn haben wir einen
> B082 als Integrator

Geht das auch mit Bauelementen, die in Deutschland bekannt sind? Ich 
suche jetzt nicht, was das war.

LEDs angucken dauert lange und ist fehlerträchtig, für eine Produktion 
nicht gut. Als einfacher Kabeltester für den Monteur mag es genügen, 
wobei es auch da deutlich komplexere Geräte gibt.

In erster Linie ist es eine Fleißaufgabe, einen Prozessor mit ganz 
vielen Ports zu löten. Wir hatten mal ein kommerzielles Gerät, 
Einschubträger mit Prozessorplatine und Steckkarten mit vielen 
Portbausteinen, skalierbar.

Den Ansatz haben meine Vorposter beschrieben, Bitmuster ausgeben und 
vergleichen. Die Ausgänge müssen fehlertolerant sein, wenn ein Schluß 
zwischen zwei Adern ist, darf der High-Pin nicht gegen den anderen Low 
abbrennen.

Interessant wird auch, wenn das Kabel nicht 1:1 ist, z.B. 
Nullmodemkabel oder verbundene (Masse-)Pins drin.

Das kommerzielle Gerät hatte eine Lernfunktion, ein gutes Kabel dran und 
dessen Sollverhalten abspeichern.

Klingt insgesamt simpel, aber hat doch ein paar Fallen, die man 
übersehen kann.

von Lu (oszi45)


Lesenswert?

Lu schrieb:
> Vor vielen Jahren mußte ich ein 2m langes Kabel ca. 20 cm kürzen wegen
> der Signallaufzeit!

Schönen dank für die Bewertung -5! Dann macht eben "Lernen durch 
Schmerz"

von Axel R. (axlr)


Lesenswert?

Manfred P. schrieb:
> Axel R. schrieb:
>> Hab einen A277 im Punktbetrieb verwendet und die LEDs über den Prüfling
>> verbunden, statt diese direkt am A277 zu betreiben. Vorn haben wir einen
>> B082 als Integrator
>
> Geht das auch mit Bauelementen, die in Deutschland bekannt sind? Ich
> suche jetzt nicht, was das war.
>
> LEDs angucken dauert lange und ist fehlerträchtig, für eine Produktion
> nicht gut. Als einfacher Kabeltester für den Monteur mag es genügen,
> wobei es auch da deutlich komplexere Geräte gibt.
>
> In erster Linie ist es eine Fleißaufgabe, einen Prozessor mit ganz
> vielen Ports zu löten. Wir hatten mal ein kommerzielles Gerät,
> Einschubträger mit Prozessorplatine und Steckkarten mit vielen
> Portbausteinen, skalierbar.
>
> Den Ansatz haben meine Vorposter beschrieben, Bitmuster ausgeben und
> vergleichen. Die Ausgänge müssen fehlertolerant sein, wenn ein Schluß
> zwischen zwei Adern ist, darf der High-Pin nicht gegen den anderen Low
> abbrennen.
>
> Interessant wird auch, wenn das Kabel nicht 1:1 ist, z.B.
> Nullmodemkabel oder verbundene (Masse-)Pins drin.
>
> Das kommerzielle Gerät hatte eine Lernfunktion, ein gutes Kabel dran und
> dessen Sollverhalten abspeichern.
>
> Klingt insgesamt simpel, aber hat doch ein paar Fallen, die man
> übersehen kann.

Der A277 war halt so‘n LED ansteuerschaltkreis für Punkt und 
Balkenbetrieb. Steckte in fast jedem Radio drin. Kein Ahnung, was es da 
äquivalentes gibt.
Die LEDs liefen flüssig von links nach rechts als Leuchtpunkt, wenn 
alles okay war. Da war nichts „fehlerträchtig“. War ja auch nicht 
universell, sondern speziell für die Kabelbäume gemacht, die dort 
gefertigt wurden.
War ja auch nur‘n Vorschlag!
Baut das mal mitm FPGA oder mitm Arduino. Geht ja heute nicht mehr 
anders. Die Idee mit der LED-Matrix zielt ja auch darauf ab. Find ich 
gut. Gerade in der Produktion ist ein auffälliges Leuchtmuster 
mindestens genauso einträglich und nicht langsamer

von H. H. (hhinz)


Lesenswert?

Axel R. schrieb:
> Der A277 war halt so‘n LED ansteuerschaltkreis für Punkt und
> Balkenbetrieb. Steckte in fast jedem Radio drin. Kein Ahnung, was es da
> äquivalentes gibt.

Das Original hieß UAA180.

von Nevs (noname_user)


Lesenswert?

H. H. schrieb:
> Das Original hieß UAA180.

http://forum.rft-radio.de/thread.php?threadid=3496
"Der originale UAA 180 konnte jedoch nur Bandbetrieb, die Version für 
Punktbetrieb war der UAA 170."
So viel dazu was hier so die Größen angeblich alles können oder wissen, 
er hier unter mir natürlich wieder glänzend mit totalem Unwissen, ist ja 
nichts Neues.
Vllt. sollte man sich doch mal auch woanders nach echter Kompetenz 
umsehen?

Manfred P. schrieb:
> Axel R. schrieb:
>> Hab einen A277 im Punktbetrieb verwendet und die LEDs über den Prüfling
>> verbunden, statt diese direkt am A277 zu betreiben. Vorn haben wir einen
>> B082 als Integrator
>
> Geht das auch mit Bauelementen, die in Deutschland bekannt sind? Ich
> suche jetzt nicht, was das war.

von H. H. (hhinz)


Lesenswert?

Ich bin ganz sicher, dass Walter Moers dich gemeint hat.

von Obelix X. (obelix)


Lesenswert?

Lu schrieb:
> Schönen dank für die Bewertung -5! Dann macht eben "Lernen durch
> Schmerz"

Wenn alle hier so allergisch auf die negativen Bewertungen reagieren 
würden, dann wären 99,5% der Forennutzer nicht mehr hier. Die besten 
Beiträge bekommen oft nur negativ Klicks.

von Peter D. (peda)


Lesenswert?

Ich habe mal nen Tester für bis zu 40 polige Flachkabel gebaut.
Verwendet wurden 3 AT89C51 mit je 32 IO-Pins. Über die UART wurden sie 
kaskadiert. Alle 3 bekamen die gleiche Firmware. RXD des ersten wurde 
auf low gelegt, damit er weiß, daß er mit Testen anfangen soll. Es 
werden Muster gesendet, um Kurzschlüsse und Unterbrechungen 
festzustellen, d.h. es wurden die Pins nicht einzeln getestet, um Zeit 
zu sparen. Damit können auch Wackler gut erkannt werden. 3 LEDs am 
letzten zeigten das Ergebnis an (offen, o.k., Kurzschlüsse, 
Unterbrechungen).

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.