Monthly Archives: February 2014

Power supply card tested

Finished testing the power supply card and mounting the power supplies on a piece of plywood.  As mentioned before, it is four PC power supplies connected in series.  The last three power supplies have their grounds floating so that it the end power will be 48V.  The power supplies must be electrically separated since the chassis of the first supply is gnd, 2nd supply is 12V, 3rd supply is 24V, and the last supply chassis is 36V.  I plan on adding a plastic cage over the power supplies to make them a little safer.  The other option would be to take apart the power supplies and try to separate the chassis from the grounds.

If you look at the pictures there are a lot of extra power supply connectors that can be removed.  The main 24 pin connector and the extra motherboard 12V connector are used.

What’s the cost of this monster…

4 PC power supplies (just checked Amazon, and they are $10 each).  Board that ties the power supplies together ($27 and that got me 10 of the boards.  Who knows what I’ll do with the extras.)  Connectors to populate the boards (bought 75 connectors for $24 off ebay).  My total cost was about $100, with plenty of leftovers to make another 5 or 10 of these.

Here are the pictures:  First one shows the four power supplies with 48V on the DMM.  Second picture shows the card dwarfed by all the extra connectors.  Last picture shows the isolating power connector.

superpwr48v pswcard isolatedgnd


Power Supply boards received and updating python scripts

Received the power supply boards today.  (edit:  I didn’t actually post this last week, so the boards came in 1/24.  That is around 3 weeks for the boards manufacture and shipping which is incredible.)   Unfortunately I wasn’t expecting them for another couple of weeks, so I didn’t purchase the mounting brackets to mount the power supplies yet.  The mounting brackets are simple aluminum L’s that then use sheet metal screws to secure the power supplies.  (edit:  I had to hang new curtain rods yesterday and the old hardware can be re-purposed to form the mounting brackets.  Hopefully I will have some time today to screw it together.)  The power supply boards allow four standard PC power supplies to be tied together to form a 48V supply at around 20A.  The board also outputs the power onto a single molex connector so that the power can easily be moved from the bottom of the pinball cabinet to the bottom of the playfield.  That should be more than enough power to power any of the solenoids that I need to on Disaster or even Camelot at this point.  It also has spade connectors for ease of connection.   Since I have 10 of the cards, I can simply use one card to tie all the power supplies together, then a second card under the playfield to connect to the solenoids using the spade connections. In that way, a single connector can easily disconnect the the playfield so that it can be removed.  (No more bundle of 100 wires that needs to be removed).  Here some pictures including the power splitter.   Since the power supply grounds need to float (after the first power supply in series), you have to disconnect the ground pin.  These power supply splitters can be bought anywhere for about $2 or $3 and if you remove the two screws to take it apart, there is a separate piece of copper that connects between the ground pins.  Remove that piece of copper and the power supplies are suddenly floating.  I feel it is a much better solution than modifying the inside of the power supply.


The cards also contained a raspberry pi shield and an RS232 interface card.  When trying to separate the two cards, I destroyed one of the shields.  Arrrgghhh! Luckily I have 9 others.  I learned that when you score the cards to break the apart, you really need to score both sides of the card.  FR4 is really tough stuff.  That annoyed me, but it really didn’t matter.  I don’t have the parts to populate those two cards, so I’ll need to make another order from Mouser to get those parts.  (I also found a band saw with a metal blade at work, so I might use that to separate my cards from now on).

Started rewriting the python sample machine that I wrote a week and a half ago.  The first script was really just proving out the concept and making sure that everything was working properly.  The next version of the script breaks the different functions down into different “modules” to make reading the code a lot easier.

The new version of the script also breaks many of the parts into threads and interfaces.  The threads do the real work.  There is a thread that updates the displays, a thread to communicate with the hardware, and a thread that runs the game rules.  Since these have been separated, it makes sure that if one of the threads takes too much processing, the rest of the threads will continue without slowing down.  (Basically good design practice).  The second part is adding clean interfaces so that if somebody else wanted to write a game ruleset, they would only change one or two of the files, and wouldn’t need to change any of the communication or display python code.  Again, just good design practice.

The prototype code that I did for Joe was really dirty and just proof of concept.  The new code doesn’t do much more, but it is much cleaner.  It is a good example of the difference between prototype code and production code.