Jump to content



Photo
* * * * * 3 votes

Pinscape expansion board preview


  • Please log in to reply
285 replies to this topic

#1 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,071 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 17 October 2015 - 12:48 AM

I've been working on an expansion to the Pinscape controller, and it's far enough along that I thought I'd share the plans and see if anyone has ideas for improvements on the preliminary design.
 
The basic idea is to create a single controller board that can handle essentially all of the I/O needs of a really decked-out virtual cab.  As with the Pinscape software project, this is all open-source and DIY.  The plans will be published so that anyone can build it.
 
The existing Pinscape controller is already pretty comprehensive in terms of input functions - analog plunger, accelerometer nudge, and button encoding.  But up until now, it's been limited on outputs, because the KL25Z only has a handful of PWM ports.  To overcome that, I've designed a circuit board that uses external PWM controller chips (four TLC5940 chips) to provide a large enough set of outputs for just about any virtual cab.  The PCB design also includes power boosters for the outputs that can directly power all of the common feedback devices - no relays, amplifiers, or other booster boards needed.
 
The board has 60 outputs total, allocated as follows:
 
- 24 high-power outputs for large devices like contactors, shaker motors, gear motors, fans, replay knockers, and flipper coils.  These 24 outputs are driven by MOSFETs that can handle about 10A on each channel - way more than enough for any of the common devices.
 
- 24 medium-power outputs for flashers, strobes, and button lamps, capable of handling 1.5A each.  That's enough for up to three of the 3W RGB flasher LEDs, in parallel, on each circuit.
 
- 12 low-power outputs for 20mA LEDs, specifically for RGB flipper button lights.  I allocated 12 channels for this to allow for 4 independent RGB lights, for independent colors on the left/right flipper buttons and left/right magna-save buttons.
 
It also has a couple of special features from my own cab that I think many cab builders would find useful:
 
- One MOSFET output is time-limited to about 2 seconds ON time each time it fires.  This is specifically for the replay knocker, as protection against software faults on the PC side that leave the knocker stuck on.
 
- There's a time-delayed relay switch for turning on TVs at power-up.  The relay pulses on momentarily after a programmable delay after the power comes on.  This is useful if you have a monitor that doesn't turn on automatically when plugged in.
 
Finally, the board has pin headers dedicated to each function for easy and neatly organized wiring.  The KL25Z itself just pops into sockets on the board, so there's no wiring for that - just plug it in.
 
The Pinscape KL25Z software already knows about the new board - there's a new configuration option to send outputs through a set of TLC5940 chips.  You can use that even without the new board if you want to create your own custom hardware.  I also extended the USB protocol to accommodate the expanded number of output ports.  It's still backwards-compatible with the LedWiz protocol, so old software will still work with it and will still be able to access the first 32 ports.  I've written a DOF module that uses the new protocol to allow DOF-aware software (like Visual Pinball and PinballX) to access all 60 of the ports.  I still need to hand that off to Swisslizard, but that should be in DOF R3, so everything should just work transparently once that's available.
 
I have some estimates of what this will cost to build.  You might be able to do better by shopping around (e.g., you can get the MOSFETs cheaper on eBay).  The PCB itself looks like it'll be under $10 to fabricate in small batches, of about 10 units at a time.  Hopefully we can organize group buys as needed.  The KL25Z goes for $15.  The TLC5940 chips are unfortunately no longer stocked by Mouser.com, so you'll have to order them from eBay, where they go for about $5 for 5.  The other components (transistors, resistors, ICs) on the board add up to $65 at Mouser.  That brings the total to just under $100.  Not exactly cheap, but pretty reasonable considering that it does just about everything - it takes the place of TWO LedWiz's, booster boards for same, a button/key encoder, and a plunger/nudge board.  What's more, you don't actually have to install the full set of parts; you only have to install as many MOSFETs as you actually use, for example.  So if you're not using all of the output channels and you don't need the TV startup timer, the cost would drop a little (and you can still go back and add them in later if you change your mind).
 
Here's the PRELIMINARY set of plans.  I haven't actually fabricated this PCB yet myself, so be aware that it's UNTESTED.  I have built and tested all of the individual circuit building blocks, so I think the design is sound, but the PCB layout could contain errors that I haven't caught yet.  I'd certainly appreciate any "proofreading" that anyone has a chance to do, both in terms of the schematic and the physical layout of the board.  Definitely let me know if you spot anything amiss, like wires that aren't connected or parts that won't fit next to each other.
 
You can find the EAGLE schematics and board layout files, along with a more detailed discussion of the project, here:
 
 
Part list at Mouser.com (everything except the TLC5940 chips):
 
 
The main Pinscape software project page:
 
 
I'm going to spend some more time going over the design to make sure everything looks right, and then at some point I'll order a batch of PCBs and do a test build.  In the meantime, I'd be happy to hear any feedback about the design.

Edited by mjr, 10 November 2015 - 07:23 AM.


#2 Sneetch

Sneetch

    Enthusiast

  • Platinum Supporter
  • 287 posts
  • Location:Columbus, Ohio

  • Flag: United States of America

  • Favorite Pinball: Attack From Mars

Posted 17 October 2015 - 03:22 AM

Pretty cool.   I am not ready to tackle something like this, but think it is awesome it is an option for those who are. 



#3 vampirolatino2

vampirolatino2

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,430 posts

  • Flag: Spain

  • Favorite Pinball: Medieval Madness

Posted 17 October 2015 - 06:53 AM

Love it and will follow your design too.



#4 Nemo

Nemo

    Pinball Fan

  • Platinum Supporter
  • 1,283 posts
  • Location:Netherlands

  • Flag: Netherlands

  • Favorite Pinball: Monster Bash

Posted 17 October 2015 - 08:33 AM

Great stuff ! This is EXACTLY what i need for my cab, i was thinking to undertake a huge overhaul this winter and this

project fits in neatly :dblthumb: . And due to the poor availability of the Ledwiz here in the EU this open source project is just killer. 

 

I have Eagle installed on my devrig and will look into it later to see if there's something wrong in the rat's nest.....

 

Exciting times !


Gone fishin', no really.......

My F14 Cab http://www.vpforums....showtopic=21820

My Coffee Table http://www.vpforums....topic=25407&hl=

My Jukebox WIP http://www.vpforums....topic=23825&hl=


#5 gtxjoe

gtxjoe

    VPF Veteran

  • VIP
  • 5,060 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness, AbraCadabra



Contributor

Posted 17 October 2015 - 08:41 AM

Another great project. Good luck with the prototype

#6 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,071 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 23 October 2015 - 05:49 AM

A revised version of the design is now available (same location: http://mjrnet.org/pi...sion-board.html.  It's not too different - mostly just error corrections.


Edited by mjr, 10 November 2015 - 07:25 AM.


#7 ViriiGuy

ViriiGuy

    Enthusiast

  • Silver Supporter
  • 125 posts
  • Location:Knoxville TN

  • Flag: United States of America

  • Favorite Pinball: Pinbot, Indiana Jones, Adams Family

Posted 24 October 2015 - 03:22 PM

This is really cool!



#8 Slydog43

Slydog43

    Pinball Wizard

  • Platinum Supporter
  • 3,006 posts
  • Location:Hackettstown, NJ

  • Flag: United States of America

  • Favorite Pinball: Addams Family, All Williams 90's Games

Posted 24 October 2015 - 05:39 PM

wow, might have to start another cab project this winter, good luck with design



#9 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,071 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 10 November 2015 - 07:21 AM

More updates - I think it's converging on a final design.  

 

I decided to try rearranging things into a more modular design, which led to a configuration with two smaller boards instead of one big board.  Actually, there are two new two-board configurations, which are almost the same except for the way the two boards are attached to each other (one using cables, one using the stacking socket connectors that Arduino people use to stack multiple shields on top of one another).  

 

The main advantage of the two-board setup is that it gets the individual boards down to 10x10 cm, which is a magic size with many of the PCB manufacturers for pricing.  Some of the PCB makers have really cheap hobbyist specials on boards that fit in 10x10 or less - so cheap it can cost less to fabricate two separate 10x10 designs than a single design that's just slightly larger.  It's not a gigantic price break, and the need for extra connectors negates some of the cost savings.  The two-board setup does have some other advantages, though:  the footprint is a little smaller, especially with the vertical stacking, and it has more MOSFET outputs than the one-board design.  (Same number of outputs overall, but it's 24 Darlington + 24 MOSFET on the one board vs 16 + 32 on the two-board.  The MOSFETs are more flexible than the Darlingtons, which are limited to 1.5A.)

 

I haven't decided which version to prototype myself yet.  I'm planning to pick one of these configurations as the official "winning" version.  I'll leave all of the designs available for download, but I only plan to prototype and test one version, and more importantly I'll only want to maintain one version going forward - it's too much work to maintain several branches myself.  It's all open-source, though, so anyone is free to pick up where I left off if they like one of the "loser" versions better than whichever one I end up picking.

If anyone has input which configuration would be preferable for your setup, please let me know.

 

I moved the downloads to a new web page that I think organizes things better than a bunch of dropbox downloads.  You can find the latest downloads here, along with a more complete discussion of the trade-offs of the different design options:

 

http://mjrnet.org/pi...sion-board.html



#10 BorgDog

BorgDog

    We come in peace.. shoot to kill.. shoot to kill.

  • Members
  • PipPipPipPip
  • 1,427 posts
  • Location:Leavenworth, WA

  • Flag: United States of America

  • Favorite Pinball: Alien Star, TNA



Posted 10 November 2015 - 04:10 PM

Cool project, you are really making this a diy all-in-one solution, awesome.

 

Question, I was reading through the webpage and you mention the special knocker output with the protective time limiter.  Is it going to be possible to put that on other outputs as well?  for example in addition to a knocker I plan on adding a Gottlieb EM chime box to my next cab project and would like the same protection for each of the 3 coils in it.  I'm guessing it's just a software tweak/setting, but thought I'd ask :)



#11 vampirolatino2

vampirolatino2

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,430 posts

  • Flag: Spain

  • Favorite Pinball: Medieval Madness

Posted 10 November 2015 - 05:13 PM

Add me to the group for the pcb boards purchase. The 2 vertical 10x10 boards sounds great.

 

I have the KL25Z and a bunch of the ics, etc, but like you said, lets make this a nice little board. 2 10x10 boards vertical in this case.

 

I like the idea.



#12 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,071 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 10 November 2015 - 06:53 PM

Question, I was reading through the webpage and you mention the special knocker output with the protective time limiter.  Is it going to be possible to put that on other outputs as well?  for example in addition to a knocker I plan on adding a Gottlieb EM chime box to my next cab project and would like the same protection for each of the 3 coils in it.  I'm guessing it's just a software tweak/setting, but thought I'd ask :)

 

Interesting - I didn't think about other coils needing the same protection, but I'll bet you're right about the chimes.  The timer actually is built into the hardware, as little 555 circuit.  There's unfortunately not room for more of them.

 

I could certainly add an equivalent software timer on the KL25Z side that you could configure for any output. That would be a good feature in any case since it would work whether or not you're using the expansion board.  I went with the hardware version because I figured it's the only way to be certain - a software timer in the KL25Z would shift the risk from a software failure on the VP/DOF side to one on the KL25Z side.  The hardware timer is just an old-fashioned analog circuit, so there's less to go wrong.

 

Another thing I could look into is a little stand-alone board with just the timer circuit, for attaching to any output.  Or maybe a small board that could be added to the vertical stack with enough timer outputs for a chime box.  (They're usually three chimes, right?)


Edited by mjr, 10 November 2015 - 06:54 PM.


#13 BorgDog

BorgDog

    We come in peace.. shoot to kill.. shoot to kill.

  • Members
  • PipPipPipPip
  • 1,427 posts
  • Location:Leavenworth, WA

  • Flag: United States of America

  • Favorite Pinball: Alien Star, TNA



Posted 10 November 2015 - 07:16 PM

Yes 3 chimes.  I'm also adding a 5" bell from a Golden Arrow that is essentially a knocker inside a big bell and would like the same on that.  not sure how many other toys this might apply to, or how many people are making em based cabs that have this stuff, but flexibility is always a good thing. :)

 

Chime bars on the lower right, big bell on the left in a Golden Arrow cab.

 

goldenarrowchimeandbelllocations0.png



#14 mk47

mk47

    Hobbyist

  • Members
  • PipPip
  • 38 posts

  • Flag: Germany

  • Favorite Pinball: Spirit of 76

Posted 12 November 2015 - 02:17 PM

I started a quick poll in Germany about the preferred config to be prepared for a potential group buy. So far config 2 seems to be the most wanted one.

Therefor I asked mjr to improve config 2 a little by adding a Molex connector to the "Config 2 MOSFET Board" in addition to the stacked power connectors to simplify the wiring.



#15 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,071 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 13 November 2015 - 06:08 AM

I started a quick poll in Germany about the preferred config to be prepared for a potential group buy. So far config 2 seems to be the most wanted one.

Therefor I asked mjr to improve config 2 a little by adding a Molex connector to the "Config 2 MOSFET Board" in addition to the stacked power connectors to simplify the wiring.

 

Thanks for the information.

 

I'm leaning towards the cable-connected 10x10 myself (config 3).  I'm just not wild about the solder jumpers needed on config 2 - it seems cleaner to handle that with the cabling instead.  I also don't really like requiring the special stacking headers, since those are harder to find than the regular kind.

 

Any other votes?



#16 mk47

mk47

    Hobbyist

  • Members
  • PipPip
  • 38 posts

  • Flag: Germany

  • Favorite Pinball: Spirit of 76

Posted 13 November 2015 - 07:48 AM

 

I started a quick poll in Germany about the preferred config to be prepared for a potential group buy. So far config 2 seems to be the most wanted one.

Therefor I asked mjr to improve config 2 a little by adding a Molex connector to the "Config 2 MOSFET Board" in addition to the stacked power connectors to simplify the wiring.

 

Thanks for the information.

 

I'm leaning towards the cable-connected 10x10 myself (config 3).  I'm just not wild about the solder jumpers needed on config 2 - it seems cleaner to handle that with the cabling instead.  I also don't really like requiring the special stacking headers, since those are harder to find than the regular kind.

 

Any other votes?

 

 

Your comment caused me to think about the config options again.

On your website the jumper settings for config 3 and the need to alternately cut the most outer pin header for each layer is not yet explained in detail. If you miss to cut them, the cascade of TLC5940s will not work.

Another advantage of config 3 is that you can pre-produce multiple MOSFET boards. Using config 2 you have to take care about whether the board is the first or the second or the third one in the stack.

I think i will explain that in detail and restart the poll.



#17 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,071 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 13 November 2015 - 07:17 PM

 

 

I started a quick poll in Germany about the preferred config to be prepared for a potential group buy. So far config 2 seems to be the most wanted one.

Therefor I asked mjr to improve config 2 a little by adding a Molex connector to the "Config 2 MOSFET Board" in addition to the stacked power connectors to simplify the wiring.

 

Thanks for the information.

 

I'm leaning towards the cable-connected 10x10 myself (config 3).  I'm just not wild about the solder jumpers needed on config 2 - it seems cleaner to handle that with the cabling instead.  I also don't really like requiring the special stacking headers, since those are harder to find than the regular kind.

 

Any other votes?

 

 

Your comment caused me to think about the config options again.

On your website the jumper settings for config 3 and the need to alternately cut the most outer pin header for each layer is not yet explained in detail. If you miss to cut them, the cascade of TLC5940s will not work.

Another advantage of config 3 is that you can pre-produce multiple MOSFET boards. Using config 2 you have to take care about whether the board is the first or the second or the third one in the stack.

I think i will explain that in detail and restart the poll.

 

It's probably worth pointing out that config 3 can still be physically stacked up vertically just like config 2, the only difference being that the connections between layers will be via cables rather than the special long-tail sockets.  

 

The lack of cables in config 2 does have a certain appeal, but the trade-offs are kind of onerous.  I've been trying to come up with a more plug-and-play way of handling the data signal path, without the jumpers and the cut leads on the sockets, but so far no luck.



#18 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,071 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 14 November 2015 - 01:54 AM

Yes 3 chimes.  I'm also adding a 5" bell from a Golden Arrow that is essentially a knocker inside a big bell and would like the same on that.  not sure how many other toys this might apply to, or how many people are making em based cabs that have this stuff, but flexibility is always a good thing. :)

 

Okay, here's my current thinking.  I'm working on a *third* 10x10 board to go with the others, this one designated as the "Chime Board".  I'm using a 74HC595 to set up 8 new digital outs - these chips are 8-bit shift registers that are basically the digital out equivalent of the TLC5940 chips used on the MOSFET board for PWM outs.  It looks like 5 time-limiter circuits will fit.  Since we get 8 outputs from the 74HC595, I'll just add plain old MOSFET circuits for the balance.  So you'll get 5 timer outputs and 3 regular digital (non-PWM) outputs (suitable for flippers, slingshots, and anything else that doesn't need intensity control).  This board will be daisy-chainable like the MOSFET board, so you'll be able to get increments of 5 more timer outputs by adding more copies of the board.



#19 mk47

mk47

    Hobbyist

  • Members
  • PipPip
  • 38 posts

  • Flag: Germany

  • Favorite Pinball: Spirit of 76

Posted 14 November 2015 - 10:48 PM

I searched for for a ribbon cable suitable for the 5 pin 1 row headers, but i didn't find anything. Isn't it better to change the layout to use 2 rows of 3 pins. In this case we could parts like these:

http://www.reichelt....31&artnr=WSL 6G

http://www.reichelt....231&artnr=PFL 6



#20 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,071 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 16 November 2015 - 10:56 PM

I searched for for a ribbon cable suitable for the 5 pin 1 row headers, but i didn't find anything. Isn't it better to change the layout to use 2 rows of 3 pins. 

 

Good catch - I'll make the change.