Aliased from USB Power Supplies, WallSupplies, Power Supply, Power Supply Unit and PSU
When you're working on your robot you'll likely want to plug it into a wall socket rather than run it from batteries. You'd call that a Bench Power Supply.
We'll focus on the Raspberry Pi since it generally requires more power than other microcomputers/microcontrollers. Most processors suitable for small robots require either 5 volts or 3.3 volts, but if they have a USB connector on them it's likely so you can use a USB charger as a power supply. Obviously, read the user manual.
The Raspberry Pi requires a 5 volt power supply and generates an onboard regulated 3.3 volt supply for its peripherals. You can use a reliable USB Power Supply (5 volts) with enough current capacity to run your processor (e.g., Raspberry Pi), your sensors, motors and any other accessories (such as displays).
Note: we'll cover battery packs elsewhere.
So How Much Power?#
Since you're building a robot, not an alarm clock, at very least a 3 amp supply is probably recommended. With sensors and motors you may need something even bigger. You may need to add up the estimated power consumption of all your components and add a bit extra for safety. Or use a very large power supply and actually measure the power consumption using a multimeter while your robot is running.
Jaycar sell a Mean Well 70W 5V 14A Power Supply that actually delivers 70 watts (5 volts at 14 amps, do the math) for NZ$54.90. It's not as pretty as the Apple unit but as a bench power supply it looks pretty good. Here's the specs:
- Full range 85~264VAC input
- Withstand 300VAC surge input for 5 seconds
- High efficiency, long life and high reliability
- Operates from -30°C to 70°C under air convection without a fan
- Extremely low no load power consumption
- Complete protective functions
- Power on LED indicator
- 5G anti-vibration capability
- Complies with international safety standards.
- 100% full load burn-in test
- 3 year warranty
- Input Frequency: 47-63Hz
- Cold Start Inrush Current: 50A
Rather impressive.
Some Pi Power Requirements#
Product | Recommended PSU Current | Maximum USB peripheral draw | Typical bare-board consumption |
---|---|---|---|
Raspberry Pi Model A+ | 700mA | 500mA | 180mA |
Raspberry Pi Zero W | 1.2mA | Limited by components | 150mA |
Raspberry Pi 3 Model B+ | 2.5A | 1.2A | 500mA |
Raspberry Pi 4 Model B | 3.0mA | 1.2mA | 600mA |
The above is a portion of the table from the Raspberry Pi FAQ. There's also a table showing typical power usage "during standard processes" (which doesn't include driving your robot up a steep incline). They define a "stressed" Raspberry Pi 3B as using 1.34 amps. Stall current on a robot motor can be 5 amps. Most robots have at least two motors.
Hmm. Clearly we need to think about this a bit more.
What is a Switching Power Supply?#
I'd put his real gift under the transformer and when he opened it there were some laughs, ha ha. For a minute. He then picked up the transformer and dropped it into what he thought was an empty box full of wrapping paper, except it wasn't empty. It contained the Royal Albert tea cup I'd just given my mom. Ugh. — Murray
Some power supplies (what we might call "old school") use a transformer to convert the wall voltage (110 volts in the Canada, the US and Japan, 200-240 volts in most of the rest of the world) down to the low voltage (5-12 volts) used for our robot. The more power we needed, the larger the transformer. The amount of power that could be delivered was almost a direct relation to the size the transformer. Transformers can get big and heavy.
A Switching Power Supply (also called a "switched-mode power supply) doesn't use a big transformer. Most laptop power supplies are switching power supplies. If you're on one of the robot vendor web sites you'll see switching power supplies advertised. AdaFruit sells a 5 volt 10 amp for US$30, another one for $25. Most of these units have the benefit of being able to run from either 110 or 240 volts.
The only issue is that most of them don't end in a USB connector but rather a male DC plug; you'd have to convert that to a micro USB male, which is what's on most microcontrollers. Perhaps we need a Recipe on how to convert power from DC male plug to micro USB...
Dishonest Advertising?#
The problem is, the companies selling USB chargers are not always very clear about the power ratings of their products. Apple seems to be the worst: they sell two adapters (listed as the Apple 87W USB-C Power Adapter and the 96W USB-C Power Adapter) that are likely the most expensive on the market and are not showing their output ratings in watts but seemingly their power requirements, i.e, not what they deliver but what they use. Of course it says nothing about this on the box. It's 87 watts, right?
Apple is really relying on the ignorance of its customers here.
I made the mistake of buying the 87 watt unit for NZ$120 (wow!), opening the box and finding in fine grey print on the adapter a confusing bunch of different amperage ratings at voltages, but at 5 volts the unit delivers 5 volts at 3 amps (i.e., 3000 mA or milliamps). It says this nowhere on the box; I had to unpack the unit and read the 0.8mm light grey text, then return it to the store.
What's strange is that Apple has delivered honest reporting on its other units. Their tiny 5 watt unit delivers 5 volts at 1 amp. Their 12 watt unit delivers 5.2 volts at 2.4 amps. They provide technical specification for these smaller models, but the "Tech Specs" for the 96 watt model just says "USB C". What gives?
This is where having a bit of your own knowledge is good. These are the two pertinent formulas:
amps = watts ÷ volts watts = amps × voltsIf the Raspberry Pi people say your Pi needs 3 amps, that's not how much power the adapter is using (including power wasted through conversion, heat, etc.), it's how much it's required to deliver.
Some of the units I've found say they supply 3 amps but over two separate USB connections, or say they deliver 3.1 amps but have two USB sockets, so is that 3.1 amps for the whole unit or only 1.55 amps per socket? It's hard to tell when vendors aren't honest. I've got a 3SixT USB charger that has this on the bottom:
Input: AC 100-240V~, 50/60Hz 0.8A Max USB 1 Output: 5V = 2.4A Max USB 2 Output: 5V = 2.4A Max
Of course, on the box it said it was a "4.8A" unit, but it only delivers 2.4 amps per USB socket, which won't do if I need 3 amps (I use it for the 8" monitor for my Pi). At least it on their packaging and their website this was clear. I've another USB charger that has two sockets and says it delivers 3.1A, but doesn't say if that's for the whole unit or per socket. As it's slightly smaller than the 3SixT adapter I'm guessing the whole unit.
It's a tricky business, and rather difficult to figure out. If your power supply is running hot or your Raspberry Pi resets sometimes due to a brownout (the voltage may dip below 5 volts if the adapter can't supply the necessary amperage), your power supply is probably not big enough.