I'm using a TowerPro SG90 Micro Servo and having trouble getting it powered through the Beaglebone Blue. I apologize for the wall of text, but i've tried quite a bit before coming here and want to make sure you all get everything I've found. I also apologize for the lack of pictures, i didn't photo-document things, but I have tested everything multiple times.
Problem: When attempting to drive servo(s) from BBB's powered servo rail, servo(s) just click and don't move at all.
SG90 info:
Signal 50Hz
V+ : 4.8-6V
Connected to BBB by USB cable. Connected 14.4V (up to 60 Amp) power supply to DC in.
Tested Items:
1) When no servo's are attached, powered rail is 6V (TRUE)
2) When no servo's are attached, signal rail has 50Hz (TRUE)
Add servo to setup
3) Signal rail is still 50Hz (TRUE)
4) Powered rail is still 6V...
4A) At (normalized) pulse of 0 (TRUE)
4B) At any other pulse width (FALSE) it varies between 1.2V and 5V
At this point the Voltage rail is fluctuating wildly. I decided to check if there was an induced signal in the voltage rail.
5) Frequency on Voltage Rail at ALL non-zero (normalized) pulse widths is 4Hz
So i decide maybe the servo is bad.
6) All above results duplicated across 3 known good servos
So, lets try pulling power from somewhere else.
Using a 5V bench power supply with SEPARATED ground from BBB
BBB Signal - signal in
Bench 5V Power - V+
Bench Ground - V-
Yes, bad design. Should use BBB Ground, or tie BBB ground to bench ground... but
7) Servo runs as intended.
8A) Check V+ for induced signal (None found)
8B) Check V+ for voltage variation under load (none found, always 5.2V)
8C) I'm unable to measure the current with my setup, however specs say 550mA for this servo.
So... Now we fix some things up.
With Bench supply 14.4 V to BBB DC in this scenario the 5V is achieved by a DC-DC converter (10-15)V - 5V. So the ground is ultimately shared by all connected electronics.
9) Repeat all test with same results.