DPO 2007
DPO 2007
DPO 2007
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Mijn eigen flipperkast maken: Book of Kells<br />
Deel 4: Het testen van Elektronica<br />
Augustus 2005, nadat het oude interface board niet bleek te<br />
werken zag ik het een paar maanden somber in. Ik wist niet<br />
waarom het niet werkte, en ik wist ook niet hoe ik 2 lijnen<br />
van de parallelle poort had opgeblazen. Ik had al een tijdje<br />
een idee voor een nieuw interface board. De eerste werkte<br />
(niet eigenlijk) met LM339 IC’s. De tweede had ik bedacht met<br />
mosfets. Een redelijk simpel ontwerp. KIS: Keep It Simple. Het<br />
tweede board heb ik bewust na mijn vakantie gemaakt, ik had<br />
geen zin om teleurgesteld de vakantie door te brengen.<br />
Bij het testen van het nieuwe board<br />
bleek alles te werken. Inclusief de<br />
lijnen van de parallelle poort die niet<br />
werkten. Hoe dit kon weet ik niet, ik<br />
zal fout hebben gemeten, hoewel ik<br />
het zo zeker wist. Ik weet het anders<br />
ook niet.<br />
Hiernaast een foto van het werkende<br />
interface board.<br />
Feature lamps<br />
In de tussentijd had ik het hele programma om gegooid.<br />
Doordat ik niet wist waarom het destijds niet werkte had ik in<br />
het programma heel direkt de pinnetjes van de parallelle poort<br />
aangestuurd. Dit kwam nu wel goed uit. Ik kon nu gewoon<br />
direkt de IC’s aansturen om te kijken hoe ik dat moest doen.<br />
Gewoon hard-coded lampje nummer 6 van board nummer 1<br />
aansturen. Na een middag werkte het al……<br />
In het programma houd ik een matrix bij, voor elk lampje<br />
een bitje in een byte. Is dat bitje 1 dan moet hij aangestuurd<br />
worden, en een 0 niet. Tevens zijn er 2 functies, voor het userprogramma<br />
om die bitjes aan en uit te zetten.<br />
Spoelen<br />
Vergelijkbaar met de lampjes, alleen dan dat er 1 spoel<br />
tegelijkertijd aangestuurd kan worden. Dat zit hem in de<br />
elektronica. Zoals eerder gezegd gebruik ik de printen van een<br />
oude Bally, en die zitten nu eenmaal zo in elkaar. Ik kan niet<br />
meerdere spoeltjes tegelijkertijd aansturen. En dat is ook niet<br />
echt nodig.<br />
Wat wel belangrijk is zijn de “fast acting coils”. Spoelen die<br />
direkt moeten reageren. Neem bijv. een bumper: die moet<br />
reageren zodra de bal er tegenaan komt, en niet iets later.<br />
Dat voelt traag aan. Het zelfde geldt voor de slingshots. Ik<br />
heb in het programma een functie zitten die eerst de switches<br />
uitleest, en als er een bumper geactiveerd moet worden doet<br />
hij dat ook direkt daarna. De switches worden op een nuldoorgang<br />
van de spanning uitgelezen (die interrupt-pulsjes….)<br />
en op diezelfde nuldoorgang wordt de spoel aangestuurd.<br />
Overigens moeten ook die “fast acting coils” op de eerste paar<br />
uitgangen van het aansturende IC worden aangesloten. Het<br />
programma begint bij 0 en gaat door tot 15 (en dat 2 keer<br />
vanwege de 2 solenoid drivers). Het eerste spoeltje wat moet<br />
worden aangestuurd wordt ook als eerste aangestuurd (als<br />
er 2 tegelijk worden aangestuurd gaat er 1 voor). Dus als<br />
er een saucer op uitgang 0 zit, zal die prioriteit krijgen. Het<br />
programma komt hem dan als eerste tegen. Op dit moment<br />
wordt een spoel gedurende 3 interrupt pulsjes (= 30 msec)<br />
aangestuurd. Later zal blijken dat dit veel te kort is voor<br />
sommige spoelen.<br />
50 NFV Spinner Magazine, jaargang 16, nummer 4<br />
Richard Baan<br />
Interface tussen kernel en userprogramma<br />
Zoals gezegd bestaat het programma uit 2 delen: een<br />
kernel en een user-programma. Die 2 moeten ook kunnen<br />
communiceren. Ik ben bezig geweest om de communicatie<br />
tot stand te brengen. Het userprogramma kan aan de kernel<br />
vragen om de switchmatrix gegevens, of doorgeven om<br />
bepaalde lampjes en spoelen te activeren.<br />
Tevens is er de mogelijkheid om errors door te geven aan<br />
het user-programma. Aangezien de flippers ook elektronisch<br />
aangestuurd worden is het voor de PC mogelijk om de<br />
warmte te berekenen dat een spoel heeft. Zo kan er dus<br />
geprogrammeerd worden dat de flippers op halve kracht<br />
werken als de PC vindt dat de spoelen te warm zijn geworden.<br />
:-)<br />
8x8 switchmatrix<br />
Ik heb een print in<br />
elkaar gesoldeerd die<br />
een switchmatrix van<br />
8 kolommen en 8 rijen<br />
aanstuurt. Deze print<br />
heb ik aangesloten<br />
op de switches in<br />
het cabinet. Een<br />
whiteboard had ik<br />
immers nog niet. Bij<br />
het testen van de switches bleek dat de LM339 IC’s wat traag<br />
werken. De parallelle poort is zo snel dat de IC’s nog niet<br />
hebben gereageerd. Best een probleem.<br />
Eigenlijk moet ik een nieuwe driver maken om de snelheid<br />
er in te houden. Toch heb ik delays in de software gebakken.<br />
Misschien niet al te slim, maar ik kan nu wel verder. Ik houd<br />
het in gedachten als ik verder ben. Misschien maak ik dan een<br />
nieuwe switchmatrix driver met de zelfde mosfets die ik voor<br />
het interface board ook heb gebruikt.<br />
Alle printen die ik heb gemaakt zijn op experimenteer-printen<br />
gesoldeerd. Niet het meest nette, maar het werkt eerste klas.<br />
Ik zou voor elk printje iets kunnen etsen, en dat was ik in<br />
eerste instantie ook van plan, maar ik laat het zo. Het werkt<br />
uitstekend en ik vind het niet zo’n uitdaging om zoiets te<br />
maken. Ik heb wel al de spullen in huis, dus het kan zo……<br />
Flippers<br />
De flippers worden<br />
elektronisch<br />
aangestuurd. Wel zo<br />
leuk, en geeft toch<br />
een stuk minder<br />
storingen met oog op<br />
EOS switches (Endof-Stroke,<br />
dus als<br />
de flipper omhoog<br />
staat). Ook best<br />
leuk om een flipper<br />
functie te bedenken. De onderste flippers zijn voorzien van<br />
EOS switches, de bovenste niet. Ze zijn overigens een stuk<br />
krachtiger dan met de verbreek-EOS contacten zoals een oude<br />
Bally die heeft. Speelt lekker hoor…….