Compatibility of MOSFET versions to 12V DC motor

Hello,

I want to make a project to basically control a 12V DC motor through an UNO R3 board.

I understand from my research that I need a Mosfet transistor to amplify the 5v from the board to 12v in the motor.

Looking at local supply stores, they have basically a Mosfet IRF540N and Mosfet IRF520N for sale.

I'm not sure if the 540 is compatible, and I understand that the 520 will only go to 10v.. is that correct?

Do you have any recommendation on which type of transistor to buy (even if I have to order it online)?

Thank you.

Sparkfun has selected this one : https://www.sparkfun.com/products/10213

The IRF520N and IRF540N are not a "logic level" mosfet. It will not fully turn on with the 5V of an Arduino pin.

A bunch of these will probably be okay : http://www.ebay.com/sch/i.html?_sop=15&_nkw=mosfet+logic+to-220&LH_BIN=1

Neither are logic level - they need 10V minimum to switch properly.

You need a logic level device whose switching characteristics (on resistance) are quoted for 4.5V. Typically manufacturers indicate this with an "L" in the part number.

For your purposes you don't need a high-voltage part (both those are 100V MOSFETS), get a lower voltage device, the performance does down rapidly with max voltage.

For instance: http://www.adafruit.com/products/355

(There's a mistake on that page, the Vgs is +/-20V max, not 2.35!

You haven't stated any specifics regarding this motor beyond "12V", but using a FET (MUST use a FET) isn't an absolute.

Hi,
Thanks everyone for the replies.

The exact specifications of the motor are:
28BYJ-48 Valve Gear Stepper Motor DC 12V 4 Phase Step Motor Reduction Arduino
[bought from ebay]

I also attached a picture of it. Is there a reason why it has 5 wires, not 4?

Thanks.

That is not a DC motor, it is a stepper motor.

You can use the ULN2003 driver chip for it with the Arduino Stepper motor library. http://arduino.cc/en/Reference/Stepper

Here is a schematic why there are 5 wires. The 28BYJ-48 stepper motor is everywhere on the internet.

Thanks Peter_n.

I have to admit that it’s quite overwhelming if you’re like me without knowledge of electronics or much programming, even with all the online information which I try to use prior to asking help.

I’m trying to figure out what components I need in order to not burn anything up or short-circuit anything.

The motor in question has “12V DC” written on it.
I have an UNO R3 ATmega328P board, the motor, and some sensors.

I think I am currently missing just the transistor mosfet. Can you advise if there is an easier way to connect the motor and make it work, or maybe another component that I need that I’m missing?

From this image for example, even though it seems like the same motor and the label on it says 5v… (why??), I think that all that is needed is the motor, transistor, board, and breadboard. right?

Thanks.

Sorry for being overwhelming. Read this post step by step and have a glance at the links.

When I search for this stepper motor, I find that it is 5V to 12V ;) It is a stepper motor, that means that current is more important than voltage.

Do you know what a stepper motor is ? It is not possible to connect it to 5V or 12V and make it turn. It is a uni-polar stepper motor with magnets inside. http://en.wikipedia.org/wiki/Stepper_motor This shows that it makes small steps : https://www.youtube.com/watch?v=kAyDmovM18E

You can buy a normal DC motor and control it with a mosfet. Or you can continue with the stepper motor, and you need a ULN2003, or a module with the ULN2003. In the examples I see they all use the same module. It costs a dollar : http://www.ebay.com/sch/i.html?_sop=15&_nkw=uln2003+%28board%2Cmodule%2Carduino%29&LH_BIN=1

Hi,

Yeah of course I've read what a stepper motor is etc. and it's internal workings. But - if it's 5V-12V doesn't that mean that it needs a power supply from a 12V battery, or for example from the USB connection to the computer?

About the connections, I think I prefer to stick with the step motor because I need bi-directional movement. I found a driver "Pololu TB6612FNG Dual Motor Driver Carrier" which when connected on the breadboard should allow the driver to work without short-circuiting, right?

Thanks.

This motor driver is for a DC motor : https://www.pololu.com/product/713 It is for two DC motor, and can also be used for a single bipolar stepper motor.

You have a uni-polar stepper motor !

A normal DC motor can run forward and reverse with a H-bridge. Most motor drivers for DC motors have a H-bridge.

A bipolar stepper motor requires also a H-bridge to reverse the voltage for a coil. That youtube movie with the battery and making steps, that is a bipolar stepper motor.

Your uni-polar stepper motor, doesn't need an H-bridge, it needs a sequence that powers one or two of the four coils with 5V (or 12V).

I think you have still two options: 1 ) Use a DC motor with motor driver. It is strong, and with a gear a lot stronger. It can turn in both directions. 2 ) Continue with the stepper motor, it is for a precise rotation/angle and it is weak.

Remember : If you don't understand it, then it's my fault for not explaining properly ;)

Hi, Thanks :)

My goal is to move the motor exactly 90deg and then "back" 90deg to the original position. The movement will move a long plate/stick in a vertical position, along it's long axis.

I read on the difference between DC and servo, and I think servo might be better for this kind of goal. Am I correct?

Also, if I get a servo, there are for example with "15 kg/cm at 6 V" but the kg/cm can range from 1.5 to 15 so I'm not sure how much actual power in layman's terms this would give me... And if it's a 6V, will it be able to be connected directly to the 5V Arduino or do I still need the motor driver (pololu)?

Last thing, if I get a DC motor, is it better to get a 5V one or a 9V one, because for the 9V I will need the driver but I'm trying to use as few components as possible.

Thanks!

yafimski: My goal is to move the motor exactly 90deg and then "back" 90deg to the original position. The movement will move a long plate/stick in a vertical position, along it's long axis. I read on the difference between DC and servo, and I think servo might be better for this kind of goal. Am I correct?

Sounds very much like a job for a servo. But just how big is this long plate/stick? How about a picture or at minimum a very detailed description? What does it do?

yafimski: And if it's a 6V, will it be able to be connected directly to the 5V Arduino or do I still need the motor driver (pololu)?

Servos are directly driven from the Arduino as they contain their driver electronics. You need no other driver circuitry but you do need a separate power supply for the servo.

yafimski: Last thing, if I get a DC motor, is it better to get a 5V one or a 9V one, because for the 9V I will need the driver but I'm trying to use as few components as possible.

For a DC motor, you will always need the driver whatever the voltage. You can never power it from the Arduino. General Message - no motor can be powered from the Arduino.

Ah, okay great, that was quite helpful Paul. :slight_smile:

I can’t really describe the plate because nothing is done yet, it’s all in my mind, but I think it’s basically like a turning sheet of flat material, something like an “automatic window blind” let’s say. Probably the plate is going to be light-weight, and be quite long, and it will open and close with the help of the motor. I’m guessing much power won’t be needed because it will spin on the vertical axis so it doesn’t need to pull any weight, just turn on an axis.

I am planning to try and make it run without being connected to a computer, although that part is of course not worked out yet, first I want to plug it into a computer and see if it works. So I’m guessing that a servo-based setup will be best to study so it will be more of use later on, right?

If I got everything right, what I need is arduino–>servo motor (with driver included)<–battery.
right?

Now, I read some threads on this forum about the power supply for the servo, but let’s say I get a 6V servo, what kind of battery is the best for it in terms of amps and voltage? Do you have a suggestion?

Thanks. I’m really thankful for all the replies guys.

Arduino Servo library : http://arduino.cc/en/reference/servo The Arduino pin is directly connected to the signal pin of the servo motor. The electronics are inside the servo motor. Also the servo GND (black wire) is connected to the Arduino GND.

The power for the servo motor can be 5V. Most servo motors are 4.8 to 6.0V. The peak current of a Servo motor can be 0.5A of 1A.

These are servo motors to start with: https://www.sparkfun.com/products/11965 https://www.pololu.com/product/1058

If you are going to use batteries, then a pack of four alkaline AA cells would do nicely.

Hi guys,

update - I bought 2 servo motors:

1 - Servomotor, 1.5kg/cm at 4.2V

2 - Servomotor, 9kg/cm at 6V

I'm not sure I can connect the first one to the arduino directly, can you confirm that this is the way to go? (servo directly to arduino).

Both don't seem to require any outside power supply, so the arduino will power it directly through the computer while it's connected right?

Thanks.

no you can drive them from an arduino pin (arduino pin to servo signal pin), but an arduino can't power the servo. The current needed will be far too high for an arduino to provide. BTW, a link to your sevos would be helpful

Hi, I bought them in a small store, not online, but these are products that look exactly the same:

http://www.ebay.com/itm/rc-Servo-mini-micro-9g-sg90s-for-tower-pro-Rc-helicopter-Airplane-Foamy-Plane-E-/261649877675?pt=LH_DefaultDomain_0&hash=item3ceb8c4aab

http://www.ebay.com/itm/WK-M0900-9KG-Metal-Torque-Steering-Gear-Servo-Motor-for-RC-Car-Airplane-/371013403133?pt=LH_DefaultDomain_2&hash=item56621f41fd

I guess I should follow this photo right? : http://4.bp.blogspot.com/-XrpUEo0tswE/UbCTQO8bFiI/AAAAAAAABSM/cXmis5twC10/s1600/final+draft.jpg

Thanks.

Hi guys,

I didn’t quite understand why you said I need a separate power for the servo, if there are many images like this online (attached).

any clarification?

Thanks!

There are many images like that. True. But there are also many questions on this forum about an Arduino that is resetting when the servo motor starts turning.

A simple small servo motor could require a peak of 0.5A (or more) when it starts turning. The problems can be avoided with an regulated 5V power supply, that powers all the servo motors.