Powering many (12) MEDS15 Servo Motors


#1

I am building a quadruped robot with 3DOF per leg, so I have 12 Makeblock MEDS15 Servos. They are awesome - but I am having a bit of trouble figuring out how to power them all.

I can get them each to work very well with the servo controller I have (an Adafruit PWM Arduino Shield ) with power supplied by 6v step up/step down converter, but they draw so much power that my robot has a “seizure” whenever I engage.

From the MEDS15 specs on the product page, I see that they use 450mAh during normal operation, with a stall current draw of 2.5Ah.

Other times that I have used a lot of servos, I get a battery that provides 120% of the theoretical max current draw - in this case, that would be 36Ah! I am not even sure how to do that without a power brick plugged into the wall :smile: If I assume that that only 2 will stall at any given time, I get 11.4Ah - a much more possible, but still very high amount.

I am thinking of getting a 7.4V, 10,000mAh LiPo, run through a 6v step up/step down converter to power my robot.

Do you think this would be enough power?
Any tips for powering/controlling this many MEDS15s?

Thanks!


#2

This sounds awesome auginator. Do us all a favor when you get this thing running and upload detailed info on your build.

Others correct me if I am wrong, but I suspect you won’t have any trouble just shooting 7.4 volts from the LiPo straight into the system; power reqs are pretty flexible on these arduino boards.


#3

I most definitely will, @jackbrown - I have been having a lot of fun designing different body shapes with the Makeblock components I have. I want to start with a dynamically stable gait - I have done it with little micro servos, but it’s a bit trickier with these beefy fellas!

I know that my voltage regulator is working nicely - it’s rated up to 35V - so I have that going for me. I dumped in ~16volts at 1Ah, and that was able to drive about 4 servos at a time quite reliably. Once one of them stalled though - forget about it!

I am curious to hear from the Makeblock team on whether or not 7.4V, 10,000mAh stepped down to 6V will provide enough juice for the whole system, since my primitive calculations (I’m no engineer!) make me think this will not be enough.

Thanks for your reply! I will post a cool pic of the bot in here when I get home :smile:


#4

You might want to put a dedicated power to the mainboard that is separate from your motor supply so that you don’t have to deal with any interference of “brownouts” from overloaded motors. The issue you are probably having is a voltage drop on load (maybe below 3v) and since you have so many motors the possibility of voltage sag without a really good regulator is high. Your project does sound pretty cool. One thing to try if you can’t use a separate power supply is to make sure you are using high current output (higher C rating) LiPos so that you experience less voltage sag.
You should try to get an actual measurement of your max load in volts and current. One of these in=line meters might help: http://www.amazon.com/gp/product/B001B6N2WK/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=1944687602&pf_rd_s=lpo-top-stripe-1&pf_rd_t=201&pf_rd_i=B0006O3H4Q&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=07S6GQFFTRYT1WRNWBXM


#5

Hi @danjger - Thanks for chiming in!

The servo controller I have does indeed have a separate supply for the servos.

I am powering the Arduino and the servo controller’s logic from either my computer’s USB port or from a 3.3v lipo. That part actually seems ok - I can tell because even when the servos start to spazz out, I can see that TX/RX over serial is still working. I have a serial “handshake” that I use to request and send test commands from a Processing application I wrote to the Arduino.

Is this formula for determining servo power needs correct?

Required Current = Number of Servos x Stall Current Draw

As I mentioned in my original post:

Do you have any thoughts on the big battery I am considering buying? It’s this 7.4 volt, 10,000mAh Lipo I found on Amazon.

PS: Thanks for the link to the in-line meter - I had never heard of that before!


#6

That is a big pack! All should be good on the power side. The current you calculate is correct but I hope you don’t stall all the servos at once. I suspect there must be an issue with the servo controller during the stall. What I suggest you do is search for common issues on the adafruit forums.
Sorry, I don’t think I am adding much to this thread.


#7

I placed the order for the big ol battery that should get me about enough juice to power the system(I hope)! I spent all night reading up on this stuff on forums, and double checking the specs for the Adafruit shield and the Pololu regulator. If I am reading everything right, it seems that power distribution will actually be a bit trickier than I had thought!

The Adafruit Shield limits the power the servos will draw to 3A, meaning that if I want to power them all, I will have to bypass the shield’s power circuit and provide power directly to the rails. Fine. But - the Pololu 6v step up/step down converter outputs a maximum current of 2A, so I can’t even provide the 3A in the first place with my current setup - That would only be enough to drive 4 or so servos in the at best!

Now I am thinking that I should be looking into a power distribution board of some kind? If I had 4 regulators, capable of between 2-3Ah each I could provide power to each leg individually. It kind of sounds like the kind of thing that RC Quadrotor pilots must deal with all the time, so I am looking into that. I put in an order for a BEC used for RC Quads on Amazon along with my order so I can test that idea.

I really wish there was an easier way, but I shall press on!

BTW - @jackbrown I added an image to the original post :smile:


#8

FYI I do a bit of electric R/C with multirotors and power and interference is a common challenge but we don’t ever deal with stalled motors like the R/C car guys do. My racing setup uses 11.2v and only 1300mAh but with 45C. 4 motors and 4 15A Electronic speed controls (ESC) connected to a PDU (power distribution board) the BEC ESC provide fairly clean voltage to the flight controller, video camera, video transmitter and receiver (some people use separate power for that but not typically in racers) No servos in a quad but the receiver can certainly power them. If you want to draw a load of current from the servos you usually need to add dedicated servo power and not rely on the receiver to do that. That is beyond my expertise but I think that is where you are going with this project. Maybe some of the RC Robot enthusiasts have some insight for you.


#9

I just wanted to post a quick update. I am quite happy because yesterday I got this project back on track! Thanks a lot to @danjger for all your advice, it really helped me figure out if I was on the right track or not. I did a bit of chatting on other robotics forums as well, and I this is where I am at!

####New Parts

  • 4X 6v 3A(constant)-5A(burst) regulators
  • The aforementioned ridiculous battery - Venom RC 7.4V 10K mAh 35C
  • A proper servo controller (A Lynxmotion SSC-32U)

####Progress
After getting the LiPo battery, I realized that this thing is overkill. Big time. I wish I had researched how the heck to interpret the LiPo “C” rating BEFORE I bought this thing. It is capable of putting out 350A of 7.4v! At least I won’t want for juice ever.

Once I got all the parts, I rigged up the bot so one regulator powers each leg, and a fifth one (the Pololu 6v I already had) powers the SSC-32U. I ended up having to bypass the power rails for the servos on the board, since I am grouping up servos. Everything works great!

Since I am a Mac user, I was unable to use the tools Lynxmotion provides for working with the SSC-32U, so I wrote up my own program to send commands to the board using Processing. I am happy to report that this is also working very very well. So now I am finally back to where I can start writing some code to make it walk!

One note - now that I have the Makeblock servos powered and controlled correctly I can confirm that these things are super strong and very fast! One of the servos died - but I think I probably was responsible for that. So for now I am down to 2DOF while I wait for my replacement to arrive. No worries, I already have the walking algos for that figured out!

I will post a picture, and maybe a video tonight!


#10

Awesome! glad to hear you are still all over this thing. I’m totally glad you shred the progress so far and I look forward to updates.


#11

The biggest realization came when I read the spec sheet for the SSC-32u - the difference of having a dedicated controller to handle all servos makes a big difference. It only took me about an hour to write the processing sketch that sends the required serial commands to move one group of servos, or all at once. I was super stoked to see that my current leg configuration allows for a stable tripod gait - that is key to having it walk.

You can check it out doing it’s creep gait here : https://www.instagram.com/p/_mI5iYJFcl/

For now, my bot is being controlled by a Processing program on my laptop(!). It’s really easy to get this guy moving around that way, and I can build GUIs super easily. The SSC-32u even has an XBee socket, which I am going to test soon! Ultimately, I am going to want a computer onboard - a raspberry PI - but while I work out

I’m working on turning algorithms now! In the video you can see a blue 3d printed part in that mess of wires - that is a bracket I made to hold the regulators for the legs in place. I made those little feet with my 3d Printer, too :smile:


#12

Sweet! you need to post in the showcase here.


#13

I will, once I put together a nice write up and video!


#14