Tennis Ball Machine Mosfet control of DC Motors


I became part owner of a 1980's tennis ball machine last year and used it for it's intended purpose - yes I like tennis! - for a few months.

Then one of the motors stopped working and on taking it apart it seemed like the control circuit for it was not working for some reason. I have ordered a replacement - or at least an equivalent - but at the same time I am dreaming of making my own control system which can be wirelessly controlled by a phone via the arduino. I can cope with the programming and wifi control (famous last words) and I've been googling the electronic side but I thought I'd post the project here for advice as I'm no electronics expert.

The current system is this. Despite me being in UK the machine basically runs on 110VAC (there is a 220 to 110 transformer).This is rectified to DC to drive the three motors. The motors are 90V, 0.3A, 1/3 HP. One is to drive the oscillation and the ball feed, the other two are to drive the rotating wheels which fire the balls out (really fast!). There are two control circuits - one is a basic speed control for the oscillation/feed, the other is slightly more complicated comprising two pots - one for the overall speed of, and another for the relative speed between the two wheels. This controls backspin, topspin and speed.
It's actually quite simple I think and this can be taken care of in software.

So basically I want to control 3 DC Motors. After research I think (tell me if I'm wrong) that I can control these using PWM and N Channel Mosfet transistors - the motors only spin one way. So I'm thinking I can convert the mains feed to 90V DC using a high quality(!) off the shelf part and then do something similar to this tutorial

So my questions are will this work? Is there anything else I need to know and how do I choose the appropriate transistors and diodes if I need them. I was looking at a 100V N channel 1A mosfet (3 pin) - will this be ok or do I need more current in case there is a surge on the motor? I'm quite surprised at how low current the motor is - it looks quite chunky. Also I don't know much about the gate voltage threshold - do I need to watch out for this?

A bit of basic advice with the diode, resistor and need for an opto isolator to protect the arduino would be handy. Plus is PWM going to be OK for this purpose, can I damage the motors, are there any limitations? Do I need to condition or smooth the power or changes in speed or anything?

If anyone can give me any tips I'd be very grateful - you can come and have a go on it if you like when I get it working! It's in West Dorset.

First thing to figure out: brushed or brushless motors?

The motors are 90V, 0.3A, 1/3 HP.

And those are some really suspect numbers. 90V @ 0.3A is 27W. 1/3HP is about 250W.


I should've said, the motors do have brushes.

As for the specs, I was going by what it said on the motor

And now I can see I got the HP completely wrong and it was actually 1/50 :-[ :-[ :-[ :-[ Oops!

Brushed makes control easy. Can simply switch on and off, and can do speed control using PWM.

Best to look for a logic level MOSFET, as that can be controlled by an Arduino. Should be able to switch well more than 90V, and be able to handle the stall current of the motor (can easily be 3A). So a 5-10A MOSFET able to handle 150V or so would be safe.

I'm looking at this one
I think it's logic level but I am a bit confused by all the s
Can anyone tell me if it's fit for purpose.

No that's not a logic level MOSFET. You're looking for either the words "logic level" or when it gives values showing Vgs it is 5V max. Right at the top of the datasheet it gives Rds @ Vgs 10V which is a giveaway that it needs 10V to switch on fully...and you only have 5V to play with.

There are probably MOSFETs that will suit you but I can't think of any immediately...I've never used such high voltage and low current.


Hmm I think this one might do the job?

It is available on ebay but also is discontinued in other places

Looks good to me.
VDS max 150V. Comfortably higher than the motor’s supply voltage.
VGS(th) <2.0V, data sheet indicates 4.5V is fully open, IRL type number: that’s positively going to work just fine with 5V.
IDS 12A max, that should be more than enough to handle a stalled 0.3A motor.
The on resistance RDS, ON of 177 mΩ is a bit high but for your rather low currents (0.3A continuous) not a problem at all. You’ll dissipate about 16 mW only so no heat sink is needed at all. Just don’t fully enclose your electronics.

One important thing is a good flyback diode on the motor, placed directly at the terminals (your motors have to go forward only, right?). Maybe a Schottky type (for fast switching) and it should be able to handle a pretty high pulsed current, >10A I’d go for, so a 2-3A continuous rating, and of course a high enough reverse breakdown to handle the normal 90V (150V or more would be good).

I'm not sure how to work out the power dissipation from the data sheet?
This one is 200V but the lead time is alot shorter - would it also be ok?

This looks good for the diode I think.

Thanks for helping!

Power dissipation is simply I2 * R so (0.3) 2 * 0.177 = 0.016 W

The IRL620 looks suitable, too. Lots of different parts will do the job.

For your diode: “This device is intended for use where low drop forward voltage is required to reduce power dissipation.”
Check the reverse recovery time, that’s what counts most. Main properties of Schottky diodes are the low forward voltage (largely irrelevant for your application), and the fast reverse recovery time (that’s what you need) at the price of higher reverse leakage currents (totally irrelevant for you).

Normal diodes may work, too. Not the very common 1N400x series - those are quite slow. The 1N4148 is fast (1 ns reverse recovery time), but can’t handle much current. Something like that one but for higher currents would work well for you.