Kabeltester, Leitungstester

Ein 64-Kanal-Kabeltester für den direkten Anschluss ans Parallelport (ohne Mikrocontroller) oder ans serielle Port (mit PIC16F84). (Patentreif?)

Grundlagen

Solche Geräte legen programmgemäß eine Ader auf ein bestimmtes Potenzial und „gucken“, ob das Signal am anderen Ende ankommt (Durchgangsprüfung) und ob andere Adern unbeeinflusst bleiben (Kurzschlussprüfung).

Diese Prozedur wird für alle Adern oder Leiterzüge einer Leiterplatte wiederholt.

Es gibt diese für Leiterplatten als »Test-Igel« sowie für Kabel mit Steckern für die Kleinserien- bis zur Massenproduktion.

Was liegt da näher, als dafür einen Mikrocontroller oder einen PC einzusetzen?

Problem

Kabeltester mit Mikrocontroller haben das Problem mit dem riesigen Fan-Out, d. h. man hätte gern »unendlich« viele Ein/Ausgabeports, die in ihrer Richtung einzeln schaltbar sind.

Gängige Port-Expander sind unbrauchbar, da alle Typen nur 8-bit-weise auf Ein- oder Ausgang schaltbar sind.

Zu DDR-Zeiten hätte man wohl nun eine Unmenge U855 (Z80-PIO) an den Standard-Mikroprozessor U880 (Z80-CPU) gehängt; aber das sind wahre Stromfresser und heutzutage unüblich. Diese PIOs sind nämlich bitweise schaltbar!

Trick

Mikrocontroller und Computerprogramme sind schnell; deshalb stört bisweilen die Kabelkapazität (man muss ggf. kleine Warteschleifen einlegen). Also macht man sich das Problem zu Nutze!

Man nehme und kaskadiere billige Analogmultiplexer 4051, und schließe an jeden Ausgang zum Kabel bzw. zur Leiterplatte (Prüfspitze) einen Kondensator (Richtwert 10 nF, bei hoher Kabelkapazität entsprechend mehr) an. Man braucht nur einen »Fächer« (Auf-Fächerer)!
Auf der Mikrocontroller-Seite braucht man für i Prüfspitzen und j tristate-fähige Ein/Ausgabeleitungen k = ld i / j Adressleitungen für die Multiplexer. Also für 64 Prüfspitzen 8 Tristate-Anschlüsse und 3 Adressleitungen. Oder 1 Tristate-Anschluss und 6 Adressleitungen.

Jede andere Schaltung (bspw. mit Digitalschaltkreisen) benötigt mindestens den doppelten Aufwand, nämlich einen »Fächer« zum Schreiben und einen zum Lesen. Und soo teuer sind Kondensatoren nicht. (Auf den ESR-Wert und die Grenzfrequenz wird hier kein Wert gelegt.)

Manche Mikrocontroller haben keinen echten Tristate-Anschluss. (Messen! Datenblätter schweigen sich aus! EZUSB geht bspw. nicht, 8051 sowieso nicht.) Am PC-Druckerport gibt es so etwas auch nicht. Dann behilft man sich mit einem 40098 (Tristate-Treiber) und braucht dafür noch 1-2 Leitungen extra. Weiterer Vorteil des Druckerports: Es liefert genügend Strom, sodass man auf eine extra Stromversorgung des Testers verzichten kann.

Schaltung

Die Schaltung ist für Alternativbestückung vorgesehen. Für die 64 Prüfspitzen (für einen Sensor) braucht es für's Druckerport nur U1..U10, ST2, natürlich die Kondensator-Kette und einen Alibi-Stützkondensator für die Betriebsspannung an den Schaltkreisen. (CMOS ist wirklich wenig störanfällig.)
Der Schaltungsteil um die PIC ist also überflüssig! Deshalb passt das Thema nicht so ganz in die Rubrik „Mikrocontroller“.

Vom Druckerport kommen die sechs Adressleitungen (Pin 2..7 = D0..D5), das Datenrichtungs-Bit (Pin 8 = D6) und das Daten-Ausgabebit (Pin 9 = D7).
Zum Druckerport geht das Daten-Eingabebit an Pin 10 (= /ACK) und 11 (= BUSY), da hat die Software die Freiheit, welches Bit sie nimmt.
Die vier Steuerleitungen zusammengenommen (Pin 1, 14..17) liefern die Betriebsspannung und sind in der Software alle auf HIGH zu setzen. (Die Schnittstelle selbst verträgt Kurzschlüsse.) Pin 15 = ERROR (ein Eingang) dient zur Präsenz-Erkennung.

Von der Schaltung existiert ein zweiseitiges Board-Layout, ein Bestückungsdruck sowie die kompletten Ultimate-Quellen (Auge Einsicht), wobei ein 72-pol. SIMM-Steckplatz für das Testobjekt bestückt wurde.

Für diesen Fall braucht man ein geeignetes PC-Programm sowie für Windows NT/2k/XP einen Portfreigabe-Treiber. DOS oder Win32-Konsole ist eine gute Plattform dafür.

Für den Betrieb am seriellen Port braucht man U1..U8, U11, Q1, ST4, R1, D1 und alle Kondensatoren.
Falls jemand den fehlenden MAX232 bemängelt: das ist Absicht! Die PIC nimmt bzw. liefert einfach invertierte Signale; der PC frisst das auch. Auch hier wird die Schaltung vom Computer versorgt; die Z-Diode D1 begrenzt die von Pin 4 (DTR) und Pin 7 (RTS) kommende Spannung brutal auf 5 V.

Wenn man das PIC-Programm ordentlich schreibt, braucht man kein PC-Programm zur Betrachtung des Ergebnisses; es reicht eine Terminal-Emulation (bspw. HyperTerminal), und es geht auch prompt mit Linux.
Im einfachsten Fall wartet die PIC auf irgendein Zeichen (Tastendruck) und spuckt den Fortschritt und das Ergebniss schwarz-weiß auf den Bildschirm.

Arbeitsweise

Die Arbeitsweise ist in wenigen Schritten erklärt: Nun müssen alle anderen Kondensatoren noch LOW liefern (sonst Kurzschluss), außer jene, die mit dem geladenen Kondensator verbunden sind (Durchgang). Der »adressierte« Kondensator muss HIGH liefern, sonst liegt Masseschluss vor.
Für die Masse oder eine einseitige Abschirmung wird also kein extra Anschluss gebraucht, sie wird einfach auf Masse gelegt.

Die o. g. Prozedur ist für alle Tastspitzen zu wiederholen. Sicherheitshalber kann man das Ganze auch invers (also mit geladenen Kondensatoren statt entladen und umgekehrt) durchführen.

Sind keine Kriechstrecken zu erwarten, kann sich die Software viel Zeit lassen, die Selbstentladung der Kondensatoren in die CMOS-Gatter hinein dauert Minuten!

Über die Messung der Zeit, bis ein »falscher« Kondensator auf- bzw. der »adressierte« Kondensator entladen wird lässt sich auch die Größe eines Kriech-Widerstandes erfassen.

Nicht geeignet ist diese Schaltung für die Hochspannungs-Isolationsprüfung! Denn es gibt die hübschen Analogmultiplexer nicht für über 18 V. Dann nimmt man statt dessen Relais. Schönes Relais-Grab. Zur ruhestromfreien(!) Bestimmung der Kondensatorladung nehme man einen kapazitiven Spannungsteiler und ein weiteres Relais.


Bei Fragen zur Leiterplatte oder Software bitte Email schicken. P.S.: Die Software für DOS ist leider nicht mehr auffindbar.