Hoe werkt de switch matrix van een flipperkast

Een flipperkast moet weten waar de flipperbal op het speelveld zit om ermee te kunnen reageren en punten te geven.
Dit wordt gedaan met schakelaars. Ze zitten overal op het speelveld, de flipperbal rolt erover of botst er tegen. Ze zijn allemaal verbonden met de cpu die dit registreert en actie onderneemt: een spoel wordt geactiveerd, punten opgeteld, geluid of animatie wordt afgespeeld, enz.

In dit artikel wordt de switch matrix op Bally / Williams WPC flipperkasten (dot matrix flipperkasten van 1990-1999) als voorbeeld gebruikt. De logica en manier van werken is geldig voor alle modellen van electronische flipperkast. Enkel de ouderere, electro-mechanische flipperkasten hebben geen matrix, daar is elke schakelaar afzonderlijk aangesloten.

Verschillende modellen van schakelaars

Op het speelveld van een flipperkast worden vanalle types van schakelaar gebruikt: bladschakelaars, microswitchen, optische en magnetische (zoals reed switches en eddy sensors). Meer informatie over hoe die allemaal werken en hoe ze af te stellen vind je in dit artikel over het afstellen van schakelaars.
Voor dit artikel maakt het niet uit over welk type schakelaar het fysisch gaat, eenmaal verbonden met de switch matrix (soms door middel van een speciale printplaat, zoals voor optos), registreren ze allemaal hetzelfde.

Geschiedenis van de matrix

De overgang van electro-mechanische flipperkasten naar modellen die door een computer aangestuurd werden, gaf de ontwerpers van flipperkasten opeens veel meer vrijheid. Spelregels en optie toevoegen had tot dan zijn fysieke beperkingen, men moest extra bedrading, relais en spoelen kwijt in de bak onder het speelveld. Daar was maar een beperkte ruime beschikbaar. Meer onderdelen zorgde er ook voor dat de kostprijs van de flipperkast steeg.
Opeens veranderde dit allemaal, nu was er geheugen en processorkracht beschikbaar. Meer spelregels waren mogelijk zonder dat de kostprijs omhoog ging, zolang men binnen de beperkingen van het systeem bleef. Dit zorgde ervoor dat ontwerpers flipperkasten konden maken met meer ingewikkelde speelvelden en spelregels.

Twee draden per schakelaar - een om hem van stroom te voorzien en een die terug gaat naar de cpu, had zijn beperking. De chips op de printplaat waren niet goedkoop, heel supersnel was heel het systeem niet, de hardware was gelimiteerd tot 8 input lijnen. Meer inputs toevoegen werd duur, nam ook veel meer plaats in beslag op de printplaat (en meer connectoren en bedrading), en zou het systeem waarschijnlijk sterk vertragen.
Om toch meer schakelaars toe te laten, werd een switch matrix geimplementeerd op alle flipperkasten met electronische aansturing.

Alle schakelaars in een matrix aansluiten was de oplossing. Elke schakelaar had geen aparte draden meer, maar zat verbonden in een tabel van rijen en kolommen.
Zo kan men met minder inputs en outputs toch een groot aantal schakelaars uitlezen. De eerste generatie van electronische flipperkasten (Bally, Stern, Gottlieb System 1) hadden een 5 op 8 matrix, die zo 40 schakelaars toeliet.
Nieuwere modellen hebben een 8 op 8 matrix, die 64 schakelaars toelaat (en soms is dit zelfs niet voldoende). Dit allemaal door maar gebruik te maken van 8 inputs en 8 outputs.

Hoe werkt de switch matrix

In de handleiding van elke flipperkast staat de switch matrix, alle schakelaars staan er netjes in rijen en kolommen onderverdeeld, met extra informatie over de gebruikte draadkleur.

pinball switch matrix
Switch matrix van de Cirqus Voltaire flipperkast, zoals in de handleiding.

In de foto hierboven zie je de switch matrix van de Cirqus Voltaire flipperkast. Negeer de meest linkse en rechtse kolommen (dedicated ground switches and flipper grounded switches) want deze maken geen deel uit van de matrix.
In het midden zie je de 8 op 8 switch matrix. Bovenaan staan 8 kolommen, allemaal hebben ze een groene draad die met extra kleur is gemarkeerd (bruin, rood, oranje).
De aAcht rijen hebben witte draden (eveneens met extra kleurtje om ze uit elkaar te houden).

Het is heel belangrijk dat je dit concept begrijpt. Beide draden op een schakelaar gaan niet samen naar een andere schakelaar, enz. Ze gaan ook niet direkt terug naar de cpu printplaat.
Elke draad is doorverbonden naar een andere schakelaar.
Als voorbeeld, neem de wit-bruine draad van rij 1. Deze gaat eerst naar 'backbox luck' (nummer 11). Dan naar de 'slam tilt' (21), 'through eject' (31), en zo verder.
De draad van de kolom (groen-bruin) die ook start bij nummer 11 'backbox luck', gaat op zijn beurt naar de andere rijen in die kolom: 'wire ramp enter' (12), 'start button' (13), .. en komt nooit meer ergens samen bij een andere schakelaar met de wit-bruine draad van rij 1. Elke schakelaar is verbonden met een unieke combinatie van rij en kolom draden, die zijn locatie in de switchmatrix bepaalt.

Zoek je een fout in de switchmatrix, dan is het belangrijk dat je steeds dit schema bestudeert om een goed idee te hebben hoe elke draad loopt. Fouten zoeken zonder deze informatie en proberen van de draden onder het speelveld te volgen is enorm tijdrovend.

Hoe weet de flipperkast nu welke schakelaar open of gesloten is ? De cpu gaat ze heel snel af - om beurt zet hij 1 kolom aan en leest hij de status van elke rij.
Stel dat de cpu kolom 2 aan zet. Kolommen hangen aan de output, electriciteit stroomt door de draad (te beginnen vanaf de bovenkant van de kolom in de switch matrix). Wanneer een of meerdere schakelaars gesloten zijn, maken ze verbinding met hun rij. Via de draden van de rijen gaat de spanning terug naar de cpu (links op het schema). De cpu leest deze uit en weet op welke rij een signaal terugkomt.
Nu leest de cpu de volgende kolom: spanning op kolom 2 wordt afgezet, op kolom 3 aangezet, en opnieuw wordt de status op elke rij uitgelezen. Dit gebeurt heel snel, vele malen per seconden. Zo snel dat geen enkele sluiting van een contact wordt gemist en dat het voor de speler lijkt alsof elke schakelaar onmiddellijk wordt uitgelezen.

Diodes in de switch matrix

Electrische spanning stroomt in alle richtingen. Waarom wordt enkel de gesloten schakelaar gerapporteerd, terwijl alle rijen en kolommen met elkaar verbonden zijn ?
Daar dienen diodes voor.
In het schema worden ze voorgesteld als ->|-
Een diode is een kleine electronische component die spanning in een richting doorlaat, maar de andere richting afstopt. Electriciteit mag enkel door in de richting van het pijltje. De component ziet eruit als een klein zwart buisje. Een zilvergekleurd streepje duid aan welke kant de spanning tegenhoudt.

diode on microswitch
Middelste microswitch heeft een diode tussen twee van zijn aansluitpunten.

Aangezien elke schakelaar een diode heeft, is hij geisoleerd van alle andere. De diode is onmisbaar. Ze moet aanwezig zijn op elke schakelaar (sommige oudere Bally en Stern flipperkasten gebruikten ze niet op schakelaars die niet samen met een andere schakelaar konden geactiveerd worden), en goed aangesloten. De meeste problemen met de switch matrix zijn te wijten aan kapotte of kortgesloten diodes. Let dan ook heel goed op wanneer je een schakelaar vervangt dat je alles correct aansluit.

pinball switch matrix diode
Cirqus Voltaire flipperkast switch matrix met diode

Het schema bovenaan stelt voor hoe de computer in de flipperkast de status van de schakelaars in de matrix uitleest. Om de tekening eenvoudig te houden heb ik enkel de diodes en het pad (de bedrading) voor schakelaars 26, 27 eb 37 getekend. Rood stelt spanning voor, blauw is een draad zonder spanning.
Kolom 2 wordt geactiveerd door de cpu. Spanning stroomt langs de kolom (rode lijn, dit is fysiek de groen-rode draad). Alle schakelaars in deze kolom zijn open. Dit zit je bij nr 26. Geen stroom gaat over het contact en terug naar de cpu (blauwe lijn op de rij).
Switch 27 is gesloten, het contact is ingedrukt. De spanning gaat nu door de diode, over het gesloten contact en zo verder op rij 7 (dit is fysiek de wit-paarse draad) en zo komt het signaal terug op de cpu.
De cpu detecteert dit signaal op switch input kanaal 7, en weet nu dat schakelaar 27 gesloten is: want er is een signaal vertrokken op kolom 2 en terug gekomen op rij 7.
Op schakelaar 37 zie je de werking van de diode. Deze schakelaar is ook gesloten, maar de diode laat enkel stroom in de andere richting door. De rode lijn stopt op diode 37 en kan niet verder. Spanning kan niet doorlopen naar kolom 3 of een andere rij of kolom.

Schakelaars testen

Om schakelaars te testen moeten we in het menu van de flipperkast, en de zelf-test voor de switchen opstarten. Alle electronische flipperkasten hebben dit. Bij oudere kasten is het heel eenvoudig: je drukt een schakelaar in, en het nummer ervan wordt in de score display getoond. Flipperkasten met alfa-numerieke scoredisplays tonen ook al de naam van de switch.
Flipperkasten met een dotmatrix scherm zijn gebruiksvriendelijker. Op WPC kasten ga je met de knopjes naar 'T.1 switch edges'.

T.1 switch edges selftest
T.1 Switch edges selftest.

Op het scherm zie je een visuele voorstelling van de switch matrix, net zoals deze in de handleiding gedrukt is.
Elk puntje stelt een switch voor. Gesloten schakelars zijn een vierkantje.

T.1 switch edges selftest active switch
Een switch indrukken in de switch matrix zelftest.

Druk je nu een schakelaar in op het speelveld, dan zal de computer dit registreren en op het scherm tonen.
In de foto hierboven is switch 27 ingedrukt. De kleuren van de bedrading worden ook aangegeven.. heb je geen handleiding dan biedt dit je iets van informatie.

In deze switch edges test (T.1), kan je elke switch op het speelveld indrukken. Ze moeten allemaal correct registreren, en telkens mag maar 1 weergegeven worden.

Weet je niet waar alle switches zich bevinden, neem dan je handleiding erbij. In de handleiding van elke flipperkast, ook van de oude electronische, staat er een 'switch layout'. Dat is een tekening van het speelveld met daarop de positie van elke schakelaar.

De problemen die je met schakelaars kan voorhebben en hoe ze op te lossen, dat lees je in een volgend artikel..