I'm looking for the absolute simplest, cheapest (and safest) way to turn a standard DC motor on an off with the 5V signal from an arduino. No speed control, no bidirectional control, just on and off without anything catching on fire.
I'v read that a circuit like this might work.
-5V to motor with reverse-bias diode across terminals
-motor to MOSFET drain
-MOSFET source to ground
-MOFET gait to microcontroler 5V signal with inline resistor R1 (10K)
-R2 (220K) from MOSFET gait to ground
-maybe some sort of capacitor across motor terminals as well
Will this circuit work and, if so, will it work with the following parts?
-IR510 Power MOSFET
-1N914 Diode
-PC PSU to power everything
-small cheap DC motor in electric airsoft gun (around 5V)
I also have a bunch of transistors if those help (2n3904, 2n3906, 2n2222, 2n4401)
Also, what would I need to change if I eventually want to move to a 12V motor? How to I calculate resistor values?
This same MOSFET would work for a 12V motor also.
I would go with smaller resisters - like 1K R1 and 10K R2.
The MOSFET requires very little current, it is more voltage controlled.
With 11K total resistance the current draw from the Arduino is <1mA.
The gate voltage with a high output will be 5V*10,000/(1,000+10,000) = 4.5V.
The circuit drawing is basically sound. However the components called for are not so great. The IR510 is not a logic level mosfet and requires +10vdc on the gate to fully saturate the source/drain junction. Not knowing the actual current draw of your small motor, the IR510 might pass enough current with +5vdc on the gate, but it's a marginal design with that device. A true logic level N-channel mosfet will fully saturate on with +5vdc on the gate.
Also the value of R1 is much too high and in fact the design will work even without R1 installed. It's purpose is to limit the current flow while charging and discharging the capacitance of the gate of the mosfet, and once fully charged or discharged there is no current flow at all as the gate is insulated for the rest of the device. A 100-330 ohm resistor would be fine if you wish to use one.
Finally the diode specified , 1N914, is a low level signal level diode and not really suitable for the application here of transient suppression. A standard 1 amp power diode like a 1N4004 would be a better choice.
PS: If you are planning on using the +5vdc from an Arduino board, please be aware that there is limited current avalible, say maybe 300-400ma, so be sure to measure what your motor actually draws (under planned motor load) to determine if you should be using an external voltage source or the Arduino as a voltage source.
Well that one is also NOT a logic level mosfet. It also requires +10vdc to run at full rated current. See figure 6 of the linked datasheet to see the gate voltage Vs source/drain current flow curves. Many (most?) logic level mosfets will have the letter L in their part number.
Lefty, Looking at fig 6 & 8, the part I found looks pretty good for Vgs =5V and under 10A of current.
I am glad I spoke up, the other parts look even better.
Lefty, Looking at fig 6 & 8, the part I found looks pretty good for Vgs =5V and under 10A of current.
I am glad I spoke up, the other parts look even better.
Yes in many cases a non logic level mosfet will function with +5vdc gate voltage, but the device will not be at it's minimum Ron value and thus dissipating more heat then it would if at full saturation.
Logic level mosfets are the mosfets of choice for Arduino applications and these days there are plenty of logic level devices to choose from and don't seem to carry a price premium over non-logic level devices.
I tend to cruse E-bay looking for bargains for such devices often in higher quantities. I bought some 50amp mosfets, logic level for like 10 for $5 a couple of years ago.