# Transistor to turn 3 Amp motor on/off

I have 3Amp (max) 12v DC brushed motor and power supply. I'm thinking of turning this motor on/off and (maybe) control its speed with a transistor. I'm not an expert in electronics at all (I'm a programmer). Another variant is using relay, but I see transistor as a better solution. To control transistor I want to use Arduino signal. So I tried to search for a transistor that can maintain 12v and 3amp and use signal of 0-5v, but it seems there are no such transistors. So my question to you - is my way of solving this problem is right? Or should I use relay for it (but obviously I can not control the speed of the motor with the relay).

Consider that DC motors can have start currents up to 10x rated currents, you either must have a soft start or drivers rated those currents and Pd heat loss from voltage drop.

Consider a 3A * 12V motor uses 36W at full load but 360W (peak) at start if full voltage is applied. Losses of <2% are desirable for thermal design but also affect the cost of the drivers, so tradeoffs are required.

A full bridge is used for bi-directional control.

Depending how you control the soft start (acceleration) with coasting or braking and you can decide what power you need. When coasting the motor turns into a generator.

e.g of a high power driver. https://www.pololu.com/product/1451

Cheap and hot driver

• Thank you for sharing your experience with me! What if I will make this soft start by just limiting power supply? (Just having "power brick" 12v 3A)? – ZuzEL Mar 10 '18 at 7:16
• better to use PWM rising duty cycle – Tony Stewart Sunnyskyguy EE75 Mar 10 '18 at 7:20
• @ZuzEL It's probably best not to overload power bricks intentionally. The 3A on the power brick doesn't mean it will limit the current to 3A, it just means it's not designed for more than 3A. (Probably it will act somewhat as a limiter, but it could also go bang straight away, or it could work the first 100 times and then go bang. Especially if it's a cheap one) – user253751 Mar 12 '18 at 4:30

Use a MOSFET as a switch. MOSFETs have high switching frequency and can pass high current through them. Use a flyback diode to prevent the back emf of the motor from damaging the Arduino.

You could try PWM concept in Arduino to control the Motor speed and it can be done via MOSFET. Here is the common MOSFET circuit for Motor Control.