PDA

View Full Version : [Question(s)] Servos or Steppers?



ROBOTMAN
06-11-2009, 12:01 AM
I need to build a robot arm for my robot butler project. At first I though a simple arm with basic cheap servos would work but it turns out it wont. The nicest servo powered arm I could locate for under $500 could only lift 13oz. For a robot butler that isn't very much. The $448 dollar price tag with out controller also put me off. Now my question is dose anybody know where to get a cheap robot arm capable of lifting 1lb or more. Or at least cheap servos with extremely high torque. Also as the title say I was wondering if I should switch from servos to stepper motors. Stepper motors seem more powerful and cheaper however I wonder how hard they are to control with a computer. Also where can I get a cheap stepper motor robot arm. Or at leas a stepper motor controller that can control six or seven stepper motors.

lnxfergy
06-11-2009, 08:44 AM
The general rule is: you can do it the expensive way or the hard way. "cheap servos with extremely high torque" do not exist, unless maybe you are building them in your basement... and then you have to question, what is your time worth, and are they really cheap anymore? People tend to complain about the cost of the bioloid kit, but given that I make quite a bit of money each hour I work, it's worth it to me to have an awesome supply of servos/brackets that I can build just about anything from in an evening. Generally, you will get what you pay for (if you do it the hard way, you'll be paying with time, which really is just money anyways). I used to spend lots of time designing things I could have bought, to save a few dollars. Then I realized: you just can't compete with China, if you can buy a module that does what you want, do it, you're gonna waste months building a knock-off... and in the end, you might very well have spent just as much money.

Stepper motors aren't as widely used in hobby robotics (they are quite prominent in certain parts of industry), typically people use them because they got them for next to nothing, and they insist on using them. Most controllers are likely to be either home-brew or industrial..

If you really insist on using cheap servos... you'll probably have to crack open your physics book, or one of those "501 mechanical thingamabobs" books to come up with a set of mechanical advantage devices for your arm... and of course, that means it will be REALLY slow.... since cheap servos really are slow to begin with.

-Fergs

MikeG
06-11-2009, 09:30 AM
I agree with Fergs...

Minimum lifting force is 16oz. So a 5" arm requires 5*16oz or 80oz-in. This does not include link and motor weights. You should have enough information to make a decision.

nbdeveloper
06-11-2009, 10:14 AM
Hey guys, what if...

...he bought 2 Phidgets Stepper motor controllers (2 x 58.30 = $116.6):
http://www.trossenrobotics.com/phidgetstepper-unipolar-usb-4-motor-stepper-controller.aspx

...and for the stepper motors got these (6 x 22.50 = $135)
http://www.trossenrobotics.com/store/p/5883-Unipolar-Stepper-Motor-12VDC-7-5DEG.aspx

With a holding torque of almost 190 oz-in each, would it work if the arm was short? (that puts it at $250 + shipping). Of course there's the materials into building the brakets too. Even if it could be done I bet it would be slow.

Take a look at the image here:
http://www.lynxmotion.com/Product.aspx?productID=662&CategoryID=133

There is a balancing spring that I'm guessing helps balance the weight distribution and helps reduce the torque required for the lifting servo. Is that right?

As Ferg pointed out there is the "time is money" aspect. Something I run into is all the unforseen costs. What if you don't have the right sized drill bit? If you can't find it by itself at $4 then you'll have to buy it in a kit for $10. What about any extra wire or connectors you find you need later? All this stuff adds up.

Dunno, that's my 2 cents. And that's all I have left after building my robot (if it can even be called a robot :confused: with no arms).

-NB

lnxfergy
06-11-2009, 10:31 AM
Hey guys, what if...

...he bought 2 Phidgets Stepper motor controllers (2 x 58.30 = $116.6):
http://www.trossenrobotics.com/phidgetstepper-unipolar-usb-4-motor-stepper-controller.aspx

...and for the stepper motors got these (6 x 22.50 = $135)
http://www.trossenrobotics.com/store/p/5883-Unipolar-Stepper-Motor-12VDC-7-5DEG.aspx

With a holding torque of almost 190 oz-in each, would it work if the arm was short? (that puts it at $250 + shipping). Of course there's the materials into building the brakets too. Even if it could be done I bet it would be slow.

Take a look at the image here:
http://www.lynxmotion.com/Product.aspx?productID=662&CategoryID=133

There is a balancing spring that I'm guessing helps balance the weight distribution and helps reduce the torque required for the lifting servo. Is that right?

As Ferg pointed out there is the "time is money" aspect. Something I run into is all the unforseen costs. What if you don't have the right sized drill bit? If you can't find it by itself at $4 then you'll have to buy it in a kit for $10. What about any extra wire or connectors you find you need later? All this stuff adds up.

Dunno, that's my 2 cents. And that's all I have left after building my robot (if it can even be called a robot :confused: with no arms).

-NB

You would still need to add a feedback loop.... tune it so as not to oscillate, etc. Steppers may skip/jump if they are under heavy load...

-Fergs

robologist
06-11-2009, 02:32 PM
...and for the stepper motors got these (6 x 22.50 = $135)
http://www.trossenrobotics.com/store/p/5883-Unipolar-Stepper-Motor-12VDC-7-5DEG.aspx


-NB

That stepper does have 190 as a holding torque (http://www.solarbotics.net/library/pdflib/pdf/motorbas.pdf), but is that oz-in or gm-cm? Steppers are of this size are weak and would believe this one to have low moving torque. Note that "holding torque" is greater than the dynamic torque in steppers.

Teaching arms like Rhino arm or Scorbot use DC gearmotors with encoders. Manufacturing arms can use BLDC motors on harmonic drives with encoders. Steppers this size are adequate for cheap printers.

ROBOTMAN
06-11-2009, 11:37 PM
From what I hear stepper motors won't work is this true? I am willing to put in tons of time but I would prefer to spend under $500. Nbdeveloper's plan sounded like it would work well but whats holding torque? Dose that mean it can lift 190oz or dose that mean it can only hold 190oz. I think a good idea would be to mix steppers and servos. How hard is it to create this feedback loop? Also how precision are steppers. Are they like servos where you can just give them a degree to go to or do they require more advanced programming. Sorry for all the questions but most of my experience is with servos and basic motors.

nbdeveloper
06-13-2009, 10:07 AM
I don't know much about steppers, never worked with them, only read about them...a little. The list I made was more exploratory than a solution. :)

The holding torque is a measure of the amount of force the motor can exert on the output shaft if all the windings are on. I don't believe you would get the same torque when it steps (even a full step vs a half step). I found a really good PDF on steppers over on solarobotics:

http://www.solarbotics.net/library/pdflib/pdf/motorbas.pdf

I was going to suggest a particular section, but pretty much, just read the whole thing. :tongue: Based on the PDF if a 190 oz-in (Trossen doesn't say whether its oz-in vs gm-cm) and a full step only uses 2 poles in a 4 pole winding then that makes it half the holding torque. I think. Also, looking back at the product after reading the PDF...that stepper has a 7.5 degree step. Seems kind of high, but I guess it depends on how long the reach is on your arm. 7.5 degrees can telescope kind of big on a 12 inch long arm.

I learned a few things about steppers today too. They are "open loop" because there is no feedback telling you thier position. You can keep track of thier position by keeping track of thier input signals (to step). As Inxfery pointed out you would need a feedback loop to "tune" the control of the stepper. The PDF points out the potential for a stepper to oscilate. Fergs also pointed out that the stepper can slip so you'd lose your position by only counting the input. That's why you would need an optical encoder...which requires more hardware/stuff.

[NB's robot noob perspective on encoders:]

So you got this disk thing that has different colors (back and white) mounted on your motor. Then there's an extra bit of hardware (optical encoder) that "looks" at the disk as its spinning around with your motor and "tells" you where its at. Even if the stepper slips, the optical encoder keeps track of the position because it tracks the change directly from the ouput shaft by recognizing the change from white to black on the disk.

This video might help:

http://forums.trossenrobotics.com/tutorials/how-to-diy-128/control-a-dc-motor-from-your-computer-2283/

If it was up to me, I'd stick with servos, as expensive as they are. Just save up for what you need, or buy them a piece at a time. From a noob perspective there seems to be more information and support for them as opposed to steppers.

ROBOTMAN
06-13-2009, 11:50 AM
Thanks for the detailed responses! I think Ill stick with servos too. I think I might use these to help up the torque. http://www.servocity.com/html/spg425a_standard_rotation.html

robologist
06-13-2009, 02:45 PM
[disclaimer] I found a really good PDF on steppers over on solarobotics:

http://www.solarbotics.net/library/pdflib/pdf/motorbas.pdf



Kinda like the same one I linked above? ;)

ROBOTMAN
06-13-2009, 04:32 PM
Where? I only see a link to the stepper motor pdf. By the way thanks nbdeveloper for the pdf. I have two more questions though. The servo helpers in my last link say they have a 5:1 gear ratio. I took that to mean for every ounce of torque the servo puts out the servo helper turns it into five is this correct? If this is correct and I have a servo that outputs 100oz-in then I should get 500oz of torque right? So lets say I connect it to the bottom of a 15in long robot arm that weighs a total of 20oz "one more servo helper+grippers+linkages "sorry I keep calling them servo helpers but I don't know what else to call it"" anyways than I would need a minimum of 260oz of torque to lift the arm and an extra pound. This means my 500oz-in servos could lift the arm plus an extra 16lbs? Dose that sound slightly off to anyone? If I can lift 16 lbs though than I found my custom arm! If somebody would check my work that would be great. Im on summer break now so my minds already miles off.:)

robologist
06-14-2009, 01:31 AM
Where? I only see a link to the stepper motor pdf.

See the underlined italicized text in my response to nbdeveloper, the "holding torque" ? Clicking that would have opened up the same pdf that nbdeveloper linked later.


The servo helpers in my last link say they have a 5:1 gear ratio. I took that to mean for every ounce of torque the servo puts out the servo helper turns it into five is this correct? If this is correct and I have a servo that outputs 100oz-in then I should get 500oz of torque right?

Correct so far, except for some undetermined subtractions for gearing efficiency.


So lets say I connect it to the bottom of a 15in long robot arm that weighs a total of 20oz "one more servo helper+grippers+linkages "sorry I keep calling them servo helpers but I don't know what else to call it"" anyways than I would need a minimum of 260oz of torque to lift the arm and an extra pound. This means my 500oz-in servos could lift the arm plus an extra 16lbs? Dose that sound slightly off to anyone? If I can lift 16 lbs though than I found my custom arm! If somebody would check my work that would be great. Im on summer break now so my minds already miles off.:)

Torque is a rotational force acting at a distance, and those distances must always be used in calculations. Starting with your servo at 100 oz-in, amplified but slowed down through a servo power gearbox, aka gear reduction box, the servo in perfect efficiency is now able to turn 500 oz-in based on the gear output shaft. If you add your 15 in arm, that weighs 20 oz, that 20 oz can be said to act at a point midway between the gear connection and the end, to simplify calculations. So the weight of the arm only can be said to act at 7.5 in and subtract (20 x 7.5) = 150 oz-in from the 500 oz-in available, leaving 350 oz-in. Any weight acting at the end of the arm will be acting at the full 15 in distance, so that 15 must be divided out from the remaining 350 oz-in to get the weight that can be lifted. (350 / 15 ) = 23.3 oz, so that arm can just lift about 23 oz at the end of the 15 in arm.

If there is a need for 16 lbs to be lifted at the end of a 15 in arm, that would be 16 lb x 16 oz/lb x 15 in = 3840 oz-in of torque required. And it is best to exceed this by a bit, so that the load can be moved, not just held.

nbdeveloper
06-14-2009, 09:56 AM
Alright, I guess I can't give out any rep power to the same person I last gave it to, but I think you deserve it again robologist. Thanks for walking us both through the process of figuring out those calculations.

avayan
06-23-2009, 02:06 PM
Allow me to step in, in favor of steppers. Don't take me wrong. RC Servos are cool, but steppers do not need to be as scary as they usually are.

The first thing you need is an easy to use stepper driver. My favorite at the moment is the DRV8811. It just came out but I have been playing with for a while and let me tell you, there is no easier driver for a bipolar stepper out there. All you need is a direction control signal and a STEP signal to move the stepper. That's it!

People are afraid of steppers and their open loop. However, the great majority of CNC routers and plasma cutters out there, as well as a good deal of laser engravers, use steppers with no close loop whatsoever! This is because if designed properly, there is no need for closed loop. If there is enough current for the stepper to move, the stepper will hold the accuracy. Resonance? Yes, it can happen. But that is why microstepping helps. Which is another aspect the mentioned driver offers. You can do single step, half step, quad or eight step. And because everything is done internally, you don't have to worry about this intricacy.

On the other hand, what I recommend to drive more and more torque is to use gear reductions if possible. With robotic arms, this is practically a must. Think about how the base has to carry the weight of every body else, whereas the tip of the arm only needs to carry one motor. With gear reduction you will get better performance, I think. This of course applies for both stepper as well as RC Servos, but I think it is easier to use gear reduction with steppers, as RC Servos are already gear reduced to whatever it is that they were designed to.

The other advantage of steppers is that you can have higher voltages and larger currents. This will increase your speed and torque quite a bit. With RC Servos, you are pretty much done for. You can always buy larger RC Servos and gain more torque, but the voltage (as far as I know) never goes above 6V to 7V.

My two cents on this interesting topic.

billyzelsnack
06-23-2009, 03:13 PM
Don't steppers weigh a lot more than servos for a given torque output? Especially when you slap an additional gearbox on the stepper?

ROBOTMAN
06-23-2009, 08:35 PM
Yes steppers do weight more than servos I think but with the added gear box I'm not sure. Avayan did make a good argumentation for steppers however my decision is made in favor of servos.

Adrenalynn
06-23-2009, 11:36 PM
but I think it is easier to use gear reduction with steppers, as RC Servos are already gear reduced to whatever it is that they were designed to.


"using gear reduction on servos" is as easy as typing in your credit card number... ;)

Did you notice also that the vast majority of applications you quote for steppers are bordering on zero shaft-torque applications? They benefit more from the repeatability and precision of steppers.

avayan
06-24-2009, 10:19 AM
"using gear reduction on servos" is as easy as typing in your credit card number... ;)

Did you notice also that the vast majority of applications you quote for steppers are bordering on zero shaft-torque applications? They benefit more from the repeatability and precision of steppers.

Very nicely put! What I meant about the gear reduction is that Servos already come with internal gear reduction and adding more does not seem reasonable. At least not to me. You are right, though. Getting the gear reduction you require into an RC Servo is as quick as getting that VISA out of the wallet and WHAMO!

I had not looked at CNC applications from that point of view. I guess the "gear reduction" is accomplished through the use of the lead screw or the belt, but either way the torque is minimal. The robot arm, however, will have a pretty good weight to lever.

I still think that steppers can be used to build an arm. Maybe one day will get me busy with that project just to prove me wrong and learn at the same time.

Adrenalynn
06-24-2009, 12:32 PM
I think it's most certainly possible to build medium to large-scale arms from steppers/screws. Screw math is not all that tough (hmm, I see an intro/primer tutorial coming there, think I'll write that tonight maybe), and they pair quite nicely.

I think it'd be a pretty expensive proposition unless one has some pretty hardcore machine shop at hand.

Here's an example of plunking-down the credit card for additional gear reduction on servos:
http://www.servocity.com/html/spg400a-360_360o_rotation.html

For ~$225ish/servo, 4500oz-in is certainly doable.

There's also nothing says you can't build a hibred arm - a combination of lead screw for the shoulder and maybe the elbow, and then go servos out from there, lowering the weight away from the fulcrum.

ScuD
06-24-2009, 12:36 PM
uhm, I wouldn't go so far as to say CNC machines use little to no torque... In fact metalworking CNC machines use loads of it, small metal mills need at least 2Nm of torque to be of any use. Haven't seen much RC servo's with 2Nm around...

Then again, the bigger machines won't use steppers, they use DC or AC servo's.

I think comparing motors can only be done given the same application for those two motors, which has been done here, so I guess I just put up another useless post.

Meh..

ooops
06-24-2009, 04:43 PM
Something I have wondered about briefly in the past but have not given any "real" thought to, and since it would/could have an application similiar to the current thread I will toss it out:
A sudo power steering system for servos. Using small scale hydraulics to assist servos similiar to the power steering system in an auto.
It seemed a very plausible idea when I came up with it a few beers into an evening, but I haven't thought it through ... so has anybody else had enough to drink in the past to have already worked out why this is a bad idea?
I probably should elaborate more on the idea, but sorry it is beer time ... gotta go:)

ROBOTMAN
06-25-2009, 04:13 PM
Not sure if that would be cost effective. Might as well just go all hydraulic instead of having to coordinate servos and hydraulics. Seems like hydraulics might be hard to build too.

ScuD
06-25-2009, 04:49 PM
I think it's interesting in the way to actually control the hydraulics.
I've always thought of plain solenoid valves, maybe in conjunction with flow meters for simple feedback, but a servo driving a torque-valve ( I have no idea if that's what it's called though, literal dutch-english translation) would greatly simplify the electronics since those are tried and tested technology.

Mechanically it would be one hell of a challenge, but I'm dying to see someone pull this trick off.

Cost would indeed be through the roof though, I've yet to find a simple way of designing small low pressure hydraulic valves / pumps etc. on hobby mill/lathe

ROBOTMAN
06-25-2009, 05:14 PM
I'd like to keep it under $1000 so hydraulics are out but once I'm done it might be something interesting to add.

ROBOTMAN
06-28-2009, 09:54 AM
I have two new questions.

1. If I am adding a gear to my servos and this gear is 3" wide how do I convert that to a ratio for torque like 5:1 I think its called the gearing ratio. If that didn't make sense then sorry.:)

2. I need to remove my servos pot and attach a new one I assume that how many ohm's it resists is important if I still want it to work. Dose anybody know what type of pot the HS-645MG servo uses?

ScuD
06-28-2009, 10:30 AM
1) ratio can be determined by the diametrical ratio. Meaning if the gear on the servo is 1" diameter and the driven gear is 2", the ratio would be 2:1, same as with teeth count. this is a little off since the teeth mesh into eachother, thus reducing the diameter on both, but hey...

2)No idea what value the pot is, but make sure you get a linear and not a logaritmic one.

robologist
06-28-2009, 10:34 AM
Q 1. 3" / 5 (from the 5 to 1 ratio) means a 0.6" diameter gear if going down in torque, or 3" x 5 for 15" if going up in torque.

Q 2. Perhaps opening up the servo and measuring the pot with a multimeter might help. I'd guess it to be 5k, maybe 10k.

lnxfergy
06-28-2009, 11:06 AM
1. If I am adding a gear to my servos and this gear is 3" wide how do I convert that to a ratio for torque like 5:1 I think its called the gearing ratio. If that didn't make sense then sorry.:)

Size is not the important part, the # of teeth is what matters, if one of the mating gears has 5 times as many teeth as the other one, you have a 5:1 reduction....


2. I need to remove my servos pot and attach a new one I assume that how many ohm's it resists is important if I still want it to work. Dose anybody know what type of pot the HS-645MG servo uses?

Most pots are gonna be on the order of ~10k... what matters more is whether its linear taper or exp. But none of this matters, if you just buy a servoCity massive servo: http://servocity.com/html/top_mount_servo_power_gearboxe.html

-Fergs

robologist
06-28-2009, 04:40 PM
Size is not the important part, the # of teeth is what matters, if one of the mating gears has 5 times as many teeth as the other one, you have a 5:1 reduction....

-Fergs

Size is actually quite important in gears, as matching gear pitch requires that a gear with 5 times as many teeth will be 5 times the diameter of a smaller gear.

ROBOTMAN
06-28-2009, 04:50 PM
OK I have changed my mind a lot but I think I'll go for the pre made gear box. I though I could make a cheaper one but the savings is small and the arm would look less professional.

lnxfergy
06-28-2009, 04:54 PM
Size is actually quite important in gears, as matching gear pitch requires that a gear with 5 times as many teeth will be 5 times the diameter of a smaller gear.

Yes... but if you have matching gear pitch (and not having it will be a major problem), you can be a lot a more accurate using the # of teeth instead of the diameter..... further, aren't most gears listed by pitch and teeth count, rather than diameter?

Measuring diameter of course leads to lots of fun problems: which diameter? Most people will just hook thier calipers up and measure the overall diameter, but when a gear goes by it's diameter, is actually the diameter at about half way down the tooth (where the gear mating will take place..)

-Fergs

lnxfergy
06-28-2009, 04:55 PM
OK I have changed my mind a lot but I think I'll go for the pre made gear box. I though I could make a cheaper one but the savings is small and the arm would look less professional.

When it comes to simple machines... it's tough to outperform Chinese manufacturing...

-Fergs

jes1510
06-28-2009, 06:31 PM
Actually I think the pots in most servos are 5k. Measure it to be sure though.

Adrenalynn
06-28-2009, 11:39 PM
I don't think I've ever even thought about the diameter of a gear - unless it's "will it fit in this space" - I'm always sorting by pitch first, then tooth-count. Same with sprockets - which are nothing but gears with a large space between them... ;)

ScuD
06-29-2009, 01:05 AM
In my mind the ratio's are all about the diameter - Yes, the tooth count is an easier and more accurate way of determining the ratio, but what if we're working with pulleys?

If you know the basic concept is based on leverage you can figure it out for gears, pulleys, sprockets - heck- even levers! ;)

Granted there's catches - as i stated before, with gears the diameter you're calculating with will be slightly smaller on both due to meshing, as with pulleys since the belt usually sinks in a bit and has the most friction surface at the sides- but it's all just a simple basic rule that applies to -a lot- more than just gear ratio.