Go Down

Topic: Have Arduino uno got enough current for vibration motor ? (Read 13351 times) previous topic - next topic

Palatis

brushed motors usually have a high start-up (stall) current, like 6~20 times the normal current.

you should get ready for that before you digitalWrite(MOTOR_PIN, HIGH).

jeolex

These informations are so clear. Thanks for clarify me. So I have a idea but I don't know again it is possible or not :)

For example I have a adapter which is pretty enough for all of my project parts. And from adapter one of my output connect to arduino with some parts which are make it suitable for arduino card. The other output connect to dc motor, LCD, etc.  and act as an external power. Is it possible ?

jeolex


brushed motors usually have a high start-up (stall) current, like 6~20 times the normal current.

you should get ready for that before you digitalWrite(MOTOR_PIN, HIGH).


My vibrator motor's start-up current max 120 mA. It's mean that not possible to use pins for run dc motor. So I need to entegrate external power (for dc motor, LCD etc) and arduino card power in one power supply :)

wes000000

#18
Aug 01, 2014, 10:11 pm Last Edit: Aug 01, 2014, 10:13 pm by wes000000 Reason: 1
Which Arduino are you using. The Uno has a max current draw on 3V3 pin of 50mA per the Arduino info page. 5V pin is 200mA. Not sure if different models have different regulators or not.

And is the 120mA a true max or is that the continuous operating current. It may be the motor only takes 20mA or something continuous and so that 120mA figure may account for the initial current surge. Do you have a datasheet?

You are corrent the pins are not at all suitable to drive motor. You could get away with 5V pin if you used a low drop out 3V3 regulator, but that might be not options, just depends.
"I have not failed. I've just found 10,000 ways that won't work." - Thomas A. Edison

JimboZA

Quote
And from adapter one of my output connect to arduino with some parts which are make it suitable for arduino card. The other output connect to dc motor, LCD, etc.  and act as an external power. Is it possible ?


That's actually what I was picturing: the Arduino in parallel with various components, provided the voltages are either the same or adjusted somehow.

Here's a question though: presumably you want to switch the vibrator off and on? So even if it's supplied from the on-board 3V3, you'll still need to switch that with a transistor. Because if you don't, and simply switch the other side of the motor with an i/o pin, then that pin may be over-drawn.

And don't forget the flyback diode....
Johannesburg hams call me: ZS6JMB on Highveld rep 145.7875 (-600 & 88.5 tone)
Dr Perry Cox: "Help me to help you, help me to help you...."
Your answer may already be here: https://forum.arduino.cc/index.php?topic=384198.0

wes000000

Quote
And don't forget the flyback diode....


Famous last words... hahah
"I have not failed. I've just found 10,000 ways that won't work." - Thomas A. Edison

jeolex


jeolex


wes000000

Someone here with more experince can give their input here. But I would think you could get away with using the 3V3 pin (says it uses 52mA max operating current), and just put a beefy capacitor on pin so that when the motor starts up it draws its brief current surge from the capacitor not the pin.

http://www.adafruit.com/products/1589

And to switch on and off you would need a transistor or MOSFET
"I have not failed. I've just found 10,000 ways that won't work." - Thomas A. Edison

fungus


brushed motors usually have a high start-up (stall) current, like 6~20 times the normal current.


That's what capacitors are for...

Advanced Arduino

steinie44

Quote

This is true, but he specified his motor only used 120mA and the 3.3V regulator can source 150mA max. So why is that a no exactly?

Quote

So I have a project which contains LCD, phototransistor, IR LED, some buttons, potantiometer and vibration motor.


Palatis

LCD is power hungry, IR LED the second (like 5~20mA), others just trivial (like few mA).

if your LCD doesn't take current from 3.3v, the onboard LDO should just be enough to push the motor.

however a driver is needed (like a darlinton or MOSFET).
Darlintons got like 1.1~1.4v drop, so you might have to power it with 5v (you might need another diode to "drop" the voltage to <3.6v).
MOSFETs should have a low Rds (like 1 ohm), compared to the motor (65 ohm, specified in datasheet), so should be powered with 3.3v.

DuncanC


I have a vibration motor which is run with 2.5-3.5V, max current is 120 mA and motor resistor is 29 ± 6 ?.

So I have a project which contains LCD, phototransistor, IR LED, some buttons, potantiometer and vibration motor. I dont have a idea about that arduino uno's electric current is enough for this project. I know that digital pin max. current is 40 mA, is it also valid for 3.3V pin and 5V pin ?

Thanks.


According to the specs the Uno only puts out 50 mA max on the 3.3 volt line. You can't draw more than that from the 3.3 volt line, period.

Apparently the 5V regulated supply can put out like 880 mA, so you COULD use a voltage divider or an external regulator to step down the 5V to 3.3 and use that to power your motor.

I'm not an EE, but I have a decent understanding of how this stuff works. Here's one way you could do it. (I'm not an expert, verify this for yourself).

Based on my calculations, for a voltage divider you'd want 39 ohms for the "top" (R1) resistor, and 75 ohms for R2. You'd feed that into the collector of an NPN transistor and then connect your digital output pin to the base of the transistor through a current limiting resistor of around 270 ohms. You'd connect the emitter of the transistor to the positive lead of your vibration motor, connect the negative lead to ground, and then attach a flyback diode in parallel to the motor with the anode on the ground side and the cathode on the same side as the transistor emitter.

Here's what the circuit would look like (ugly drawing alert!)


wes000000

#28
Aug 02, 2014, 03:47 am Last Edit: Aug 02, 2014, 03:50 am by wes000000 Reason: 1
Quote
so you COULD use a voltage divider or an external regulator to step down the 5V to 3.3 and use that to power your motor.


You should never use resistor divider network as a power source.... not only does it waste a huge amount of energy as wasted heat, it also becomes a large problem because depending on current draw and voltage you will likely end up needing power resistors which tend to be more expensive. Plus you will likely not be able to get needed values in large power resistors as they tend to be lower resistances.

If you wanted to use 5V rail your best bet is a low drop out voltage regulator to regulate 3.3V

And 5V rail is not 880mA.  I believe the max rate is 800mA but you will not want to run that high due to heat dissipation issues. And not only that but this is all assuming you have external supply capable of that because USB certainly isn't. It has 500mA max and not all computers are even compliant to that standard.
"I have not failed. I've just found 10,000 ways that won't work." - Thomas A. Edison

wes000000

Honestly the whole issue is just becoming over complicated the best solution is as follows:

1. Get a power supply that is 9-12V and several amps just to be safe and leave room for future expansion and projects.

2. Connect Arduino to supply directly and on board regulator will regulate down to 5V for micro controller etc.

3. Then all other items of significant current draw should be connected to voltage regulators connected to the battery in parallel. So have a 5V regulator and a 3.3V regulator, for LCD and motor respectively.

3.5 All LEDs etc. (items of low current draw <= 20-40 mA) can be safely powered from pins

4. Make sure all grounds are common

5. Setup MOSFETs or transistors appropriately so you can turn motor and LCD off or on.
"I have not failed. I've just found 10,000 ways that won't work." - Thomas A. Edison

Go Up