What do I need to perform speed control of a 100W 12V DC motor using an Arduino?

I am planning to use PID control using an Arduino's PWM abilties. I have a 100W 12V DC brushed gearedmotor. I want to maintain speed at 40RPM with variable load.

Can I use for instance normal L298 H-bridge circuitry or do I need relay circuitry that can handle the amperage?

Any input would be appreciated.

rickharris2 years ago

You only need a l298 if you need forward and back motion.

Either way your going to need to use PWM Pulse Width Modulation to control the speed.

The micro outputs a squarewave with a variable mark space ratio. The more the squarewave is on then the faster the motor goes.

Because the micro only produces small currents (around 10 to 20 mv) you need to provide a driver for the motor - Often these days this is a power FET.

Your micro is only going to operate at 5 volts and high power FETs often need a gate voltage greater than 5 volts so usually you need to front the FET with a transistor to provide enough voltage to turn the FET on.



If you need forward and back control and decide to use something like the L298 then you can apply your PWM signal to the enable pin to turn the L298 on and off quickly producing the same effect.

your motor may be rated at 100 Watts but this is most likely a continuous rating and the motor may well draw several times that much under severe load. So you may be looking at 20 to 40 amps peak.

on the other hand DC motors are often rated as peak load to make them look impressive and you may draw a lot less than the 8 amps you might expect.

(around 10 to 20 ma)

StefanNel (author)  rickharris2 years ago

Thank you rickharris for the feedback.

My load is known, it will vary between 50-120N.

The L298 is rated at 3A max output. This will be a problem, because as you said I can expect currents of up to 20A?

Do I need to find a motor driver that uses FET's?


Amps=watts/volts so 100/12=8.3 but as the load increases the current will rise. Stall currents of 2 or 3 x running are not unusual.

Look at some of the drive ccts in the link I offered.


may help, the principles are the same. If you only require rotation in 1 direction then a power FET will do. Forget the H bridge.