When I started working on this machine, I had a pretty simple power system. 3V for my boards, 5V for the RPi. Both coming from an ATX PSU. 25V for solenoids from an old gottlieb transformer. Power switch turned everything off, as normal, and I added an extra switch inside to cut the high voltage if necessary. A few early mishaps with coils locking on while the playfield was down made me realize the high votlage switch inside wasn't that easy to access, so I added a secondary power switch on the bottom for the high voltage. Very useful, I recommend that for any homebrew... Then I added 12V for the screen. And then 12V for the audio amp. Then another 3V line for the mini displays. And another 5V line for the LEDs. And another 5V line for the second RPi to power the mini displays. And another 12V line for the light strips. Each of these had its own fuse, etc, all coming from the ATX PSU. Luckily I designed a power splitter for the ATX-24 connector that could support all that, which has somehow managed to be future proof enough to keep me going and keep everything vaguely organized. Then I had to move each Pi to its own separate supply, due to noise issues coming into the amp.
However, there's a problem with that. I have three separate processes across my two Pis that currently need to be manually started, as I haven't made them automatic yet, and they sometimes need some massaging. My Pi also has a weird issue where about 1/4 times you power it on the OpenGL drivers just... won't work. I can't find any solution for it, so my only real option is to just repeatedly reboot the Pi and restart the processes until they work. Plus I have another weird issue that I've never been able to track down where the Pi won't boot if the cabinet switch matrix returns are connected. Can't figure out what could be causing that, and I'm hoping that a new MPU board revision will magically fix it. But in the meantime it means that, when I turn the machine on, I need to first reach in and unplug a connector, wait 5 seconds, then plug it back in. Then I walk over to my computer, SSH in, start all my code. If the driver is dead, I need to reboot, then pull the connector again. Sometimes this can end up being a 5-10 minute ordeal. My solution? Just don't turn the game off! So instead I reach in and unplug the LED power supply, light strip power supply, and mini display power supply. Then I grope around and find the power button on my screen and turn it off, and then I reach under and kill the high voltage. Game now appears 'off', but the Pis are still running. Easier, but it still leaves me in a situation where sometimes I avoid playtesting my own game because it's too much of a pain to turn on! So that had to stop. I realized that, in the end, all the systems I want to turn off are coming through the ATX supply, and my Pis are on their own supplies, so really I just need to turn the ATX off. If I'd planned this from the beginning I probably would just install a third power switch, but I don't feel like taking everything apart again to do that. So instead, I replaced my internal HV switch (which I never use anymore) with two extra 'service' outlets, and plugged the Pis directly into them. So now the Pis are just 'always on' as long as the game is plugged in, which is fine with me. Meanwhile I have a primary power switch which kills everything in the game except the Pis, and an extra switch to turn the HV off if needed. Much better
blog comments powered by Disqus