8 minute read

Project Test Case

Het afgelopen jaar hebben mijn vader en ik gewerkt aan het bouwen van een aantal zogenoemde Test-Cases. Een Test-Case is geen flipperkast en ook geen mod voor een flipperkast. Maar het heeft wel alles te maken met flipperkasten. Maar wat is een Test-Case dan wél?

Een Test-Case is een plexiglazen doos met dubbele houten bodem. In de plexiglazen doos zitten één of meerdere flipperkastonderdelen, zoals bijvoorbeeld flippers, droptargets of EM-puntentellers. In de houten bodem zit de elektronica en aan de voorkant van de bodem zit een aantal arcadeknoppen. De knoppen kunnen worden gebruikt om de onderdelen in de plexiglazen doos te bedienen.

Advertisement

Het idee om een Test-Case te maken hadden we al langer. Een deel van de inspiratie kwam van het project Fun With Pinball. Het doel van een Test-Case is mensen laten zien hoe flipperkastonderdelen werken. Wat we dus anders wilden doen was zo veel mogelijk rondom de flipperkastonderdelen van transparant plexiglas maken. Daarnaast wilden we de Test-Cases geschikt maken voor publieke ruimtes, zoals beurzen en musea.

Prototypes Eind 2020 begonnen we aan de eerste prototypes. Deze prototypes hadden nog niet zoveel te maken met een “case”, maar des te meer met “test”. Eigenlijk waren het alleen maar mini-speelvelden met wat elektronica op een plankje ernaast. De speelvelden heeft mijn vader gemaakt van plexiglazen platen uit oude lcd-monitoren. Daarin zitten, zeker in de oudere modellen, dikke plexiglazen platen om het licht van de backlight over het scherm te verdelen. Het nadeel is dat deze platen niet volledig transparant zijn, er zit een soort patroon in om het licht te breken. Een ander nadeel is dat de platen sneller breken omdat ze van geëxtrudeerd (XT) plexiglas zijn gemaakt, dit in tegenstelling tot gegoten plexiglas. De elektronica voor het eerste prototype bestond uit een Arduino Uno (opensource computerplatform, bedoeld om microcontrollers eenvoudig te maken) in combinatie met twee eerder ontworpen solenoid-drivers en een kleine switch-matrix. De elektronica was een overblijfsel van een andere testopstelling die wat meer leek op een echte flipperkast. De elektronica van het tweede prototype bestond ook uit een Arduino Uno, met dit keer een PCA9685 led-driver erbij.

Controller Speciaal voor de Test-Cases heb ik een controller ontworpen. De controller bestaat uit een enkele printplaat (PCB) van tien bij tien centimeter. Omdat een Test-Case ongeveer dezelfde dingen moet kunnen als een flipperkast lijkt de controller die ik heb ontworpen ook op de elektronica die je tegenkomt in een flipperkast. De controller is alleen kleiner en iets moderner.

Onderdelen Het brein van de controller is een ATmega328P microcontroller. Dit is dezelfde microcontroller als die gebruikt wordt voor de Arduino Uno. Het voordeel hiervan is dat de controller met de Arduino-software geprogrammeerd kan worden.

Voor het aansturen van de leds heb ik een PCA9685 PWM led-driver gebruikt. Deze driver heeft zestien PWM-kanalen die ieder een led of MOSFET kunnen aansturen. PWM staat voor Pulse Width Modulation en is een techniek om de aangesloten leds te kunnen dimmen.

De zestien PWM-kanalen van de led-driver zijn verdeeld in acht kanalen voor leds en acht kanalen voor IRL540 MOSFETs. Een MOSFET is heel simpel uitgedrukt een schakelaar. De MOSFETs worden gebruikt om de spoelen aan te sturen. Ook de MOSFET kan met PWM “gedimd” worden om een spoel minder krachtig te maken.

Verder zit er op de controller een vier bij vier switch-matrix, waarmee zestien schakelaars uitgelezen kunnen worden. De rest van de ruimte op de controller wordt voornamelijk ingenomen door connectors om alles aan te kunnen sluiten.

Ontwerp De printplaat heb ik ontworpen met KiCad. KiCad is een CAD-programma voor het ontwerpen van printplaten. Het ontwerpen van een printplaat begint met het tekenen van het schema. Dit is een schema dat je misschien wel kent uit de handleiding van een flipperkast. Kort gezegd beschrijft een schema hoe de onderdelen op een printplaat aan elkaar verbonden zijn.

Daarna moeten footprints aan de onderdelen toegekend worden. Een footprint beschrijft hoe een onderdeel er op de printplaat uit ziet. Dus hoe groot het onderdeel is, waar welke pinnetjes zitten en waar eventueel gaten in de printplaat geboord of gefreesd moeten worden.

Een compleet schema met toegekende footprints levert een zogenaamde netlist op.

“De eerste drie Test-Cases zullen te zien zijn in het Dutch Pinball Museum”

De elektronica van een prototype Eén van de eerste prototypes

Een netlist is een bestand waarin vastligt welk onderdeel welke footprint heeft en hoe dit is verbonden aan de andere onderdelen.

Met de netlist kan de printplaat zelf ontworpen worden. Hiervoor wordt de netlist weer ingelezen en op basis daarvan worden alle footprints ingeladen. De footprints kunnen daarna naar de gewenste plek verplaatst worden. Daarna kan je de koperspoortjes tekenen die op de printplaat moeten komen.

Het schema tekenen gaat snel, zeker als je weet wat je wil. De meeste tijd was ik kwijt aan het indelen van de printplaat. Dit is een proces van dingen proberen en weer opnieuw proberen als iets niet past of niet helemaal goed uitkomt.

Assemblage De printplaten hebben we laten maken bij JLCPCB. Omdat ik een aantal SMD-onderdelen heb gebruikt in dit ontwerp hebben we er ook een rvs-stencil bij laten maken.

Het in elkaar zetten van de controller begon met het solderen van de SMD-onderdelen. SMD staat voor Surface-Mounted Device. Dit betekent dat het onderdeel geen pootjes heeft die door de print heen steken, maar dat het onderdeel met soldeer aan het oppervlak (surface) “plakt”.

Voor het solderen van de SMD-onderdelen heb ik soldeerpasta gebruikt. Soldeerpasta bestaat uit flux met daarin balletjes soldeertin. Het rvs-stencil gebruik je om de soldeerpasta aan te brengen op de printplaat. Het stencil is niks meer dan een plaatje rvs met gaten op de plekken waar het soldeerpasta aangebracht moet worden.

Na het aanbrengen van de soldeerpasta kunnen de SMD-onderdelen op de print gelegd worden. Deze blijven een beetje plakken aan de soldeerpasta en blijven zo op hun plek zitten. Het solderen met soldeerpasta moet met hete lucht. Hiervoor heb ik een heteluchtsoldeerstation gebruikt. De hete lucht smelt de balletjes soldeertin in de soldeerpasta en solderen daarmee de onderdelen vast.

Na het solderen van de SMD-onderdelen heb ik de ISP-connector op de printplaat gesoldeerd. ISP staat voor In System Programming. Deze connector zorgt ervoor dat ik een programma op de microcontroller kan zetten om hem te testen.

Na het testen van de microcontroller konden de thru-holeonderdelen op de printplaat gesoldeerd worden. Dit zijn de MOSFETs, elektrolytische condensatoren en alle connectors.

Terwijl ik werkte aan het ontwerpen van de controller, werkte mijn vader verder aan de kast en de speelvelden die in de kasten moesten komen. Een deel van het schema in KiCad

Het PCB in KiCad

Detailfoto van de onderdelen liggend op soldeerpasta

Dubbele bodem De houten dubbele bodem is een houten bak met een schuine voorkant. Op de voorkant zit een aantal arcadeknoppen. In de bodem zitten verder nog de controller, een 24-volt-voeding voor de spoelen en een 5-volt-voeding voor de elektronica en leds.

In de eerste versie van de bodem zat de elektronica op een plank die er als een lade in schoof. Dit leverde problemen op met de draden die mee moesten bewegen en onderweg ergens tegenaan kwamen of ergens achter bleven hangen.

Hierna heeft mijn vader de bodems aangepast zodat we de elektronica onder de bovenkant konden monteren. Dus als de Test-Case rechtop staat hangt de elektronica op z’n kop.

Plexiglas doos De plexiglas doos bestaat uit vijf plexiglazen platen. De uitdaging was om de platen netjes aan elkaar te bevestigen. Hiervoor heeft mijn vader eerst geprobeerd de platen te lijmen. Dit bleek zwak en was te zien rondom de naden. Later hebben we besloten toch maar schroeven te gebruiken. Al bleek het boren van de schroefgaten ook een uitdaging omdat de platen niet zo heel dik zijn. Speelvelden Het ontwerpen van de speelvelden bracht een aantal uitdagingen met zich mee. De eerste was ervoor zorgen dat de bal altijd terugkomt bij de flipper. Omdat de ruimte in de Test-Case beperkt is, is er geen ruimte voor een ball through. De bal mag daarnaast ook niet ontsnappen als de flipper omhoog staat. Daarbij komt dat natuurlijk wel alle andere onderdelen op het speelveld geraakt moeten kunnen worden Van elk speelveld bestaat daarom ook een prototype van een stuk oud plexiglas. Wanneer je een transparant speelveld maakt wil je zeker weten dat alles klopt. Want een verkeerd geboord gat opvullen en verbergen is er niet bij als alles transparant is. Software Op het moment van schrijven is de volledige software voor de controller nog niet af. Voor het scannen van de inputmatrix en het aansturen van de flipper staat een eerste opzet. Daarbij komt nog code voor het aansturen van de overige spoelen, het animeren van de leds en het afhandelen van de “spelregels”. Denk bij spelregels bijvoorbeeld aan het niet kunnen resetten van een droptargetbank als alle targets nog omhoog staan. De software is open-source en zal later op Github gepubliceerd worden. De ontwerpbestanden en het schema van de controller zijn ook open-source en staan al online op Github.

De houten dubbele bodem met elektronica en knoppen erin

Een complete controller

Toekomst De eerste drie Test-Cases zullen te zien zijn in het Dutch Pinball Museum. Een daarvan bestaat uit een flipper met drie pop-bumpers, een ander bestaat uit een flipper met een drop-target-bank en de laatste bestaat uit vier Williams EM-tellers. Afhankelijk van het succes in het museum zullen we er mogelijk nog meer maken. Ideeën hebben we in ieder geval nog genoeg!

Links Fun With Pinball: https://www.funwithpinball.com Controller op Github: https://github.com/PinBus/test-case- controller-board Mijn website: https://thomas-gravekamp.nl

This article is from: