go away spammer

Author Topic: Best servo supplier?  (Read 6571 times)

0 Members and 1 Guest are viewing this topic.

Offline amadcowTopic starter

  • Jr. Member
  • **
  • Posts: 23
  • Helpful? 0
Best servo supplier?
« on: February 15, 2009, 03:07:21 AM »
I'm looking for good servo supplier which will give me the best pricing on some fairly precise servos.  I'm not very concerned with the speed as the accuracy of the servo.

Looking at the types of servos available, I think I'll be going with digital.

Offline amadcowTopic starter

  • Jr. Member
  • **
  • Posts: 23
  • Helpful? 0
Re: Best servo supplier?
« Reply #1 on: February 15, 2009, 08:08:57 PM »
Oh and also by accuracy I mean angle resolution. 

Offline Razor Concepts

  • Supreme Robot
  • *****
  • Posts: 1,856
  • Helpful? 53
    • RazorConcepts
Re: Best servo supplier?
« Reply #2 on: February 15, 2009, 09:26:53 PM »
Digital is the way to go, digital servos are constantly adjusting the motor to make sure the angle is correct. Look into the brands Futaba and JR, they are the most common servo brand out there.

Offline ArcMan

  • Supreme Robot
  • *****
  • Posts: 519
  • Helpful? 4
  • Mmmm... Plasma
Re: Best servo supplier?
« Reply #3 on: February 15, 2009, 10:08:49 PM »
As far as suppliers go, I usually buy from www.servocity.com.  Great selection.  Good prices.

Offline cosminprund

  • Robot Overlord
  • ****
  • Posts: 284
  • Helpful? 8
Re: Best servo supplier?
« Reply #4 on: February 16, 2009, 01:28:34 AM »
Oh and also by accuracy I mean angle resolution. 

I don't believe hobby-grade servos are really that precise, not even digital ones, because they're not designed to be that precise! Hobby servos are supposed to be used in RC-Whatever (cars, planes, helicopters, boats etc) and they're designed to work with an remote control. All the hobby grade remote controls that I've ever seen have trimmers to fine tune servo motion. The smart remote controls that I have seen don't have actual trimmers but a digital way of doing the same thing. What I'm saying is that it would be stupid for servo manufacturers to design really precise servos knowing they'll be used with remote controls that have "trimmers" to tune the "center point" and the gain when moving left and right :) In such situations Economics always wins.

Make sure you get a good estimate of the number of distinct positions your servo can stop at. Just because you can have an infinite number of pulse lengths between 1 ms and 2 ms it doesn't mean the servo can stop in an infinite number of positions! For one thing the digital servos are probably going to use pretty ordinary MCU to implement the PID; This MCU will read the POT position using it's ADC. I'm pretty sure the maximum resolution offered by the MCU's ADC is 10 bit (1024 positions) and more likely 8 bit (256 positions). Next you have a problem with the MCU in the servo receiving the servo PWM: there has to be a limit in resolution, can't guess an number right now but it has to have a limit. Next you'll have an other problem with your MCU making up the servo PWM! Yet an other problem with resolution, you can't generate an PWM with infinite variations in the pulse length. If you do the math you have 3 error sources in the same equation: error when the MCU in the servo reads the POT, error when the MCU in the servo reads the servo PWM, error when your MCU sends the servo PWM. Things are not looking good. I think Webbot provided an estimate of maybe 90 distinct position for an servo, I don't know where he got that but it seems like an good number, maybe a tad optimistic. And oh yes, just because the servo can stop at 90 distinct positions don't expect those positions to be at precise angles! (don't expect to have exactly 0.5 degrees between each stop). Again, it's a rounding problem and it will cause variation.

My purpose is not to steer you away from hobby servos, they're probably the best solution if you're on a budget (and who isn't)? I just want you to have realistic expectations as to how precise those servos are. To get the same info from a different angle take a look on youtube. I tyred finding some precision robots designed using hobby grade stuff:

This is the milling hexapod, really nice stuff:
http://www.youtube.com/watch?v=quN37YskoaM&feature=PlayList&p=0783F594D1868071&playnext=1&index=9
The face milled is grate! Yet you can easily see the errors in positioning.

This is the  Scorbot robotic arm writing it's name:
http://www.youtube.com/watch?v=K08DKrg4GKo
This robotic arm doesn't use hobby grade servos, it uses something with optical encoding on each axis. Yet it doesn't manage to write perfectly accurate lines! They're grate lines, but not perfect;

Offline amadcowTopic starter

  • Jr. Member
  • **
  • Posts: 23
  • Helpful? 0
Re: Best servo supplier?
« Reply #5 on: February 16, 2009, 12:50:18 PM »
On the issue of precision error, let me make sure I'm understanding servo deadband correctly:

Given a normal servo with the PWM range of 1ms - 2ms, the deadband is the quantized intervals for defining each angle in that 1ms - 2ms range.

For example, a 2us (.002ms) deadband for a servo 180 degree range and a PWM range of .600ms to 2.400ms would have a theoretical degree resolution as follows:

.002ms*180degrees/(2.400ms-.600ms) = .2degrees

So this particular servo should be able to move at .2 degree intervals granting that the microcontroller is able to send a PWM with a resolution of at least 2us.

The specs are for this server that I'm looking at:
http://www.servocity.com/html/hs-5085mg_servo.html


Offline cosminprund

  • Robot Overlord
  • ****
  • Posts: 284
  • Helpful? 8
Re: Best servo supplier?
« Reply #6 on: February 16, 2009, 02:54:41 PM »
I don't know what deadband is so I asked google and read about 5 sources. Here's what I understand it is: The servo sees a pulse length of "C" microseconds from whatever is controlling it (an other microcontroller or an RC receiver). It makes up an equivalent number "P" based on the current pot position. If Abs(P-C) is less then the "deadband" then the servo does nothing (doesn't move). The quoted value for the deadband is probably an indication for the best case scenario, but it only takes into account one variable of the equation that gives best resolution. ADC error (reading the pot), comparator error (reading the PWM signal), pot error - those things are not taken into account - yet they exist. Your equation seems correct but it's not taking everything into account so the 0.2 degrees are probably not going to happen.

There's an other interesting aspect related to the Hitech servo: you can apparently use an programmer and set the deadband to 0: does that mean the servo can actually handle that deadband? If not - is it actually capable of handling the 2 us deadband or is that marketing hipe?

Because as I see it a lot of the errors come from the PWM signal itself and because I like the OpenServo project I made a google search for this "precision site:http://www.openservo.com" (AKA: search for "precision" on the OpenServo forums). Do that search, there's at least one interesting result, but overall I find the number of "precision" hits on the openservo site discouraging!

http://www.openservo.com/forums/viewtopic.php?t=766

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Best servo supplier?
« Reply #7 on: February 21, 2009, 03:33:20 AM »
Quote
I think Webbot provided an estimate of maybe 90 distinct position for an servo, I don't know where he got that but it seems like an good number, maybe a tad optimistic. And oh yes, just because the servo can stop at 90 distinct positions don't expect those positions to be at precise angles! (don't expect to have exactly 0.5 degrees between each stop). Again, it's a rounding problem and it will cause variation.
The number of distinct positions will vary by servo type and servo brand. 90 is more of an upper limit, where you might just see 80 or even 60 positions for some servos.

As for precision, the best I've seen is 1.5 degrees (no load). As soon as you apply any torque to the servo, accuracy will easily decay to 3 degrees or more (dependent on torque, brand, and servo type).

If you care about perfect accuracy, read this:
http://www.societyofrobots.com/robot_faq.shtml#robot_accuracy_tradeoff

Offline amadcowTopic starter

  • Jr. Member
  • **
  • Posts: 23
  • Helpful? 0
Re: Best servo supplier?
« Reply #8 on: February 22, 2009, 01:32:03 PM »
Well I was hoping to have servos with more than 90 positions from a 180o range of rotation servo.  Optimistically I want a 1o precision.

Is there anyway I can calculate this preicison when given the specs on a servo on servocity.com?

For example:

   

Detailed Specifications
   

Control System: +Pulse Width Control 1500usec Neutral
Required Pulse: 4.8-6.0 Volt Peak to Peak Square Wave
Operating Voltage Range: 4.8-6.0 Volts
Operating Temperature Range: -20 to +60 Degree C (-68F to +140F)
Operating Speed (4.8V): 0.17sec/60° at no load
Operating Speed (6.0V): 0.13sec/60° at no load
Stall Torque (4.8V): 50oz/in. (3.6kg.cm)
Stall Torque (6.0V): 59.7oz/in. (4.3kg.cm)
Operating Angle: 45 Deg. one side pulse traveling 400usec
360 Modifiable: Yes
Direction: Clockwise/Pulse Traveling 1500 to 1900usec
Idle Current Drain (4.8V): 3mA at stop
Idle Current Drain (6.0V): 3mA at stop
Current Drain (4.8V): 200mA/idle and 2.0 amps at lock/stall
Current Drain (6.0V): 240mA/idle and 3.0 amps at lock/stall
Dead Band Width: 2usec
Motor Type: Carbon Brush
Potentiometer Drive: 6 Slider Indirect Drive
Bearing Type: Dual Ball Bearing MR106
Gear Type: Metal Gears
Connector Wire Length: 7" (178mm)
Dimensions: 1.14" x 0.51"x 1.18" (29 x 13 x 30mm)
Weight: .77oz (21.9g)

My initial calculations of dead band width in my earlier post seems very off to the best you've seen.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: Best servo supplier?
« Reply #9 on: March 01, 2009, 06:47:19 AM »
Quote
Is there anyway I can calculate this precision when given the specs on a servo on servocity.com?
nope

If you want better precision, your only option is to use encoders with higher than 1 degree precision on your servo.

 


Get Your Ad Here