6-legged Spider rob...
 
Notifications
Clear all

6-legged Spider robot power issues

6 Posts
3 Users
1 Likes
660 Views
RVBarrett
(@rvbarrett)
Member
Joined: 2 years ago
Posts: 11
Topic starter  

Have a new project that I am working on and am in need of some assistance/suggestions on the power supply situation.

I'm building a six-legged spider bot with three 9-gram servos per leg. One hip servo, a knee servo, and one foot servo per leg. That's 18 x 9-gram servos and may want to add a few more before I'm done.

I have selected a 7.2 volt NiCd RC car battery for the power source. This 7.2 volts will go to the Vin of the Arduino Nano and into a buck/boost power supply PCB (model to be determined here). Output of the buck/boost supply will go to the terminal block on the PCA9685 (16 channel PWM board) to power all these servos.

Here are a few of my questions-

1. can I power the Arduino Nano 5V+ off the buck/boost supply in parallel with the servos?

2. How much will a 9gram servo draw while moving?
3. Will a 9-gram servo draw any less supporting the robot while static?

4. How much current should I budget for 18 (call it 20 active servos)?

5. How many amps should the buck/boost supply supply to my robot?


   
Quote
Will
 Will
(@will)
Member
Joined: 3 years ago
Posts: 2528
 
Posted by: @rvbarrett

Have a new project that I am working on and am in need of some assistance/suggestions on the power supply situation.

I'm building a six-legged spider bot with three 9-gram servos per leg. One hip servo, a knee servo, and one foot servo per leg. That's 18 x 9-gram servos and may want to add a few more before I'm done.

I have selected a 7.2 volt NiCd RC car battery for the power source. This 7.2 volts will go to the Vin of the Arduino Nano and into a buck/boost power supply PCB (model to be determined here). Output of the buck/boost supply will go to the terminal block on the PCA9685 (16 channel PWM board) to power all these servos.

Here are a few of my questions-

1. can I power the Arduino Nano 5V+ off the buck/boost supply in parallel with the servos?

Yes, but why not power the Arduino through its VIN pin directly from the 7.2V lipo.

2. How much will a 9gram servo draw while moving?

You need to check the servo's datasheet for that information.

3. Will a 9-gram servo draw any less supporting the robot while static?

Maybe, again check the servo's datasheet.

4. How much current should I budget for 18 (call it 20 active servos)?

20 times the current draw from question 2 approximately.

5. How many amps should the buck/boost supply supply to my robot?

The answer to question 4 plus 40 mA for the Arduino and the sum of whatever other modules like sensors that you have running from the Arduino.

We can't really help you much until you look up the data pertaining to the servo you're using. Since you're using a lipo pack you probably don't have to worry about its ability to draw the current, but may need to consider the amount of time the device will be operational.

Anything seems possible when you don't know what you're talking about.


   
ReplyQuote
RVBarrett
(@rvbarrett)
Member
Joined: 2 years ago
Posts: 11
Topic starter  

The Smraza Micro Servo S51 180deg angle rotation's limited data sheet says, 

operating voltage 4.8V
running current 90mA 
peak stall current 750mA

so 0.090 x 20 gives 1.8A to run all servos

would that be the correct budget for the PWM boards?

--

1. when the NiCd battery voltage dips below 5.0V the boost/buck will still output a clean 5V+ where the Nano may have difficulty powering from Vin with only 5 volts applied.  


   
ReplyQuote
Will
 Will
(@will)
Member
Joined: 3 years ago
Posts: 2528
 
Posted by: @rvbarrett

The Smraza Micro Servo S51 180deg angle rotation's limited data sheet says, 

operating voltage 4.8V
running current 90mA 
peak stall current 750mA

so 0.090 x 20 gives 1.8A to run all servos

Yes but you're forgetting the maximum .75*18 = 13.5 Amp maximum stall current. I don't think you'd ever get anywhere near that unless you parked your robot under a car and tried to lift it, but you should probably add 20% to 100% of your 1.8A to allow for the power required to hold the servos in position even when they're not moving.

Better still, connect a set of three servos, move each of them to a specified angle and measure the actual draw when they're just holding position since it seems that the datasheet doesn't give you clear data for holding current (which will depend on load).

You always want to have the capacity for at least 10% more power than you'll need to avoid over-stressing the batteries.

1. when the NiCd battery voltage dips below 5.0V the boost/buck will still output a clean 5V+ where the Nano may have difficulty powering from Vin with only 5 volts applied.  

Ooops, I went from 7.2 volts in my head directly to lipo. The load from 18 servos will potentially drag the voltage down noticeably and may result in unstable operation of the Arduino. You'll definitely need at least a capacitor across the power into the Arduino to try and minimize that fluctuation.

Depending on how long you expect your battery to last, I would think that hooking it directly to the Arduino could still be your best option to limit interference from the servos. It would be easy to switch the leads, so maybe try both ways and use the better option.

Anything seems possible when you don't know what you're talking about.


   
Inq reacted
ReplyQuote
Inq
 Inq
(@inq)
Member
Joined: 2 years ago
Posts: 1900
 
Posted by: @rvbarrett

The Smraza Micro Servo S51 180deg angle rotation's limited data sheet says, 

operating voltage 4.8V
running current 90mA 
peak stall current 750mA

so 0.090 x 20 gives 1.8A to run all servos

Your last line... that is where things diverge from reality.  The 90 mA is the unloaded current draw... meaning you have nothing attached to the shaft and you make it move to some other location.

@will is right... a serious product company, engineering department would probably be conservative and just take the 750mA multiplied by the number of servos and have that available.  A toy company would be have a small fraction of that and let you burn out the servo for built-in obsolescence.  A hard-core company like Boston Dynamics would probably rig all the power externally, run all wiring to the bot and test it is all kinds of bad situations and just measure the power needed. 

Some things to note...

  • you put any attachment (say your bot's leg) on the shaft and turn it the inertia alone will cause it to be higher than 90 mA.
  • If there is any restriction on that leg, the current draw will be higher still.
  • If there is some load (standing) on the servo and it is not moving, it will be drawing a lot of current just keeping that leg in position.

Here is the basic engineering behind what you are asking... A simple example

  • Say your bot weighs 18 ounces total.
  • Say it's not moving and all 6 legs are planted on the ground - Just standing.
  • Say the legs are placed evenly about the bot and configured as such with the horizontal distance from the axis of the servo to the foot being 4 inches.
Bot
  1. Each leg takes 1/6 of the weight to hold the bot up.  Each leg 18/6 = 3 ounces.
  2. The moment (for this situation torque and moment are the same) about the shaft for the hip joint is the product of distance and force:  Torque = 3 ounces * 4 inches = 12 oz-in.
  3. The stall torque for many of these 9 gram servos is 22 oz-in.  So that means you're using over half of the available torque simply to hold the Bot up.
  4. Let us assume that the torque and current draw is linearly related.  This is not the case, but it is the best estimate we can do with what they give us.  
    1.  At 0 torque, the servo draws 0 current
    2. At 22 oz-in torque, the servo draws 750 mA current.
  5. So... at 12 oz-in / 22 oz-in * 750 mA =  409 mA
  6. This is the current being drawn, just standing by one hip servo.  
  7. Now all 6 are drawing 6 * 409 = 2454 mA.
  8. You would also need to do the same calculations for the knee servo... cheating and assuming that they are half the horizontal distance (2") to the foot, the total current for all the knees = 1227 mA.
  9. So total current draw just standing would be 2.5 + 1.2 = 3.7 amps (at 5V).

As for your original question...

Posted by: @rvbarrett

Here are a few of my questions-

1. can I power the Arduino Nano 5V+ off the buck/boost supply in parallel with the servos?

2. How much will a 9gram servo draw while moving?
3. Will a 9-gram servo draw any less supporting the robot while static?

4. How much current should I budget for 18 (call it 20 active servos)?

5. How many amps should the buck/boost supply supply to my robot?

  1. Yes, @will's suggestion about putting a capacitor on the line makes sense to handle voltage drops caused by servo's slurping the current.
  2. If you only move one leg at a time... lift it up (5 others are planted and stationary) it will draw far less than the 5 other legs holding up the robot.  I'd take a WAG that it'd be far less than 100 mA depending on the weight of all the gear you have on the leg.  But remember the above calculation assumes all 6 are in contact holding the bot up.  You'd need to do the same calculation with 5 legs in contact and add it to the 6th leg moving load.
  3. No... actually holding the body up takes more current than moving the leg.
  4. Cutting it thin, you'd need to do the calculations above for your actual bot to get the total.  Note the servos that are pivoting the leg forward/backward don't take any current just standing still.  Only while moving the leg forward... again minimal ~100mA.
  5. Enough to handle #4.  In this example, you ought to assume at least 4 amps.

If something is unclear above, let me know.

VBR,

Inq

 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, WiFi Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
RVBarrett
(@rvbarrett)
Member
Joined: 2 years ago
Posts: 11
Topic starter  

I have ordered an adjustable power supply board that says it's rated at 5Amps.  I hope that's enough to get this little guy walking.  Not trying to do Boston Dynamics backflips with this one.  Thanks for all the assistance and evaluation.  


   
ReplyQuote