Motor control with MOSFET circuit

Hi guys,

I'm a bit of an electrical noob. Quick question, im using the STP55NF06L mosfet to control a 12v, 3A DC motor with an arduino. I understand how it works, im just struggling to get a proper circuit schematic for it.
I only really struggle with what value resistors i need and where do i need them.

So yeah, if anyone could show me a schematic i would be super grateful :slight_smile:

Cheers

STP55NF06L : the datasheet doesn't say it is a 'logic level' mosfet. But according to the graph for Vgs, it is 'on' at 5V. So with an 5V Arduino it is okay.

Flyback diode : You need a flyback diode over the load. Preferable a fast-switching 3A (or more) diode.

Gate resistor : The gate is like a capacitor. To protect the Arduino output, you can add a resistor of 120 ohm to 1k from Arduino output to mosfet gate.

Predefined state : When the Arduino is powered up, the mosfet could be on or off or jitter on the noise. To keep it off during power up, add a resistor from Arduino output to GND of 10k.

Brilliant, thanks mate

Peter_n:
Predefined state : When the Arduino is powered up, the mosfet could be on or off or jitter on the noise. To keep it off during power up, add a resistor from Arduino output to GND of 10k.

That would be correct if a MOSFET would be a "normal" bi-polar transistor. But a MOSFET works a little bit different. The gate is like a capacitor and the resistor between gate and GND works not as a Pull-Down to define the logic level but it is used to un-charge the gate capacitor when the signal is going to LOW. Depending on the internal architecture of the controller this is not always requiered ... but to keep thinks straight forward it's always a good idea to have that resistor in place.

On the end of the day it doesn't make a difference why the resistor has to be there ... but sometimes it is good to know :slight_smile:

That device is logic level, has a max Rds(on) of 0.02 ohms at Vgs=5V

Peter_n:
Predefined state : When the Arduino is powered up, the mosfet could be on or off or jitter on the noise. To keep it off during power up, add a resistor from Arduino output to GND of 10k.

Well its moot, the MOSFET could store charge on the gate during power down, but in
practice it will discharge through the protection diodes to about 0.5V max. On
switch-on the Arduino pins are tri-state but the gate will hold its state from the powered
down for a while OK.
(Just perhaps if the Arduino pin was a bit damaged and had significant leakage current
it could be able to turn the MOSFET on before the pin was changed to OUTPUT mode).

The 10k resistor can't hurt, but ideally should be to the pin, not the gate to avoid forming a
resistive divider with the gate series resistor, allowing the gate to see the full Vcc when
on (particularly with this device which doesn't have Rds(on) quoted for 4.5V, only for 5.0V)

mgcss:
That would be correct if a MOSFET would be a "normal" bi-polar transistor.

Who mentioned BJTs - the previous comment is perfectly valid for a MOSFET

MarkT:

mgcss:
That would be correct if a MOSFET would be a "normal" bi-polar transistor.

Who mentioned BJTs - the previous comment is perfectly valid for a MOSFET

In fact, it is just the opposite. It isn't true for a BJT since it(s input) is a current mode device. The leakage of the CMOS outputs being so low, they provide no current for a BJT to amplify, so the only reason to provide a "leak" resistor is where you are using some sort of Darlington arrangement where the gain is so high that even capacitive or static electricity effects could cause conduction.