Jump to content



Photo
* * * * * 7 votes

Pinscape expansion board support thread


  • Please log in to reply
1103 replies to this topic

#201 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 26 November 2016 - 01:11 AM

Thanks. That is great info. I was leaning toward Elecrow as the most likely min-tech provider. This cliches it. Are there any other production parameters you feel relevant? I'm thinking I'll go with 2 oz copper, solder mask top and bottom, silk screen on top. I'll need to review my design and confirm trace widths and vias are sufficient for the expected current. I don't have anything with close spacing, so I don't think there will be any issues there.

In case you have not already guessed, I have not done this before (aside from the canned order of the optical plunger board from Oshpark :-) ). What else am I missing?

 

I went with the default copper weight of 1oz.  The purpose of the 2oz option is to run higher current through narrower traces, so you can go that route if you're really tight on space.  But the 2oz option more than doubles the price, and it sounds like you're not tight on space, so I'd go with the 1oz and just make any traces wider as necessary.  There are on-line trace width calculators that will tell you how many amps a given trace width can carry for a given copper weight, so just use 1oz when you calculate it.

 

Otherwise the options all look good.  The elecrow defaults are all suitable for most projects.

 

If you're using Eagle for the layout, you should run the Design Rules check using the .dru (Eagle Design Rules) files linked on the elecrow ordering page.  You should be more than fine if you've been running the default Eagle DRUs because elecrow's tolerances are all much better (smaller distances) than the defaults.  But I think it's worth running the check just anyway just to make sure.



#202 NobodyYouKnow

NobodyYouKnow

    Hobbyist

  • Platinum Supporter
  • 48 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 29 November 2016 - 01:53 AM

Here is the prototype for my Pinscape fanout board. This is the first of two, and focuses on accommodating almost everything off the JP1, JP8 and JP11 connectors on the main expansion board. In general it allows me to do homerun style wiring between the Pinscape controller and the various switches, LEDs and eventually gadgets. By "homerun", I mean for example that I have combined the RGB output, Vcc and switch input into a single cable. I am using Molex SL-70543 style locking headers to combine these three planes. This will hopefully keep the clutter down under the hood, and really plays nicely to my CDO side (that is OCD, with the letters in the right order). I'll work up better documentation later, but for now here is quick blurb on this first board. (I am also working on a fuse / fuse monitor / resistor board as well. That will come a bit later, and will follow the same Pinscape format.)

 

So, here we go. The main sections of the Pinscape Fanout I board are as follows:

 

1) Switch Inputs (JP1) - This focuses on routing switch input to JP1. All 24 switches + common are routed between 2 connectors, facilitating the use of multiple fanout boards. For some of the 24 switches supported that have co-located RGB lights (i.e. left and right flippers, Magnasave, Start), I have allocated them to SW1-SW-5. SW6-SW24 will be routed through to a second yet-to-be-designed fanout board for more co-located switches (i.e. Admin buttons, volume, power, reset). I split the higher switches into 4 banks. Switches in each bank can be used in active high or active low, as set by a jumper at the top of each bank. Of course, you can also use a point-to-point wire to handle this at the gadget end (at the switch). If you do this, just leave the jumper out. In any case, the jumper setting must match the active High / Low setting in the Pinscape configuration tool.

 

2) Low power RGBs - This portion supports JP8 and the above mentioned co-located RGB lights + switches, plus an extra connector for the LED6 circuit. The RGB colors are present on pins 1-3 in each connector. This section passes +5V from the PSU1 connector on pin 4, and the switch return on pin 5. These are all current-limited at the Pinscape expansion board, so there are no bias resistors in this section.

 

3) High power RGBs (aka Flashers) - This portion supports JP11 and the 5 flasher circuits. The RGB colors are present on pins 1-3 in each connector. This section is set up with a jumper to select either the on-board +5V and +12V from the PSU2 connector on pin 4. Of course, you can also power the LEDs from the gadget end. In this case, leave the jumper out. This section uses two 3-pin terminal blocks to allow the insertion of bias resistors for each circuit, since these are not current-limited at the expansion board.

 

I am going to do a bit more bench testing of the design, and then wrap the board up and send it to a PCB foundry. This will be my first attempt at prototyping a PCB, so I am expecting there to be a few design and process tweaks before the final version. I'll share out the CAD files when the design is a bit more stable.

 

So have a look at the design and let me know what you think. I know the board is designed to the specific way I'll be building my cabinet. That said, I am always open to suggestions and new features. I tend to put on blinders when I am in a design cycle. :unsure:

 

Regards,

 

-Pat

Attached Files


Edited by NobodyYouKnow, 29 November 2016 - 01:55 AM.


#203 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 11 January 2017 - 04:27 AM

I think you have the right idea with the backglass TV.

 

The main playfield TV PCB looks exactly like one of mine did.  It should still be doable.  The trick is to solder to the FRONT of the PCB, on the switch side - those little surface-mount leads coming out from the sides of the switches are fairly easy to attach to.

 

tvswitchsoldering.png

 

Just be sure to route the wire so that the stripped end is safely out of the way of other exposed contacts, and also securely attach the wire to the board in several places with bands of electrical tape, to take all of the mechanical load off of the solder joint if the wire gets jostled.

 

Here's a photo of mine with the leads soldered in place:

 

tvswitchsoldering2.png

 

 

One other thing to be pay attention to.  Note that each switch has FOUR leads coming out of it.  On all the ones I've seen, it's really just two pairs of equivalent wires - i.e., if the wires are A, B, C, and D, then you'll probably find that A and B are always shorted together and C and D are always together.   But you have to figure out which wire is which.  If you have a multimeter, you should should be able to do a quick continuity test and determine which pairs are shorted together.  When you identify two wires that AREN'T always connected together, do another test and make sure they do get connected when you hold down the button.  On my TV the switching pair was across the "vertical" axis, as you can see in the photo.  Yours might be rotated 90 degrees.  The only way to know is to test it.

 

 

Hey mjr...

 

I'm back :)

 

I'm about 99% done a project that never really gets done but I'm trying to get my backglass TV turning on automatically again... I know I had this thing working at one point and I've buzzed out the points on the power switch for my TV, identifying the two points that are always shorted versus the two points that only short when I push the button down but it seems like no matter what two points I solder my wire to (I think I'm supposed to be soldering to the two that only short when the button is pressed) I can't get the TV on functionality to work. I've got the software configured right from what I can tell, I've got a 5 second delay configured and I do hear the audible click the relay(?) makes. I've verified with my multmeter that when that click happens on the pinscape board that I get continuity between the two wires I've got going to the power switch but I'm left scratching my head on why it doesn't work altogether.

A couple of questions...

 

1. does i matter which wire from the pinscape goes to which wire on the power switch?

2. Any way to have the TV relay fire manually without having to shut down my whole system and start it back up? With everything together in my cabinet it is a pain to solder two points, shut the system down, restart it wait for the click then bang my head against the wall and then resolder the to two different points and repeat the process. If I could manually pulse that relay I could mess around with the points by holding the wires there and iterate through the different combinations.



#204 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 11 January 2017 - 07:46 AM

I'm about 99% done a project that never really gets done but I'm trying to get my backglass TV turning on automatically again... I know I had this thing working at one point and I've buzzed out the points on the power switch for my TV, identifying the two points that are always shorted versus the two points that only short when I push the button down but it seems like no matter what two points I solder my wire to (I think I'm supposed to be soldering to the two that only short when the button is pressed) I can't get the TV on functionality to work. I've got the software configured right from what I can tell, I've got a 5 second delay configured and I do hear the audible click the relay(?) makes. I've verified with my multmeter that when that click happens on the pinscape board that I get continuity between the two wires I've got going to the power switch but I'm left scratching my head on why it doesn't work altogether.

A couple of questions...

 

1. does i matter which wire from the pinscape goes to which wire on the power switch?

2. Any way to have the TV relay fire manually without having to shut down my whole system and start it back up? With everything together in my cabinet it is a pain to solder two points, shut the system down, restart it wait for the click then bang my head against the wall and then resolder the to two different points and repeat the process. If I could manually pulse that relay I could mess around with the points by holding the wires there and iterate through the different combinations.

 

It sounds like things are working correctly on the board, at least, since you're observing the relay doing its thing at the right times.

 

The order of the wires to the TV doesn't matter.  The two wires connect to the poles of the relay switch, so it physically shorts them together when the relay trips.  There's nothing semiconductor-ish involved that would make polarity matter.  It's just a mechanical switch that connects the two wires together, exactly like touching the ends of the wires together.

 

I'm afraid there's no manual test mode to manually trip the relay in the software.  Now that you bring it up, that would sure be useful.  I'll make a note to add something like that to the setup program, but I probably won't be able to get to it immediately.  In the meantime, the easiest way to identify the right terminals on the TV switch might be to simply get out a wire and try touching it to pairs of contacts on the switch in turn.  It shouldn't be too risky either in terms of human safety or damage to the TV - there shouldn't be any high voltages running to the little switch board, and as long as you confine your probing to the button contacts, all of the wires there are meant to be connected together by the switch anyway, so shorting them together shouldn't hurt anything.

 

If it looks like everything is connected properly, it could just be timing.  My backbox TV doesn't pay any attention to the button inputs for about the first 5 seconds after being plugged in, so if you were to trigger the relay before 5 seconds, the TV would stay off.  Yours might have an even longer power-on cycle - you might just need to increase the delay time in the setup program.



#205 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 11 January 2017 - 01:46 PM

Thanks mjr, I'll have another run at it tonight. I like the idea of just bridging the pins with a wire to find the right ones before soldering again. I'll also adjust the delay in the software to be greater than 5 seconds... this was working once :)



#206 ckpin

ckpin

    Hobbyist

  • Platinum Supporter
  • 25 posts
  • Location:MA, USA

  • Flag: United States of America

  • Favorite Pinball: Pinball Pool

Posted 13 January 2017 - 01:32 AM

When connecting the main board (JP2) to the plunger there are now extra connections delineated that don't appear in The Pinscape Controller: A How-to Guide.  Specifically, PTE22 (JP2-4) and the Plunger Sensor +5V (JP2-7).  Do these connections need to be made? Currently on the TSL1410R, AO2 is connected to PTB0 and I'm not sure what you mean by the Plunger Sensor references on the schematic with respect to the TSL1410R. Sorry if I missed the post and this is redundant; did try searching.  Thank you.


Edited by ckpin, 13 January 2017 - 01:33 AM.


#207 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 13 January 2017 - 02:44 AM

When connecting the main board (JP2) to the plunger there are now extra connections delineated that don't appear in The Pinscape Controller: A How-to Guide.  Specifically, PTE22 (JP2-4) and the Plunger Sensor +5V (JP2-7).  Do these connections need to be made? Currently on the TSL1410R, AO2 is connected to PTB0 and I'm not sure what you mean by the Plunger Sensor references on the schematic with respect to the TSL1410R. Sorry if I missed the post and this is redundant; did try searching. 

 

The connections to the TSL1410R are the same with the expansion boards as in the original standalone KL25Z.  Nothing changed for that sensor.  You can connect things just like in the original guide.  The extra connections on the expansion board (PTE22, +5V, AO2/PTB0) are basically future-proofing, to accommodate other possible sensor types, and aren't used with the TSL1410R.


Edited by mjr, 13 January 2017 - 02:45 AM.


#208 roar

roar

    Enthusiast

  • Members
  • PipPipPip
  • 462 posts

  • Flag: Canada

  • Favorite Pinball: TOM

Posted 13 January 2017 - 04:29 AM

mjr... looks like it was the delay that was causing my problem... I up'ed it 10 seconds and the TV is now turning on! I think I can finally move this table into the corner. Still need to make an apron for it, but I'm having too much fun actually playing games on it these days. Thanks for all your help.



#209 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 13 January 2017 - 06:07 AM

mjr... looks like it was the delay that was causing my problem... I up'ed it 10 seconds and the TV is now turning on! I think I can finally move this table into the corner. Still need to make an apron for it, but I'm having too much fun actually playing games on it these days. Thanks for all your help.

That's great!



#210 ckpin

ckpin

    Hobbyist

  • Platinum Supporter
  • 25 posts
  • Location:MA, USA

  • Flag: United States of America

  • Favorite Pinball: Pinball Pool

Posted 17 January 2017 - 04:26 AM

Main and power boards assembled and wired in ... very pleased with the results.  The unexpected reduction in wiring was a pleasant surprise.  One really minor issue and one question.

 

When using the  pinscape config, the choice of toggle switch for night mode isn't stored.  The programming of the KL25Z during the save operation will also sometimes cause the KL25Z to stay offline and loose all its saved information or it comes back without making the change.  Night mode works with a push button or using a toggle like a push button :).

 

The question concerns plunger calibration mode when using the config tool.  After selecting the calibrate button, it enters calibration and calibrates but the config tool application closes when it seems to complete.  Is this normal?  This happens consistently. 



#211 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 17 January 2017 - 05:50 AM

When using the  pinscape config, the choice of toggle switch for night mode isn't stored.

 

I'll look into that.

 

 

 The programming of the KL25Z during the save operation will also sometimes cause the KL25Z to stay offline and loose all its saved information or it comes back without making the change.  

 

How often does that seem to happen to you?  It's basically bad luck when it happens; the KL25Z has some hardware issues that make it somewhat unstable during attempts to update its own flash, so it has a small probability of crashing.  I'm doing the updates in the safest way possible per the hardware documentation, but it's apparently not possible to make it 100% bulletproof, so it can still crash once in a while in the middle of an update.  I haven't actually had a crash on my own machine in months (and I update a *lot* when I'm testing firmware work), so I've been thinking it was practically bulletproof.  If you're seeing it happen with any consistency, I'm not sure why that would be, but hopefully it was just a couple of random glitches close together rather than something actually different about your hardware.  At any rate, changes aren't truly lost when this happens, because the config tool always backs up the new state in a file before sending it to the device.  If you go to the backup/restore screen and click Restore, you should see the automatic backup file listed; you can just download that to retry the update.

 

 

The question concerns plunger calibration mode when using the config tool.  After selecting the calibrate button, it enters calibration and calibrates but the config tool application closes when it seems to complete.  Is this normal?  This happens consistently. 

 

That's another bit of bad luck on your part, I'm afraid.  No, it should never happen.  I practically never see it on my machine, but it happens every so often, and as near as I can tell it's a crash in the .Net garbage collector.  This one is probably something I'm doing wrong to trigger it, but I haven't been able to figure out what, and it's random and rare enough on my machine that I doubt I will unless I happen to make a change at some point that makes it more reproducible.  If it's happening all the time for you, you might want to download the free version of Visual Studio from Microsoft, build the source code, run it in the debugger, and see if you can see any pattern to where the crash occurs.  It would certainly be great to get more data on what's going on and track this down.



#212 trapperjohn

trapperjohn

    Hobbyist

  • Members
  • PipPip
  • 48 posts

  • Flag: Germany

  • Favorite Pinball: STTNG, AFM, Monster Bash

Posted 18 January 2017 - 07:23 AM

Is there some documentation anywhere how the TLC5940 chips are wired to the Pinscape controller? Eventually I realized that I'd like to have PWM for all my flashers but I don't need the full expansion board capabilities... 1 TLC5940 should be enough...



#213 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 18 January 2017 - 06:53 PM

Is there some documentation anywhere how the TLC5940 chips are wired to the Pinscape controller? Eventually I realized that I'd like to have PWM for all my flashers but I don't need the full expansion board capabilities... 1 TLC5940 should be enough...

 

I haven't drawn up a separate schematic for just the TLC5940 yet, although there is a spot for it in the new documentation, so it'll be there eventually.  If you need it before I get to it, let me know and I'll at least give you a sketch.  Or, if you're good at reading schematics, you can look at the power board schematic; you'd wire things the same way.

 

If you want a single TLC5940, though, the easiest thing to do might be to use a power board from the expansion board set.  You'll want some kind of PCB whatever you do, since the TLC5940 is very twitchy about noise and needs a clean connection for the data wiring.  You could design your own PCB, but it would end up looking basically like the power board, since that's pretty much the minimum board for a TLC5940.  You could just populate half of it (one TLC5940, 16 MOSFETs, 4 opto chips) if you only need 16 outputs.  You don't need the main board to connect a power board; you can connect the data inputs directly to the appropriate 5 GPIO pins on the KL25Z.


Edited by mjr, 18 January 2017 - 06:58 PM.


#214 trapperjohn

trapperjohn

    Hobbyist

  • Members
  • PipPip
  • 48 posts

  • Flag: Germany

  • Favorite Pinball: STTNG, AFM, Monster Bash

Posted 18 January 2017 - 08:02 PM

I currently use the circuit from your old build guide (i.e. the transistor IC, opto coupler, mosfet) and hoped to just put the TLC5940 between the KL25Z and the transistor IC... ;-)

#215 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 18 January 2017 - 09:35 PM

I currently use the circuit from your old build guide (i.e. the transistor IC, opto coupler, mosfet) and hoped to just put the TLC5940 between the KL25Z and the transistor IC... ;-)

 

That's really more or less it.  The TLC5940 needs five GPIO connections to the KL25Z for data control lines - if you go into the config tool and tell it you have one TLC5940, it'll let you set up the pin assignments, and will show you the options for each connection.  A couple of the connections are limited to specific KL25Z pins because of the special requirements for the high-speed data interface.  The config tool shows you the options so there's no guesswork.  On the output side, the TLC5940 OUTn pins will drive the optos directly - there's no need for the Darlington chip or the current-limiting resistors on the opto inputs.  The only other details are the various power and configuration inputs to the TLC5940.  Several of the pins have to be connected to ground, several to power, and a couple have special needs like external resistors or capacitors.

 

The reason I recommend the power board even for a "standalone" build with the TLC5940 is that the chip is really touchy about the data signal.  When I was first prototyping it on a breadboard, it was difficult to get the wire connections to be clean enough, so I expect an ad hoc setup where you're wiring the chip through a perf board or something like that might also be a bit flaky.  You could also design your own smaller circuit board, but I think you want *some* kind of carefully laid out PCB rather than attempting a more prototype-like setup.


Edited by mjr, 18 January 2017 - 09:37 PM.


#216 trapperjohn

trapperjohn

    Hobbyist

  • Members
  • PipPip
  • 48 posts

  • Flag: Germany

  • Favorite Pinball: STTNG, AFM, Monster Bash

Posted 19 January 2017 - 05:45 AM

But it wouldn't hurt to leave the Darlington chip in, right? My own current "power board" is connected via flexible flat cable to the KL25Z - and the idea was to build another small circuit (on stripboard or tripad board) that contains the TLC5940 and can be put between them (i.e. KL257 <-> TLC5940 <-> "power board").

 

I'd like to avoid creation of a real PCB ... too much effort just for having brightness control on the flashers.

 

BTW: I saw the gamma control option in the Pinscape config tool - is it possible to use this to effectively disable PWM on some outputs? Some of my flasher LEDs are connected to the PWM-capable ports of the KL25Z, hence they look often a bit different than the non-PWM-LEDs when triggered by DOF. If I could configure them to always run at max intensity (or off...) I would have at consistent colors/brightness over all LEDs.



#217 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 19 January 2017 - 06:09 AM

But it wouldn't hurt to leave the Darlington chip in, right? My own current "power board" is connected via flexible flat cable to the KL25Z - and the idea was to build another small circuit (on stripboard or tripad board) that contains the TLC5940 and can be put between them (i.e. KL257 <-> TLC5940 <-> "power board").

 

Sorry, I'm afraid the Darlingtons are incompatible with the TLC5940.  The TLC5940 by design sinks current on its outputs: it connects an output to ground when on, and effectively disconnects it when off.  This is the opposite of what the Darlington inputs need: the inputs are NPN bases, so they need a positive voltage source to turn on.

 

You could add another layer of logic inversion between the Darlingtons and TLC5940, with either optos or PNP transistors.  But that seems kind of crazy when all you need to do is remove them.

 

 

BTW: I saw the gamma control option in the Pinscape config tool - is it possible to use this to effectively disable PWM on some outputs? Some of my flasher LEDs are connected to the PWM-capable ports of the KL25Z, hence they look often a bit different than the non-PWM-LEDs when triggered by DOF. If I could configure them to always run at max intensity (or off...) I would have at consistent colors/brightness over all LEDs.

 

No, it's a fixed gamma curve.

 

If you want binary on/off, can't you just set them all to be Digital Out ports rather than PWM?  You don't have to enable PWM on a port - all ports are Digital Out capable, even if they're also PWM capable.


Edited by mjr, 19 January 2017 - 06:13 AM.


#218 trapperjohn

trapperjohn

    Hobbyist

  • Members
  • PipPip
  • 48 posts

  • Flag: Germany

  • Favorite Pinball: STTNG, AFM, Monster Bash

Posted 19 January 2017 - 08:11 AM

Okay, I have to think about it ... I really don't want to kill my working setup ;-)

 

Is configuration of digital output (vs. PWM) part of the Pinscape config tool? Must have missed that...

 

Thanks!



#219 trapperjohn

trapperjohn

    Hobbyist

  • Members
  • PipPip
  • 48 posts

  • Flag: Germany

  • Favorite Pinball: STTNG, AFM, Monster Bash

Posted 19 January 2017 - 09:20 AM

An additional Darlington could do the inversion, right? TLC5940 output is connected to VCC and Darlington input, i.e. if TLC5940 got a high input, the Darlington input is forced to GND (and to VCC if TLC5940's input is low).

 

The output of this Darlington is also connected to VCC and the input of the next Darlington, i.e. if KL25Z's out is hi, TLC5940's out is low, 1st Darlington's out is high

 

I still have some of these ICs laying around... :-D


Edited by trapperjohn, 19 January 2017 - 09:29 AM.


#220 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 19 January 2017 - 06:53 PM

Is configuration of digital output (vs. PWM) part of the Pinscape config tool? Must have missed that...

 

Yep.  Go to the output port list and click on a port that's currently assigned as PWM.  On the right, you'll see buttons for "GPIO PWM Out" and "GPIO Digital Out".  Click the Digital Out button and then click the same port number the output was already assigned to.  That'll change it to GPIO Digital Out in the list.


An additional Darlington could do the inversion, right? TLC5940 output is connected to VCC and Darlington input, i.e. if TLC5940 got a high input, the Darlington input is forced to GND (and to VCC if TLC5940's input is low).

 

You might be able to make that work, although Darlingtons aren't the way most people would do the logic inversion, since they have such high gain.  The conventional approach would be PNP transistors.  If I were you, I'd breadboard it first to make sure you can it working.