(Topic ID: 262290)

Trying to revive an old EM (Dealer's Choice) with OPP and MPF

By BENETNATH

4 years ago


Topic Heartbeat

Topic Stats

  • 62 posts
  • 8 Pinsiders participating
  • Latest reply 2 years ago by BENETNATH
  • Topic is favorited by 8 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

Capture (resized).JPG
panel-1013 (resized).png
The-Generic-STM32F103-Pinout-Diagram (resized).jpg

You're currently viewing posts by Pinsider openpinballproj.
Click here to go back to viewing the entire thread.

#8 4 years ago

Have you considered a configuration based on where the boards need to be located.

Quoted from BENETNATH:

* Coils : 4 flippers (double wiring), 2 slingshots, 3 bumpers, 1 ball tray, 1 knocker, 3 chime, 16 coils for the scoring system in the back box
TOTAL : 30 coils (34 including the double wiring, as it seems that each flipper coil shall be considered as 2 coils ( 1 for action, 1 for hold)

* Switches : 1 ball tray, 2 flipper buttons, 1 start, 4 slingshots, 6 lanes, 10 rollover, 9 targets, 3 tilts, 3 bumpers
TOTAL : 39 switches

* Lights : 12 GI, 31 active + 21 active in backbox

Starting with solenoids: There are 16 coils for the scoring system which are all in the back box. That can be realized using two STM32 cards full up with solenoid wings. That also gives 16 direct inputs for figuring out things like when the score reels are in the zero position, and error detection, such I pulsed this reel 10 times, but I still haven't seen the carry bit, etc. Not sure what is supported in MPF.

Next are the 3 coils for the chimes, plus the 1 coil for the knocker. Nice to connect together all these guys together on a single STM32 because it is all part of the cabinet. That also gives inputs for the 1 start and 3 tilts. Typically you'll have some incandescents in the cabinet for the coin illumination, so it would be nice to have an incandescent wing down there to make wiring as easy as possible.

So the remaining coils on the playfield itself contains 1 ball tray, 4 flippers (8 solenoids), 2 slingshots, 3 pops. So that is another full STM32 to run all that. If interested, these can be mounted on the bottom of the playfield itself if there is space to fit it. It can make sense to split it into 2 STM32 (such as all the flippers on one towards the bottom, with two incandescent boards to run the active lights at the bottom of the playfield, then a second STM32 towards the top for the ball tray, 2 slingshots and 3 pops + another two incandescent boards towards the top). It seems with all the rollovers there might need to be one more STM32 for the extra inputs on the playfield.

For the two machines I've swapped over, I created a quick sketch of the general locations of STM32s under the playfield. This allowed me to minimize wiring on the bottom of the playfield which makes it much easier to keep things "clean".

Good gosh, I should have looked up the pinball machine earlier. That age of William machines I believe were dual wound coils, but there is an EOS on the flipper where it automatically disables the high power coil. If that is the case, you only need a single solenoid for each of the flippers. There is no need to control the two coils for each flipper individually. Also, with that age of game, I'm guessing that a single solenoid powers both of the left flippers and another single solenoid powers both of the right flippers. If that is the case, it moves the 8 solenoid requirement for the flippers down to only 2 solenoids for the flippers.

Bah, wife is telling me it is time to go to bed. Sorry, about the brevity and scattered-ness of the message. I haven't had any time to respond to many of your questions. Neopixels are coming, but they aren't there yet with OPP.

#11 4 years ago

As mentioned by cobra18t direct inputs should be used for all the things that are very timing dependent. These include 4 flippers (double wiring), 2 slingshots, 3 bumpers. I also tend to use the ball tray as a direct input because that make it easy to play the whitewood mode without having any MPF programming. Note: This means that you have some wires that go from the cabinet for the flipper buttons to the bottom of the playfield. (You can have a long service loop length of wire to do that (with a connector to make sure that you can remove the playfield easily), but I added only a small bit of wire. I cannot tell you how many times I have put SS3 back together and forgot to attach the flipper buttons to the direct inputs. I immediately have to pop open the coin door to plug in that connector.

I looked over your google document and the parts listed for each of the wing boards seems correct. For the power filter board, if you don't need the processor to be able to disable the high voltage, you can drop out the PCHan mosfet and make the filter board a little more efficient.

Quoted from SYS6:

plank only fits on one side

Correct

Quoted from SYS6:

some of the gerbers I got from the OPP repository didn't seem to work when I uploaded them to SeedStudio

That's strange. SeedStudio seems to use the same board house as Iteadstudio (or maybe their prices track to as an amazing coincidence). That being said, all of the files sent to Iteadstudio come directly from the repository. I'm usually ordering from the Kicad\Panel-xxxx projects because that panellizes the cards so they are cheaper. For individuals, I suggest purchasing cards through MezelMods. It will probably make your life simpler.

#15 4 years ago

1. Direct inputs and inputs on switch boards are exactly the same. The direct inputs can easily be used for zero positions of the score reels. The reason that direct inputs are very important is for the latency. Only thing to worry about is if the input for something like a pop bumper or a flipper is on a different STM32 card than the drive solenoid. I would not suggest that you do that.
3. I can't tell from the manual, but I'm pretty sure that all the games of that era used an EOS (end of stroke) switch to break the high power kick part of the flip. That being said, both the kick and hold selenoids are driven by a single MOSFET. The MOSFET applies current to both of the solenoids, when the flipper gets to its EOS (end of stroke), it opens the connection for the kick solenoid, and so only the hold solenoid is being powered. That's why I think you may only need 4 MOSFETs or a single solenoid wing for all the flippers. The inputs for the two flippers on each side can be programmed to use a single input so you don't have to wire 2 inputs for each flipper button. The programming of with switch affect which solenoid is completely programmable.
5. You gotta use the credit wheel. Make it sound that much more authentic. I believe Nick added empty stepper units to his multi-bingo just so the sound was correct. I love that stuff and there is nothing better than the sound of an EM. (Maybe I'm showing my age).
6. Good questions. Maybe they were explained above, but maybe not. The activation of the MOSFETs because of an input (either from the same wing card, or an input wing, or even a switch matrix input on the same STM32) happens without talking to the main processor (the thing that is running the rules). The main processor sets which input activates which MOSFET(s). By changing the rule of which inputs activate the MOSFET, you can program all sorts of things such as Daffy flippers, only allow flipping the lower flippers, reduced power flippers, delayed flippers if you want to, etc. The main processor can change the rules throughout the game and that's how flippers are disabled between games. The main processor can also cause solenoids to fire which is how balls are served onto the playfield.
8. A plank takes up two wing card positions and can only be used on the "left" side of the STM32. A plank is simply two wing PCBs jammed together. It also includes the interface board, so it creates a much more rigid assembly of boards. Since the STM32 won't use the interface board portion, that is the only benefit that you are getting from a plank board. (As noted before, it only works on one side of the processor since the STM32 uses two middle pins for the USB communications, and that would mean a lot of rewiring to try and use it on that side of the processor. (Pin 32 and Pin 33 in the above diagram)
9. In the repository there are both individual wing boards, and panels (groups of 8 boards that are scored between them). Some manufacturers will score boards, some will not. ITeadStudios will score boards (last time I checked). With ITeadStudios, you get 8 boards on each 10 cm x 10 cm PCB, so an order gets you 80 boards. For wings, you need solenoids, and incandescent boards. (Input boards are simply the 8x100 mil spaced connector). That being said for $40 US, you could get 80 solenoid wings and 80 incandescent wings. Most people don't need that many, so it is easier to order through MezelMods. That also moves the burden of ordering boards from you onto them. I have no idea how taxes work in France or really anyplace, and hope to keep it that way. That's why I don't sell stuff. Not my area of interest.
10. I'm a sucker for never throwing anything away. I would reuse the high power transformer, and throw in a PC power supply for 5V, etc. I trust a PC's power supply's voltage regulation much more than a big honking transformer from the 1970s but who am I to say. The 6.3V is probably AC for the incandescents so it either needs to be converted through a bridge to DC, or just use the 12V from the PC power supply and step it down with a buck converter. I went the 12V stepped down route, and I've even just used the 5V from the PC supply which would make the lights anemic if not converting to LED bulbs.
11. The situation is if you want to disable high voltage when the coin door is opened. Old machines didn't do that, and there is little to no reason to do that if the machine is running 24V. Heck, you might even feel it if you get hit by 24V. Here is a word of advice. SS3 (sharpe shooter 3) was originally 24V (SharpShooter 2 conversion). Do not try to run 48V through a 24V coil. It doesn't work well, and lets the magic black smoke out of your MOSFETs. Switching to a SMPS running at about 30V gives you more action than the original game would ever have in the day, and makes it much more interesting IMHO.

Quoted from KenLayton:

Why ruin a perfectly good electromechanical machine?

I completely agree, but all the EMs that I have converted were converted because major parts were missing. The score reel motor is gone. 2 of the stepper units have been scavenged for some other game to make it work. Player unit/Match unit is gone. All of the wiring has been eaten by mice. (Why do they like insulation? Must be the nicotine from sitting in a bar for so many years). Sometimes a game can't be fixed.

#17 4 years ago

Damnit, I lost my post because I switched off the page. Now my responses will be much shorter:
1. yes, the direct inputs are "qualified" by STM32 and are configurable.
3. I can't think of any reason using two MOSFETs for the hold/kick coils would be beneficial. Any configuration that I can come up is achievable with a single MOSFET. That includes no hold flippers, weak flippers, daffy flippers, etc. Maybe somebody else can pipe up with something I'm missing? Dropping it to one MOSFET doesn't save much money, but it makes the wiring/configuration simpler.
9. Next couple of days I will throw that up in the repository. I never thought anybody would need individual cards which is why I never bothered adding the Gerbers. Sorry about that. I can't promise it tonight, but hopefully in the next few days.
10. Sounds good.

Alternate for LED. Any LED you have laying around will work. Here's the cheapest one I can find on mouser: 743-INL-5AR30
For the PChan MOSFET, how about this guy: 942-IRF9Z24NPBF

So just so I can find this information, I need to check on the following Gerbers in the repository:
Panel-1013.zip, Panel-1014.zip, Panel-1018.zip, 1014-IncandBrdG2, and 1018-PwrFilter. I'm guessing I forgot to set the drill origin which most places don't care about, so sometimes I miss it.

#20 4 years ago

Going from 2 coils to 1 coil was a cost cutting measure on the manufacturers part. I personally feel that the EOS is a mechanically/electrically superior design. Limiting the kick pulse length and PWM is all possible based on programming through MPF or however.

SYS6 Looking at your last list of everything that needs updating, I made updates to everything that you listed (Panel-1013, Panel-1014, Panel-018, and 1013.zip) as you noted. I also found 1014.zip and 1018.zip which you previously mentioned. Just committed the changes to the repository so it is all available with svn update.

Quoted from SYS6:

Can you tell us which pins you are thinking are likely to eventually be used for led strings on the STM32 processor

I'm running Neopixel LEDs using MOSI2 pin (PB15). The rest of the pins on that wing will be inputs. Other pinball things have been taking up all my free time, but hopefully in the next few weeks I will complete the firmware. (The firmware for Neopixels is actually done, but I noticed I was wasting too much memory on the USB bus receive side. I want to reclaim that memory and re-organize how received data is processed to make it more efficient and cleaner.) Remember that the STM32 needs a 3.3V to 5V converter on that pin to properly drive Neopixels powered at 5V.

Dual wound coils are wired such that power goes to the top of both coils, and the bottom of the hold coil goes to the MOSFET which the bottom of the high power coil goes through a normally closed switch then to the same MOSFET. When the button is pressed, MOSFET leads become connected to ground. As the flipper flies to the up position, the EOS opens the NC switch and it becomes open. That stops the connection of the bottom of the high power coil to ground and it de-energizes that coil. (That is a very quick explanation of how certain dual wound flippers work.) There are various flavors from various manufacturers, so it is always best to inspect the flipper that you have and make sure it works as you expect.

#23 4 years ago

You might want to take a quick look at this thread. @cobra18t made some holders and used string LEDs for his stuff. Much cleaner than cutting apart strip LEDs.

Quoted from cobra18t:

I made some simple laser cut holders for the surface mount LEDs for the inserts. They are made from a laminated MDF board I had lying around. It was 0.1" thick.

Here is the link in his thread for the LED strings that he is using:

Quoted from cobra18t:

You can get the wired LEDs on Amazon or eBay. I think I paid $8 or 9 per 50 LEDs. Here is an example:
ebay.com link

I would stay away from wiring each LED individually. It is a royal pain in the butt.

So going through the MPF quote, I'm guessing it might not be 100% true. I'm sure that MPF can change the configuration on the fly. @jabdoa would be able to verify if the following is true or not:

Quoted from BENETNATH:

No fine tuning. Since the transition from the power to the hold winding is purely mechanical, you can’t change the power of the mechanism unless you physically switch out the coil and/or change the voltage used.

So running it as a dual coil with an EOS, the coil would be configured as an on/off coil for the OPP solenoid. That means that when the button is pressed, the MOSFET is on, and when the button is released, the MOSFET is off. Simple.

Now let's say you want a weaker flipper. Change the configuration of the coil with an initial kick and PWM for the sustain. By keeping a very short initial kick (configurable in 1ms increments), the power of the flipper will be reduced because it will not give it full voltage as it rises. How about a no hold flipper? Same thing. Change the configuration to use an initial kick, and then no PWM in the hold. It is exactly how you would configure a pop bumper or a slingshot. So all modes listed in the quote seem to be achievable.

Was simply chosen because that is the pin that was used on the PSOC4200 support for Neopixels. For memory constraints, the SPI interface works best instead of using a PWM. STM32 is memory constrained with how I'm driving the Neopixels and because of it, only about 200 or 250 Neopixels are possible. (I can't remember the number off the top of my head). It is configured as a Neopixel wing using Gen2Code, just as other wing boards are configured. I could support the other MOSI positions, but I'm not sure what value it would add. My thought is if it is a long string, you would add extra power taps on the string to avoid voltage drops. I believe Adafruit has a rule of thumb on how frequently you need to add extra power taps.

If I wanted to control GI lighting, I'd simply connect it to a solenoid, and that could turn the whole string on or off. Nice and simple. Each solenoid can have its own voltage since you are only closing and opening the connection to ground, not the connection to the voltage.

Quoted from SYS6:

On gerbers, I had a quick look at 1013.zip, panel-1013.zip and panel-1019.zip these all seem to have two copies of the top and bottom copper and silkscreen files, this doesn't look correct? 1019.zip looked good.

Bah! Tried to do it too quickly. I didn't clean up the directories before re-zipping so that must be the issue. Sorry about that. I will probably correct sometime tomorrow or the next day.

#24 4 years ago

All gerber files are updated (hopefully) to clean up old version of copper layers. If @SYS6 could verify, that would be great. Sorry for the thrashing. Never do something in a rush, but alas, that's what I just did, but it should be correct now.

#30 4 years ago

Damn it. I just used the defaults, and since each of the individual cards weren't used to generate an actual PCB, I didn't generate all of the layers. Bah! I will regenerate later tonight with all the correct layers. Third try is going to be the charm. Thanks SYS6 for checking the files for me. The boards are all 2 layer boards. No more responses from me until I update the repository....again. Ooohhh, I'm annoyed at myself.

2 weeks later
#34 4 years ago
Quoted from openpinballproj:

Alternate for LED. Any LED you have laying around will work. Here's the cheapest one I can find on mouser: 743-INL-5AR30
For the PChan MOSFET, how about this guy: 942-IRF9Z24NPBF

I assume the PChan MOSFET you are talking about is the one on the power supply filter board.

1 year later
#50 3 years ago

On the LEDs...I'm assuming they are being driven off one of the STM32s. The output of the STM32 is 3.3V and the Neopixels would really like to see 5v, so is there a 3.3V to 5V converter in there? The other thing is the distance to the first LED from the STM32. How long is that? Sometimes adding a pretty hefty series terminating resistor is helpful. Adafruit suggests 300 to 500 ohms on the data line as a series terminator. Last suggestion is to add some bulk capacitance on the first LED from 5V to gnd. Adafruit again suggest about 1000 uF at that point. Depending on the number of LEDs you may need to add multiple power taps along the line of LEDs. I would suggest not bundling the data line with any other high current lines (such as solenoid power, solenoid current returns, etc).

When running in white wood mode, you should see all the LEDs in a particular pattern. Since they are RGBW, it won't be as pretty as if they are RGB with each LED being individually lit a different rotated color, but it will be a single color for each LED since the pattern simply turns on everything 4th LED.

#53 3 years ago

I would want firmware version at least 2.0.1.0 or newer if using Neopixels. That insures all fade commands work properly and the clock stretching works on the SPI (which is used to drive the Neopixels). Is the wire that is driving the Neopixels being bundled with any other wires? (Especially wires that contain solenoid current?) I would avoid that. As Jan mentions, watch the ground for the Neopixels. Maybe take a look at this page and see if it is understandable:
https://openpinballproject.wordpress.com/2016/11/16/111521-why-is-it-so-hard-to-explain-grounding/

The idea is to have the Neopixel 5V source/ground as a separate island with only one small connection between other grounds (especially that pesky 24V ground).

#55 3 years ago

Unfortunately I haven't written a bootloader for the STM32. Sorry about that. It is very low on my list of to do items. With the USB interface, it is a little bit of a pain in the butt. The upgrade is only available for the PSOC4200 processors. (I do have an STM32 bootloader for serial port devices, but it would be a good amount of work to get it to work with the USB.)

You're currently viewing posts by Pinsider openpinballproj.
Click here to go back to viewing the entire thread.

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/trying-to-revive-an-old-em-dealer-s-choice-with-opp-and-mpf?tu=openpinballproj and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.