Control 12V MOSFET with 5V, with PMW pass-through

controllow-voltagemosfetpwm

I am new to electronics, and still tying to fully wrap my head around MOSFETs. I have a few questions about controlling a 12v MOSFET using only 5v to the gate, and an incredibly small amount of current.

Here's the situation:
I have a 48V power supply which I am converting down to 12V, with a maximum 33A output current. Connected to this 12V output current, is a 12V motor, and an Arduino. I would like to control the motor using one of the Arduino's PWM ports, and a MOSFET, to minimize current draw through the arduino.

Unfortunately, the Arduino's PWM ports can only provide 5V. The MOSFET that controls my motor will (I think) need to be 12V, and what I have read on the subject tells me that controlling a 12V MOSFET with a 5V gate leads to… Bad things. That is my first question — what will happen if I flat out try to do this?

My second question is this:

How can I create a circuit that will allow my Arduino to control the 12V MOSFET using a 5V, 4-to-40 milliamp current, while still having the MOSFET reacting quickly enough to allow for PWM to reach the motors? What are the specifications of MOSFET that I will need to do this?

The most important question is, of course, what are the mechanics behind all of these things? Talking to people, I hear them talking about using a transistor as a "low impedance source", and to be honest, I don't understand what they mean. How does that play in the whole thing?

Best Answer

what I have read on the subject tells me that controlling a 12V MOSFET with a 5V gate leads to... Bad things. That is my first question -- what will happen if I flat out try to do this?

The drain-source voltage rating of a MOSFET doesn't give you any clue about what gate-source voltage it requires. A logic-level MOSFET will work even with 3.3V drive, for instance, and may be drain-source rated for 20V or more.

How can I create a circuit that will allow my Arduino to control the 12V MOSFET using a 5V, 4-to-40 milliamp current, while still having the MOSFET reacting quickly enough to allow for PWM to reach the motors?

Indeed, the bigger problem you'll face is the limited current a microcontroller GPIO can sink or source - this current is what charges and discharges the MOSFET gate capacitance and controls how fast the device turns on or off.

What you'll need to use is a MOSFET driver - this is a circuit which will take the low current drive signal from the Arduino and stiffen it sufficiently to drive the MOSFET. There are literally hundreds of monolithic driver ICs on the market from a multitude of suppliers, which work very well and are quite cost-effective.