Thursday, June 29, 2017

"The Black Knight Rises" - Week 5 Progress

Though The Black Knight Rises missed the show, the work must go on...

Days 29 & 30 - Saturday & Sunday at the 2017 SFGE:
For me, one of the best things about attending the Southern-Fried Gaming Expo is hands-on time with hundreds of machines, including some custom machines.  Sure, I was having fun playing, but this was also work, research to be specific.

As I would play each game, I would make note of any unique features, not just from a playfield design standpoint, but more importantly from a software capabilities standpoint.

For example, I got to play American Pinball's freshly assembled Houdini.  At one point during gameplay, I triggered a mirrored and reversed flipper mode, in which the right button controlled the left flipper, and vice-versa, plus the flipper bats stayed in the upright position, and you had to press the buttons to lower them, releasing to hit the ball.

With a few lines of code, I could certainly add such a routine to the Chameleon Pinball Engine.

It was also a treat to see under the hood of Scott Danesi's most excellent Total Nuclear Annihilation custom pinball machine.  I learned some simple things, like how a drop target can be both raised and lowered by adding a second solenoid to "hit" the target and make it drop, and that there is a stock Williams flapper style one-way ball gate that includes a solenoid to raise the gate, opening a passageway to both directions of travel.  Scott also has developed his own Computer Startup and Shutdown Controller, allowing the standard power switch on the bottom of a cabinet to directly, and safely, power cycle a PC.

I came home with a mind overflowing with ideas, and it will take a while to work through them.

Read on for the rest of this week's progress...



Day 31 - Monday:
I finally rested.  Well, and wrote in this blog.

Day 32 - Tuesday:
While my CNC router has been nothing but problems, my Original Prusa i3 Mk2 3D printer has been beyond amazing.  It finally occurred to me that perhaps I could simply print the speaker/DMD mounting panel, instead of routing it from MDF.

The panels dimensions, at 6" high by 26" wide, extend far beyond the build plate of the Mk2, at 9.8" x 8.3".  I would have to divide the print into 3 smaller sections and assemble later.  Since I already had my 2D CAD model, it was quick and easy to recreate it in 3D on the TinkerCAD website.

Within an hour the 3D printer was churning away the first segment.

3D printing the left speaker mount.  With a 20% infill, the entire assembly should weigh less than a pound.

While the printer was doing its job, I pulled out the Chameleon Power Drivers to do some more testing.  I had the 5 additional boards that I had baked the previous week that were ready to be tested - perhaps one of these would work.  In the back of my mind, a familiar itch told me I was still missing something obvious.

The five power drivers weren't completely assembled.  Solder paste had been applied, the surface mount components positioned on the paste, and the boards baked.  But the fuse holder, power connections, and big daddy MOSFETs were all through hole components that needed to be hand soldered.  Thinking this was a perfect opportunity to isolate components for testing, I soldered on the fuse holders and power connections, but left the MOSFETs off for now.

On the test bench I hooked up the 38v solenoid power supply, and the 5v signaling power supply.  With my multi-meter, I probed the voltage at the MOSFET Gate connection.  As I manually triggered the channel, I watch the voltage drop from 38v, indicating that the first and second stage transistors were working perfectly as designed.  The problem, it seemed, must be with the MOSFET.

I inserted a MOSFET into the power driver and continued to test.  No matter what I did, it continued to remain in the "On" state.  Maybe I had it in backwards?  Rotating the MOSFET around, it now steadfastly remained in the "Off" state.   I ignored the itch telling me I had seen this before, and thought to myself that the MOSFETs were bad.

I tested several more, and each behaved the same way.  How in the world had I received a bad batch?

I gave up for the day, pushing the familiar thoughts away.


Day 33 - Wednesday:
The first 3D printed speaker mount took nearly 11 hours to print.  I woke up to find this waiting for me:

The left side speaker mount finished printing successfully.
I immediately did a little cleanup and placed the part in the backbox to check alignment and sizing.  Satisfied, I started printing the mirror image for the right side.

Checking alignment, the speaker mount fit nearly perfectly - good enough to continue without tweaks.

Next I turned my attention back to the Chameleon Power Driver.  I visually compared a working MOSFET to a miscreant.  The part ID matched, but there were lots of other little numbers and letters printed on the package, what do those mean?  Examining the data sheet, these indicated production year and week, manufacturing line, and a lot number.  Obviously, these MOSFETs had been made on different lines, years apart.  Did the specs change?  The data sheet didn't reveal anything unexpected.

While the problem still seemed familiar, I certainly never had a bad components before, so this seemed unlikely.  I needed to do more thorough testing.  I pulled out my prototyping board, last used years ago, and to my surprise I still had the exact same power driver circuit configured on the breadboard.  How convenient.

Before I began testing, I traced through the entire circuit making sure everything was right.  While it seemed mostly right, I thought it odd that I had the fuse holder on the output side of the MOSFET, instead of the input side.  It was almost as if I had wired it backwards...

Immediately my brain lit up - the itch was being scratched into oblivion - and a memory long forgotten returned to me.  Now I remembered that I had two versions of the same power driver board.  The memory became clearer in the passing moments, and I could recall that when I received the first shipment of power driver boards, they had the same issue.  I had traced the problem to a couple reversed pins on the MOSFET.  Because it was expensive to have boards manufactured, I struck a deal with the company to have them made again at a discount, reusing the same silkscreens and drill patterns, just replacing the copper layer with the corrected traces.  Visually, the replacement boards looked almost indistinguishable.

Holding the boards at an angle and following the trace lines through the silkscreen, I could barely make out the trace coming from the center pin on the MOSFET.  On the working board, this went to the solenoid connection, but on the bad board, it went to the power supply.

Bad PCB on the left, good on the right.  Can you spot the difference?  Don't feel bad, neither could I...
 In my haste to be ready for the SFGE, I had grabbed PCB's from the wrong box.  This is also one of the challenges of putting such a complex project on hold for a couple years - you simply forget some of the important details.

For the first time in a week, my brain fully relaxed.  The mystery was solved, and it was a simple, obvious mistake, just as I expected.  I should have labeled the bad boards as defective.  Where's my Sharpie...


Day 34 - Thursday:
I finished printing the other speaker mount, and almost successfully printed the middle DMD support brackets.  This last print failed just short of completion when thunderstorms rolled through Atlanta and the power blinked just long enough to reboot the printer.  Considering that these print jobs are taking 10+ hours, I really should have the printer on a UPS.

First try at printing the middle section:  the "tongues" were too large to fit into the groove in the outside panels.  Reprint...

Luckily the print was far enough along for me to check fitment.  While the width was perfect, I found that the "tongues" on the middle section were a hair too large to fit into the "grooves" on the side sections.  After a quick adjustment in the design software, I left it to reprint overnight.


Day 35 - Friday:
Today I head out to the beach for a hard-earned summer vacation.  In between packing and loading the car, I spare a few minutes to check out the new 3D prints.  This time, everything fits perfectly... well, almost.  Seems I didn't account for the cabling pass-through when I added the middle screw mount.

The middle screw tab won't work with the cabling pass-through - doh!  I'll cut it off instead of reprinting.

I'll simply cut it off, as it doesn't seem necessary.  The three sections fit together tight enough even without glue, and since I plan to epoxy the sections together the entire assembly should be very stable without the additional screws.

I did a quick test fit of the speakers and the DMD panel.  Everything fit perfectly.  The upper slot is for the monitor buttons.

I went ahead and mounted the speakers and test fit the DMD panel, and was happy to find that everything fit perfectly.

Before final installation, I'll paint it flat black so that the mount isn't visible through the acrylic panel.

Amazing little 3D printer, dwarfed by the new speaker/DMD mount.

Week 5 Complete - Time for a break:
After the first four weeks, working up to 16 hour days 7 days a week trying to finish the project (while holding down a day job, no less), week 5 was a blessing.  I didn't accomplish much on the project, mostly I just recovered my strength.

Figuring out why the Chameleon Power Drivers were not working was huge, and really embarrassing when I discovered that the problem was using the wrong PCBs.  At least I wouldn't have to redesign again.  I'll assemble some replacements once I return from the beach.

Even better, having my trusty little 3D printer succeed where my CNC router failed is a big relief.  I was really dreading trying to fix the router once again.

I'll be back in a few weeks with the next update.

No comments:

Post a Comment