OPP coils / drivers
Related Config File Sections:
There are a few things to know about controlling drivers and coils with OPP hardware.
Please ensure that you have established common ground between logic and coil power before turning on high voltage on your coils (especially on homebrew machines). Ignoring this might lock on your coils, overheat them, burn down your house or kill you. We are serious, floating grounds are dangerous. If you are not an electrical engineer read the guide about voltages and power.
In a nutshell: You need to connect your logic ground (5V/12V) and your high voltage ground (48V or 80V). A power entry or power filter board is a convenient solution to solve this (and more) issues.
Always turn all PSUs off when connecting power or you might fry all boards at once. This is generally a good idea but even more important when connecting more than one power supply to a board.
IF YOU DID NOT UNDERSTAND WHAT THIS WARNING MEANS STOP NOW AND TRY TO UNDERSTAND IT. OTHERWISE YOUR HARDWARE WILL LIKELY BURST INTO FLAMES AND YOU NEED TO WAIT A FEW DAYS FOR A REPLACEMENT OR EVEN WORSE IT MIGHT KILL YOU. IGNORING THIS IS THE MOST COMMON CAUSE FOR BROKEN DRIVER BOARDS.
OPP coils are numbered sequentially depending on which wing board is the coil output. Wing position 0 contains coil numbers 0 to 3. Wing position 1 contains coil numbers 4 to 7. Wing position 2 contains coil numbers 8 to 11. Wing position 3 contains coil numbers 12 to 15. The coil is numbered using the position of the OPP card (starting at 0), then a '-', and finally the coil number on the card.
coils: some_coil: number: 0-12
The above example configures a coil output as the first OPP card, and the third wing board, first output. On the microprocessor card, the output is marked as 3.4 (wing port 3, position 4).
The OPP hardware also has the ability to specify the "pulse time". Pulse time is the coil's initial kick time. For example, consider the following configuration:
coils: some_coil: number: 0-12 default_pulse_ms: 30
When MPF sends this coil a pulse command, the coil will be fired for 30ms.
If you want to hold a driver on at less than full power, MPF does this by using default_hold_power parameter which works for all platforms. It can range from 0.0 to 1.0 and defines the time share the coil is on (0%-100%).
The period is fixed at 16ms for OPP. To set the hold power to 25%, set default_hold_power to .25 and OPP will use 4ms/16ms = 25%.
coils: some_coil: number: 0-3 default_pulse_ms: 32 default_hold_power: 0.5
This will configure OPP card 0, solenoid wing 0, last solenoid to have an initial pulse of 32 ms, and then be held on at 50% power.
This feature is only available on OPP firmware version 184.108.40.206 and above.
If you want to pulse a driver on at less than full power, MPF does this by using default_pulse_power parameter. This can be used along with default_pulse_ms to fully tune the response of a coil. This can be especially useful when controlling lower voltage coils from a 48V source.
It can range from 0.0 to 1.0 and defines the time share the coil is on (0%-100%). Any value under 0.03125 will be forced to output 3.125%.
coils: some_coil: number: 0-3 default_pulse_ms: 32 default_pulse_power: 0.8125 default_hold_power: 0.125
This will configure OPP card 0, solenoid wing 0, last solenoid to have an initial pulse of 32 ms at 81.25% power, and then be held on at 12.5% power.
OPP allows you to fine tune the
recycle time of your coils. If you add
recycle: True to your coil you can set
recycle_factor in the
platform_settings secton of your coil to set
the recycle time. The time will be
default_pulse_ms * recycle_factor.
For instance, if you set a pulse time of
10ms and a recycle_factor of
two the coil will cool down for at least
20ms. This is an example:
coils: some_coil: number: 0-3 default_pulse_ms: 10 default_recycle: true platform_settings: recycle_factor: 2
What if it did not work?
Have a look at our OPP troubleshooting guide.
Related How To guides
- Coil Resistance and Hardware Details
- Wiring Dual Wound Coils
- Dual-Wound versus Single-Wound coils
- Adjust coil hold power
- Adjust coil strength (pulse times)
- Recycle / "Cool Down" Time
- Details About Flippers
- How to configure single-wound flippers
- How to configure dual-wound flippers
- Flipper end-of-stroke (EOS) switches
Something missing or wrong? You can fix it!
This website is edited by people like you! Is something wrong or missing? Is something out of date, or can you explain it better?
Please help us! You can fix it yourself and be an official "open source" contributor!
It's easy! See our Beginner's guide to editing the docs.
Page navigation via the keyboard: < >
You can navigate this site via the keyboard. There are two modes:
General navigation, when search is not focused:
- F , S , / : open search dialog
- P , , : go to previous page
- N , . : go to next page
While using the search function:
- Down , Up : select next / previous result
- Esc , Tab : close search
- Enter : go to highlighted page in the results