Power issues

I was having issues powering my LCD as I mentioned on a post a while ago, and it was never really resolved. I started doing more testing and decided to eliminate the arduino from the question, so I hooked up just a USB cable to my computer ( with the other end cut and stripped) and plugged the pos and gnd wires into a breadboard.

WIth no load I get 5.1V but as soon as I put a 90mA at 5V load on the power and ground, my voltage drops to 4.85 ish... This explains why when I was drawing the 120mA for my display I was seeing 4.5 to 4.6V. It also likely explains the noise on the power line itself because I am pulling too much current and so the output is become unstable from the computer.

But why is it my computer USB can't even supply 90mA without having issues, I was under the impression USB ports could source 500mA... makes me wonder all my devices I've charged over the years have been receiving sub par voltage...

Strictly speaking a USB port should not provide 500mA until that level of
current has been negotiated over the USB protocol.

In practice most USB hosts just provide the 500mA maximum without problem.
However a power-conscious host might implement full power negotiation.

Note that older USB 1.1 hosts only provide 150mA max.

However there might be another issue, such as a fault in the hardware or a
dirty USB socket or a faulty (or counterfeit) USB cable.

I know my ports are USB 2.0 so the USB 1.1 standard wouldn't be the issue.

Is there any way to know how much current ports are supposed to provide without enumerating with windows? or does that depend on the computer manufacturers preference?

I think I will try different USB ports and see if I get different results.

Is there any way to know how much current ports are supposed to provide without enumerating with windows?

Yes it is 100mA, if it is strictly adhering to the rules. Don't forget that the Arduino itself takes about 35mA.

Ok, thank you both very much for the info about the USB standards. It appears by computer might be slightly off from those standards because I tried all 6 USB ports (front and back) and at 90mA which is close to 100mA it averaged 4.9V so my USB ports may be slightly under or maybe there is power loss due to the USB cable itself, but either way it is close to spec.

For my last round of testing I eliminated the Arduino from the question so the additional 35mA wouldn’t be there. However the reason I started investigating is because with the Arduino I was getting 4.6 volts our of the 5V pin at 120mA while hooked up to USB.

So does the Arduino not enumerate in such a way as to get the access to the full 500mA? If not then everything is as it should be and my computer is just very strict about its power distribution and I will need an external power source for LCD (not an issue). If the arduino should have access to 500mA through USB then I still have an issue.

So does the Arduino not enumerate in such a way as to get the access to the full 500mA?

I don't know, but your computer is free to refuse any request for more power anyway, so it might be asking but your computer says no.

I don't know, but your computer is free to refuse any request for more power anyway, so it might be asking but your computer says no.

Keeping that in mind, I think my approach for now is just going to be to use a separate power source for my LCD and let the USB just run the Arduino itself.

Ok I have a very weird piece of new information. I took a wall wart that is labeled as outputting 5.0V at 550mA and hooked it up to my breadboard. All I have on my circuit is two 100 ohm resistors in parallel between 5V and GND to create a current draw of 100mA. Due to error in the resistor etc the exact current draw averages at around 90mA. But either way it is well well under 550mA and yet the voltage is dropping to 4.8 volts or so.

It seems extremely odd that two independent power sources (Arduino and wall wart would both be failing to provide 90mA properly. Is it possible there is some issues with my breadboard?

Afaik usb never provides accurate 5V/100mA at least here :slight_smile:
The wiki says:

The USB 1.x and 2.0 specifications provide a 5 V supply on a single wire to power connected USB devices. The specification provides for no more than 5.25 V and no less than 4.75 V (5 V ± 5%) between the positive and negative bus power lines (VBUS voltage). For USB 3.0, the voltage supplied by low-powered hub ports is 4.45–5.25 V.
A unit load is defined as 100 mA in USB 2.0, and 150 mA in USB 3.0. A device may draw a maximum of 5 unit loads (500 mA) from a port in USB 2.0; 6 (900 mA) in USB 3.0. There are two types of devices: low-power and high-power. A low-power device (such as a USB HID) draws at most one-unit load, with minimum operating voltage of 4.4 V in USB 2.0, and 4 V in USB 3.0. A high-power device draws, at most, the maximum number of unit loads the standard permits. Every device functions initially as low-power (including high-power functions during their low-power enumeration phases), but may request high-power, and get it if available on the providing bus.

True, and I had already come to terms that my computer may in fact just be outputting not exactly 5V, but a 5V wall wart rated at 550mA should have no issues whatsoever providing 90mA at 5V which is why it got me thinking there may in fact be another issue here.

A cheap usb cord with high Gauge wire can cause voltage losses . A cheap power supply running @ 20 % load may not be able to provide the voltage specified. I have seen both cases. But 5% fluctuation isn't completely unrealistic. If it were rated at 30 amps and showed the problem you are describing then I would have concerns.

Fair enough. Well I guess this is just further evidence i need to get going on my DIY bench power supply project! Thanks for the help!