Skip to main content

Posts

Showing posts with the label Solenoid Driver Board

MOSFET Driver Board PCB

Red PCBs do look sharp.  The MOSFET Driver Board PCBs came in and overall they turned out well.  Compared to previous boards I have ordered from Seeedstudio, the tin on the pads is a bit uneven and the inkjet for the silkscreen must have got gummed up.  You can see that the silkscreen is a bit messed on the white rectangle I left as a space to write on.  Small gripes for hobby PCBs and overall I'm quite happy how they turned out. MOSFET Driver Board PCB

Lessons Learned - High Side Optocouplers

Optocouplers can be used on the high side without issue. Optocouplers let us isolate two separate power systems.  In the case of my pinball project, I am using a computer PSU to power the logic, lights, and lower voltage items like motors etc; and I am using a somewhat suspect 48V power supply for the solenoids.  To keep these systems separated, I used optocouplers on my mosfet driver board. When designing the board, I was concerned that my transistor like optocouplers would not perform on the high side of the mosfet gate.  You cannot easily use a NPN transitor on the high side (Emitter Load).  You would normally use a PNP transistor.  The test circuit in the data sheet also showed the optocoupler in a low-side (Collector Load) configuration.  Why did I not use a high-side configuration?  Well, say if something went wrong with my optocoupler, I want my mosfets to default to the off position, ie. ground the gate.  With a high-side configurat...

MOSFET Driver Board

Final version?  I hope so.  I have gone back and redesigned my solenoid driver board several times.  In previous versions I attempted to offload some of the logic from the microcontroller.  For example, I used a Schmitt-Trigger [74HC14] with an RC network to provide a single pulse to the solenoid.  Also, I added in a PWM signal to set the average voltage 'seen' by the solenoid.  This worked but was very limiting to have the pulse length hardwired in and it was difficult to adjust without more expensive precision potentiometers. I chose to simplify my circuit to make it a general MOSFET driver for flexibility.  Since I have more than enough space inside my pinball cabinet, it was not a problem to have the extra boards.  The boards were designed to have 4-channels since by default I would get a minimum of 10 boards for the same price from Seedstudio.  Also, the cheapest board option was restricted to 10cm x 10cm otherwise the price balloons ...

Solenoid Driver Board

Here is my schematic so far for my solenoid driver board.  The PWM control took up too much space to include on the board due to the limitations of EagleCad's freeware.  Each control circuit has two inputs, one for the trigger and one for the PWM power control.  I might add in a way to disable the single pulse generator so that you can just trigger it on or off if there is room on the board.  However, I can only think of a few instances that would require it as most solenoids will burn out if left on too long.  I will post the EagleCad files including the board layout when I am finished.

Solenoid PWM Voltage Control

In my initial solenoid power board design, I used a PWM signal to control the power to the solenoids.  I used an AND gate so that the PWM signal could be constantly running but require the microcontroller's command to turn on.  This is done by putting the other pin on the AND gate to HIGH.  I have added a PWM component to the single pulse generator so that I am able to control the average voltage of the pulse. I am also trying to offload as much work as possible off the microcontroller so that it runs quickly.  For most of the solenoids in the pinball machine, the power that is required will not change during the game.  The only ones that I can think would possible change would be the pop bumpers.  I would like them to be stronger during certain periods of play.  To do this, I think I will need to use a 50V power supply in order to be able to play the game at a lower power level and then to have enough reserve to raise it to a noticeable difference....