Motor current draw from 5V pin MADNESS!

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.

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 :frowning:

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.

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

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".

kg4wsv:

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.

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.

Probably better stated as "it depends".

USB - Wikipedia

I guess wikipedia trumps the official USB specification. :expressionless:

-j

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.

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.

kg4wsv:

Probably better stated as "it depends".

USB - Wikipedia

I guess wikipedia trumps the official USB specification. :expressionless:

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

Ruffsta:
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.

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:

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:

This section describes the USB power distribution specification.

Section 7.2.1:

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

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