Pages: [1]   Go Down
Author Topic: Motor current draw from 5V pin MADNESS!  (Read 1196 times)
0 Members and 1 Guest are viewing this topic.
Rhode Island - USA
Offline Offline
Full Member
***
Karma: 0
Posts: 157
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I have my arduino powered via usb and have connected this motor https://www.sparkfun.com/products/10171? to the 5V pin on the arduino directly.

I have a 1n4001 diode connected across the motor.

No load current I find to be: 210-230mA

I partially stopped the motor and saw the current draw rise to 1A.

THIS IS MADNESS!!!
How is this even possible, I thought usb could only supply 500mA.

Logged

0
Offline Offline
Sr. Member
****
Karma: 8
Posts: 394
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I partially stopped the motor and saw the current draw rise to 1A.

Placing drag on the motor causes the current to rise toward the stall level.  Thus if the motor coil has 5ohm resistance, a 1amp current is quite possible.

USB standard requires 500 milliamp supply.  An externally powered hub can provide more.  I hope you are not directly powering with your laptop usb. You do not want to conduct a 'smoke test' on your pc  smiley-sad
Logged

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
How is this even possible, I thought usb could only supply 500mA.

That is probably a minimum specification so manufacturers of webcams, scanners and such that are powered solely from the USB port know how to design their equipment. The upper limit would be a function of the supplying device and how it is designed, and may be subject to variations. 
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

0
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
That is probably a minimum specification so manufacturers of

No, 500mA is the maximum for USB according to the USB specification (versions 1 and 2, anyway, not sure about USB3).

USB spec says a device can have 100mA for "free", and can negotiate with the host for up to 500mA.  In practice, many hosts will supply 500mA without negotiation.  There are also other deviations from that spec, such as the Macs that provide 1A or more for charging iPads.

Powering a motor directly from an output on the arduino will kill the processor - maybe one output pin, maybe the whole IC.  The maximum for a single pin is 40mA (that's on the original ATmega8, newer may be a bit higher but similar).

Keep trying to drive a motor from an output pin and you will kill your arduino, if you haven't already.

-j
Logged

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
No, 500mA is the maximum for USB according to the USB specification (versions 1 and 2, anyway, not sure about USB3).

Probably better stated as "it depends".

http://en.wikipedia.org/wiki/Universal_Serial_Bus
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
That is probably a minimum specification so manufacturers of

No, 500mA is the maximum for USB according to the USB specification (versions 1 and 2, anyway, not sure about USB3).

USB spec says a device can have 100mA for "free", and can negotiate with the host for up to 500mA.  In practice, many hosts will supply 500mA without negotiation.  There are also other deviations from that spec, such as the Macs that provide 1A or more for charging iPads.

Powering a motor directly from an output on the arduino will kill the processor - maybe one output pin, maybe the whole IC.  The maximum for a single pin is 40mA (that's on the original ATmega8, newer may be a bit higher but similar).

Keep trying to drive a motor from an output pin and you will kill your arduino, if you haven't already.

-j


If you read the post it says the motor was powered fro the 5V power pin on the arduino.
Quote
I partially stopped the motor and saw the current draw rise to 1A.

Placing drag on the motor causes the current to rise toward the stall level.  Thus if the motor coil has 5ohm resistance, a 1amp current is quite possible.

USB standard requires 500 milliamp supply.  An externally powered hub can provide more.  I hope you are not directly powering with your laptop usb. You do not want to conduct a 'smoke test' on your pc  smiley-sad

What is wrong with powering it via a laptop usb? please explain.

The arduino was powered using a desktop computer, not the motherboard but the case.
Logged

0
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Probably better stated as "it depends".

http://en.wikipedia.org/wiki/Universal_Serial_Bus

I guess wikipedia trumps the official USB specification.  smiley-neutral

-j
Logged

Inland Empire, California, US
Offline Offline
Sr. Member
****
Karma: 6
Posts: 282
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
What is wrong with powering it via a laptop usb? please explain
Nothing, but you must stay within the limits of what usb can safely supply- <500ma, otherwise you risk damaging the computer. Absolute maximum current depends on your computer's hardware and it is really not something you want to test.
Quote
The arduino was powered using a desktop computer, not the motherboard but the case
USB power all comes from the same place- your motherboard, no matter if you your plugged into your front ports, rear ports, or top ports. Some external Hubs are powered seperately from the computer and can provide more current. In general, it is unwise to run power hungry motors off your usb because their stall current can be very large.
Logged

0
Offline Offline
Tesla Member
***
Karma: 141
Posts: 9470
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Probably better stated as "it depends".

http://en.wikipedia.org/wiki/Universal_Serial_Bus

I guess wikipedia trumps the official USB specification.  smiley-neutral

looks like your offcial USB specification is totally optional. Post your official USB specification link.
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

0
Offline Offline
Shannon Member
****
Karma: 200
Posts: 11740
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I have my arduino powered via usb and have connected this motor https://www.sparkfun.com/products/10171? to the 5V pin on the arduino directly.

I have a 1n4001 diode connected across the motor.

No load current I find to be: 210-230mA

I partially stopped the motor and saw the current draw rise to 1A.

THIS IS MADNESS!!!
How is this even possible, I thought usb could only supply 500mA.



Firstly the datasheet for the motor shows the max-efficiency current as 1.28A - so that is a clue it can
take more current than the no-load rating.

An ideal DC motor takes no current at nominal speed and unlimited current under load...  Realistic
DC motors have stall-currents from ~10 to perhaps ~100 times the no-load values, depending
on size and efficiency.

But most importantly:  Don't power a motor directly from a computer's USB port - you really do
risk bricking the computer.

Keep motors and digital electronics on separate supplies if at all possible.  Expect the motor to
pull its stall current, make sure the supply can handle this situation.
Logged

[ I won't respond to messages, use the forum please ]

0
Offline Offline
Faraday Member
**
Karma: 8
Posts: 2526
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
looks like your offcial USB specification is totally optional. Post your official USB specification link.

http://www.usb.org/developers/docs/usb_20_110512.zip

Download, extract, view file usb_20.pdf.  This document is:

Quote
1.2 Objective of the Specification

This document defines an industry-standard USB.  The specification describes the bus attributes, the  protocol definition, types of transactions, bus management, and the programming interface required to design and build systems and peripherals that are compliant with this standard.

So, this is the official standard.

Section 7.2:

Quote
This section describes the USB power distribution specification.

Section 7.2.1:

Quote
The power source and sink requirements of different device classes can be simplified with the introduction of the
concept of a unit load.  A unit load is defined to be 100 mA.  The number of unit loads a device can draw is an
absolute maximum

Quote
A device may be either low-power at one unit load or high-power, consuming up to five unit loads.  All devices default to low-power.  The transition to high-power is under software control.  It is the responsibility of software to ensure adequate power is available before allowing devices to consume high-power.

So, your device can have "1 load unit", or 100mA, for free.  If your device wants more than 1 load unit/100mA, it may be configured for up to 5 load units (500mA) after appropriate software-controlled negotiation.

I know my original arduinos did not have the FTDI chips configured to negotiate for the full 500mA (use the FTDI-supplied configuration tool to examine/change this).  I don't have any of the newer Atmel USB interfaced arduinos, so I don't know anything about their power negotiation characteristics.

-j
Logged

Pages: [1]   Go Up
Jump to: