Die Kontaktmatrix eines WPC-Flippers

Die Kontaktmatrix eines WPC-Flippers am Beispiel des White Water (WPC-89)

In diesem Beitrag schauen wir uns die Kontaktmatrix (Switch Matrix) eines White Water Flippers einmal genauer an. Wer schon mal unter das Spielfeld geschaut hat, wird sich vielleicht gefragt haben, wie das Gerät so viele Kontakte überwacht, ohne dass für jeden einzelnen Kontakt ein eigenes Kabelpaar zur CPU führt. Hier erfahrt ihr, wie diese Technik funktioniert.

Warum eine Matrix?

Der Grund ist einfach: Effizienz. Durch die Matrix-Schaltung lassen sich mit nur 16 Drähten die Zustände von insgesamt 64 Kontakten abfragen. Das spart Unmengen an Kabeln im Gerät, reduziert den Kabelbaum und spart wertvolle Bauteile auf dem CPU-Board. Das senkt nicht nur die Produktionskosten, sondern macht die Fehlersuche im Vergleich zu einer Einzelverkabelung deutlich übersichtlicher.

Die Matrixübersicht

Die Matrix ist ein Koordinatensystem. Der Computer tastet blitzschnell Spalte für Spalte ab und erkennt am „Echo“ in den Zeilen, welcher Kontakt gerade geschlossen wurde.

Anbei die Matrixübersicht aus einem White Water Flipper mit den zugehörigen Kontakten.
Die zugehörigen Drahtfarben sind oben für die Spalten und links für die Zeilen angegeben.

Drahtfarben und Informationen aus der Matrixübersicht

Damit man sich unter dem Spielfeld zurechtfindet, folgt die Verkabelung einem klaren Farbschema:

  • Spalten (Columns): Die Grundfarbe ist Grün.
    • Beispiel Spalte 1: Ein grün-brauner Draht verbindet die Kontakte 11 bis 18.
  • Zeilen (Rows): Die Grundfarbe ist Weiß.
    • Beispiel Zeile 5: Ein weiß-grüner Draht ist mit den Dioden an den Kontakten 15, 25, 35 … bis 85 verbunden.


Somit können die Drähte leicht an den entsprechenden Kontakten gefunden werden.

Was kann ich sonst noch aus der Matrixübersicht ablesen:

Beispiel Spalte 1: Der grün-braune Drahte kommt vom Stecker J207 Pin 1 auf dem CPU-Board. Die zugehörige Ansteuerung auf dem Board erfolgt über das IC U20 (ein ULN2803) mit Pin 18.

Beispiel Zeile 5: Der weiß-grüner Draht kommt vom Stecker J209 Pin 5 auf dem CPU-Board.
Die zugehörige Auswertung auf dem Board erfolgt über das IC U19 (BA10339) mit Pin 11.

So funktioniert die Technik der Matrix

Für die CPU ist es nicht nötig, jede Nanosekunde den Zustand eines Kontakts zu kennen. Es reicht völlig aus, wenn sie den Kontakt oft genug pro Sekunde „abfragt“. Für die Software wirkt es dann so, als würde sie jeden Kontakt permanent im Auge behalten.

Die Matrix arbeitet wie ein Koordinatensystem, ähnlich wie beim Spiel „Schiffe versenken“.
Es gibt 8 Spalten (Columns) und 8 Zeilen (Rows).

  • An jedem Kreuzungspunkt sitzt ein Kontakt.
  • Jedem Kontakt ist eine kleine Diode (in der Regel 1N4004) vorgeschaltet. Sie wirkt wie eine Einbahnstraße und verhindert, dass Strom „falschherum“ durch andere geschlossene Kontakte fließt. Ohne diese Diode käme es zu Phantom-Schaltern (Ghosting) – der Computer würde denken, es wären mehrere Kontakte gleichzeitig gedrückt, obwohl nur einer betätigt wurde.
  • Die Kontakte sind von 11 bis 88 (64 Stück) durchnummeriert.

Zeitliche Abfrage der Kontakte

Die Elektronik arbeitet extrem flott: Jede Spalte wird nacheinander für genau 28,75 Mikrosekunden von ihrem Ruhepegel (High, +12 Volt) auf einen aktiven Pegel (Low, fast 0 Volt) geschaltet. Während dieses kurzen Zeitfensters werden alle 8 Zeilen der entsprechenden Spalte parallel abgefragt.

Ist ein Kontakt geschlossen, wird das Low-Signal der Spalte direkt an die Auswerte-Elektronik der jeweiligen Zeile weitergereicht. Sobald die 28,75 Mikrosekunden für die erste Spalte abgelaufen sind, springt die Spannung dort wieder auf +12 Volt zurück. Unmittelbar danach wird die zweite Spalte für das nächste 28,75 Mikrosekunden Zeitfenster auf Low gezogen und deren 8 Zeilen abgefragt. Dieser Vorgang wiederholt sich, bis alle 8 Spalten – und damit alle 64 Kontakte – einmal „besucht“ wurden. Ein kompletter Durchgang durch die gesamte Matrix dauert somit gerade einmal 230 Mikrosekunden.

Messungen mit dem Oszilloskop

Das klingt theoretisch, lässt sich aber mit einem Oszilloskop sehr eindrucksvoll sichtbar machen.

Bild mit der Ansteuerung der ersten vier Spalten durch die CPU.

Auf dem Schirm erkennt man gut, dass die Spalten die meiste Zeit auf einem High-Pegel von +12 Volt liegen und nur für einen winzigen Moment auf Masse (Low) gezogen werden.

Die Abfolge der Spalten 1 bis 4:
In meiner Messung mit einem 4-Kanal-Oszilloskop sieht man die zeitliche Reihenfolge der Spalten 1 (gelb), 2 (rosa), 3 (blau) und 4 (grün). Die restlichen Spalten 5 bis 8 muss man sich gedanklich rechts daneben fortgesetzt vorstellen.

  • Man erkennt deutlich, wie die erste Spalte (gelb) für 28,75 Mikrosekunden (berechnet aus 230 Mikrosekunden Gesamtdauer dividiert durch 8 Spalten) auf Low geht.
  • Direkt im Anschluss folgt die nächste Spalte.
  • Kleine Spannungsspitzen im 12-Volt-Bereich helfen dabei, die acht Spalten optisch voneinander zu trennen.


(Hinweis zur Darstellung: Um die Kurven besser vergleichen zu können, wurden die Kanäle 2 bis 4 am Oszilloskop vertikal leicht nach unten verschoben.)

Die einmalige Abfrage aller 64 Kontakte dauert nur 230 Mikrosekunden.

Wie oft pro Sekunde wird ein Kontakt abgefragt?

In diesem Bild sieht man die oben dargestellte Abfrage der 64 Kontakte dreimal hintereinander.

Ein einzelner Scan aller 64 Kontakte dauert zwar nur 230 Mikrosekunden, aber die CPU wiederholt diesen Vorgang nicht pausenlos. Zwischen zwei kompletten Matrix-Scans liegt eine kurze Ruhepause.

In der Messung sieht man, dass die erneute Abfrage der Matrix alle 2,049 Millisekunden erfolgt. Das entspricht einer Frequenz von etwa 488 Hz. Das bedeutet: Jeder einzelne Kontakt in einem WPC-Gerät wird fast 500-mal pro Sekunde abgefragt und sein Zustand im Speicher aktualisiert. Selbst eine extrem schnelle Flipperkugel, die einen Kontakt nur einen Wimpernschlag lang berührt, wird so zuverlässig registriert.

Entprellung und CPU-Auslastung

Damit mechanische Vibrationen beim Schließen eines Kontakts (das sogenannte Kontaktprellen) nicht zu Fehlregistrierungen führen, ist die CPU-Software schlau programmiert: Ein Kontakt wird meist erst dann als „geschlossen“ gewertet, wenn er bei zwei oder drei aufeinanderfolgenden Scans stabil als geschlossen erkannt wurde.

In den Pausen zwischen den Matrix-Abfragen dreht die CPU übrigens keine Däumchen. In dieser Zeit erledigt sie ihre restlichen Aufgaben: Sie holt Kaffee, steuert die Lampen-Matrix, aktualisiert das Display, sendet Sound-Befehle oder berechnet die Spielregeln.

Beispiel: Kontakt 15 „Outhole“ wird geschlossen

Schauen wir uns das am Beispiel des Outhole-Kontakts (Switch 15) beim White Water an:
Sobald die erste Spalte (Kanal 1 / gelb) ihren kurzen Low-Impuls sendet und der Kontakt 15 mechanisch geschlossen ist, wandert dieses Signal über den Kontakt und die Diode direkt zur Zeile 5 (Kanal 2 / rosa). Die CPU sieht den Impuls auf der Zeilenseite und weiß sofort: „Kontakt 15 wurde betätigt“.

  • Kanal 1 (gelb): Ist angeschlossen an der Spaltenseite von Kontakt 15.
  • Kanal 2 (rosa): Ist angeschlossen an der Zeilenseite der Diode.

(Details dazu findet ihr auch unten im Schaltplan „Switch Matrix Circuit“).

Die Schaltung im Detail

Um die Funktionsweise zu verdeutlichen, zeigt die folgende Schaltung beispielhaft die Ansteuerung für eine Spalte (Column) und die Auswertung für eine Zeile (Row). In der Realität müsst ihr euch dieses System natürlich jeweils achtmal nebeneinander vorstellen.

So arbeitet die Logik am Beispiel des Kontakts 15:

Der Mikroprozessor führt ein ständiges „Strobing“ durch. Sobald Punkt „A“ im Spaltenschaltkreis 1 auf Low (nahe 0 V) wechselt, ist diese Spalte aktiv. Schließt nun der Kontakt 15, wird das Low-Signal auf die Zeile 5 übertragen. Dadurch sinkt die Spannung am „+“-Eingang des Komparators (LM339) unter die Referenzmarke von +5 V, was seinen Ausgang „D“ ebenfalls auf Low zieht. Sobald der Kontakt öffnet, steigt die Spannung am LM339 wieder über +5 V, der Ausgang geht auf High und die Zeile gilt als inaktiv.

Kurze Erläuterung zum Verständnis der Schaltung:

  • Strobing: Der Prozessor geht nacheinander alle Spalten durch (er setzt sie kurzzeitig auf Masse/Low).
  • Matrix: Nur wenn genau in dem Moment, in dem eine Spalte „aktiviert“ (auf Low gezogen) wird, auch der Kontakt in dieser Spalte gedrückt ist, kann der Strom über die Diode zur Zeile fließen und dort das Signal am Komparator (LM339) ebenfalls auf Low ziehen.
  • Logik: Der Mikroprozessor kombiniert diese Informationen blitzschnell: „Ich habe gerade Spalte X auf Low gesetzt und registriere jetzt an Zeile Y ein Low-Signal – folglich muss der Kontakt am Schnittpunkt (X, Y) geschlossen sein.“

Diagnose am CPU-Board: Liegt der Fehler auf der Platine?

Wenn die Matrix Probleme macht, stellt sich oft die Frage: Liegt der Fehler auf dem CPU-Board oder „draußen“ im Gerät (Verkabelung, Kontakte, Dioden)? Mit einem einfachen Test lässt sich das CPU-Board als Fehlerquelle ausschließen:

  1. Schaltet das Gerät ein und ruft das Testmenü „T.1 KONTKT SCHLST.“ (Switch Edge Test) auf.
  2. Zieht erst jetzt im laufenden Betrieb die Stecker J212, J206, J208, J205, J207 und J209 im unteren Bereich des CPU-Boards ab.
    Hinweis: Würdet ihr das Gerät mit bereits gezogenen Steckern starten, erscheint eine Fehlermeldung und die Kassentürtasten zur Menüsteuerung wären ohne Funktion.
  3. Sind alle Stecker entfernt, darf im Display kein geschlossener Kontakt mehr angezeigt werden. Erscheint trotzdem ein Quadrat (geschlossener Kontakt), liegt ein Defekt direkt auf dem CPU-Board vor (z. B. ein defekter LM339 oder ULN2803).

Alle Stecker im unteren Bereich sind gezogen

Der Anschluss J207 entspricht den Spalten (Columns) 1 bis 8 (Pins 1-7 und 9 am Anschluss)
Der Anschluss J209 entspricht den Zeilen (Rows) 1 bis 8 (Pins 1-5 und 7-9 am Anschluss)
Die Anschlüsse J207/J206 sowie die Anschlüsse J209/J208 sind parallelgeschaltet.

In der Kontaktmatrix auf dem DMD darf kein geschlossener Kontakt anzeigt werden!
Jeder offene Kontakt wird durch einen Punkt dargestellt. Geschlossene Kontakte sind als Quadrat (mit offener Mitte) gekennzeichnet.

Manuelle Prüfung der Ein- und Ausgänge am CPU-Board

Um die gesamte Logik der Platine zu prüfen, könnt ihr die Kontakte manuell simulieren.
Hierzu eignet sich ein einfaches Dupont-Testkabel (2,54 mm, Female/Female):

  • Verbindet eine Seite des Kabels mit J207 Pin 1 (Spalte 1).
  • Tippt mit der anderen Seite nacheinander die Pins von J209 (Zeilen 1 bis 8) an.
  • Im Display müssen nun nacheinander die Kontakte 11 bis 18 als geschlossen gemeldet werden. Es darf dabei immer nur genau ein Kontakt gleichzeitig reagieren.
  • Wiederholt dies für alle Pins von J207. So könnt ihr alle 64 Kontaktpositionen durchspielen.

Sollten mehrere Kontakte gleichzeitig auslösen oder manche gar nicht reagieren, ist die Auswerte-Elektronik auf der Platine defekt.
Da wir hier eine direkte Verbindung herstellen, wird für diesen Test keine Diode in der Testleitung benötigt.

Beispiel: Testleitung von J207 Pin 1 auf J209 Pin 5 -> Kontakt 15 geschlossen

Die zugehörige Anzeige im DMD mit Angabe der Drahtfarbe

Fehlersuche mit dem Multimeter: Möglichkeiten und Grenzen

Oft werde ich gefragt, was man bei einem aktivierten Kontakt im laufenden Betrieb des Geräts mit dem Multimeter messen kann.
Die kurze Antwort lautet: Im laufenden Betrieb fast gar nichts.

Da die Abfrage eines Kontakts nur winzige 28,75 Mikrosekunden dauert und nur alle 2 Millisekunden wiederholt wird, ist ein Standard-Multimeter viel zu träge. Der extrem kurze Impuls von High auf Low wird vom Messgerät schlicht nicht registriert – die Anzeige zuckt nicht einmal. Man misst an den Kontakten fast durchgehend die anliegenden +12 V DC, auch wenn der Schaltvorgang technisch stattfindet.

Wo das Multimeter hingegen glänzt, ist die Messung am ausgeschalteten Gerät:

  • Durchgangsprüfung: Prüft den elektrischen Widerstand der Kontakte bei Betätigung.
  • Diodentest: Die Dioden an den Kontakten müssen in Durchlassrichtung einen Spannungsabfall von ca. 0,5–0,6 V anzeigen und in Sperrrichtung komplett blockieren.
  • Verdrahtung: Ihr könnt die Leitungen von den Steckern (J207/J209) bis zu den Kontakten auf Durchgang prüfen.
  • Kurzschlüsse: Bei abgezogenen Steckern (J207/J209) lässt sich leicht prüfen, ob Drähte untereinander Berührung haben oder ein unerwünschter Schluss nach Masse vorliegt.

Die Übersicht der Kontaktmatrix im Handbuch eurer Geräte (wie oben am Beispiel des White Water gezeigt) ist dabei euer wichtigster Wegweiser. Sie verrät euch die Drahtfarben unter dem Spielfeld. Ebenfalls findet ihr eine Übersicht der Einbauorte der Kontakte im Handbuch. Mit diesen einfachen Mitteln lassen sich die meisten Probleme in der Matrix schnell und gezielt lösen.

Ich hoffe, dieser tiefe Einblick in die Technik hilft euch bei der nächsten Fehlersuche und vermittelt ein besseres Verständnis für die faszinierende Logik unserer Flipperautomaten.

Viel Erfolg beim Basteln!


Holger vom FlipperEck (März 2026)

Alle Informationen sind nach bestem Wissen und Gewissen erstellt worden. Die Autoren der Webseite übernehmen keinerlei Haftung oder kommen für Schäden auf, die durch Nutzung der bereitgestellten Informationen entstehn.
Sollten ihr Fehler in den Beschreibungen entdecken, könnt ihr uns gerne über info@flippereck.de kontaktieren.