SMALL - espritmodel.com SMALL - Telemetry SMALL - Radio
Reply
Thread Tools
Old Mar 30, 2006, 01:30 PM
Registered User
Joined Mar 2005
17 Posts
Discussion
Help on digial servos...

I'm sure these questions have been posted before, though I haven't been able to find them yet. Please send me a link if this thread is redundant!!

I think I’m missing something with digital servos and I’m hoping someone on this forum can set me straight. Everyone talks about how great the servos are, more precise, more torque…

I’ve attached the one document I’ve been able to find so far explaining the differences between servo types and I can certainly understand the decreased “deadband” because the servo is receiving 300 pulses a second instead of 50 thereby providing a more uniform signal. The document also shows how much quicker a digital servo reaches it’s maximum torque, but it’s on the order of 60 MICRO-seconds (that’s 0.000060 seconds)!! That can’t be something we’d be able to “see”.

Here are specs for 2 JR servos (below), one digital and its comparable analog servo. Both servos put out 17 oz-in of torque, so I don’t see the holding power difference. I’ve read of people having control surface blow-back with a 15 oz-in analog servo, but have no problem with a 17 oz-in digital servo. That just doesn’t make sense to me.

So, please tell me what I’m missing out on. I’m sure someone will be able to say, “You’re not considering this,” or, “No! You have it all wrong, here’s how it really is,” or, “Digital servos are a big scam to make everyone want to buy the next big thing.” Any one of those would be perfectly acceptable. Thanks in advance.

Eric

DS281 Sub-Micro Digital Servo
Torque: 17 oz/in
Speed: .23 sec/60°
Dimensions: .45 x .85 x .87 in
Weight: .32 oz
Bearing: n/a
Motor Type: cored ferrite
Gears: Nylon

S241 Sub-Micro Servo
Torque: 17 oz/in
Speed: .18 sec/60°
Dimensions: 0.45 x 0.87 x 0.85
Weight: .32
Bearing: N/A
Motor Type: 3-pole Ferrite
eweisbro is offline Find More Posts by eweisbro
Reply With Quote
Sign up now
to remove ads between posts
Old Mar 31, 2006, 04:04 AM
Can you spot the giraffe?
daleksw's Avatar
Glasgow, Scotland
Joined Jun 2005
832 Posts
Not surprised you're confused, the manufacturers do a terrible job of explaining this!

First thing to realise is that peak torque is determined by the motor and gear train, so there's nothing a digital amp can do to increase this. The difference is in when peak torque is delivered. Likewise the maximum speed of the arm is not changed, but if you apply full power to the motor sooner, you'll achieve that speed earlier

With an analogue servo, power is applied to the motor as a string of pulses, whose length depends on the distance between where the servo is and where it should be. Once the pulses are long enough, they run into one another and you have full power on the motor. The frequency of the pulses is the same as the Tx's frame rate - generally 50Hz.

Obviously you'd like to reach full power for only a small position error, but if you're too agressive you'll get a servo which overshoots and then oscillates about the desired posiiton - connecting the servo to a heavy control surface will make this worse. The solution consists of adding deadband and also increasing the position error required to reach full power, but this inevitably means high speed analogue servos tend to need more deadband and are weaker with small errors. Using a motor with a light weight and small diameter rotor helps here since there's less spinning inertia to be controlled.

With a digital amplifier, the algorithm used to determine how much power to apply and when can be much more complicated. The manufacturers don't give out full descriptions, but at the very least I'd expect digital amps to measure the velocity of the output arm as well as its position. This alone would allow power to be reversed when the arm is not quite at the correct position, but moving quickly toward it - thus stopping the overshoot and allowing lower deadband. The fact that the arm's position and velocity are always available (not just at 50Hz) means the pulse rate can be increased arbitrarily.

The net result is that a digital servo can apply much more power to the motor for smaller errors in position without causing overshoot - this is the improved holding power people describe. Note however that the current required to produce a given torque at the output arm is the same whatever amplifier is used - it's just that a digital amp will produce the torque for a much smaller deflection of the arm, so warnings of increased power consumption with digital servos are probably untrue.

I use the Futaba 3150 digital servo and the ability of this servo to hold its position under load is quite incredible. Attempt to move the arm with your fingers and you'll get the impression someone filled the gear casing with epoxy! It's that solid and quite different to an analogue servo.

Are they worth the money? In my opinion yes.

David
daleksw is offline Find More Posts by daleksw
Reply With Quote
Old Mar 31, 2006, 08:17 AM
Registered User
Joined Mar 2005
17 Posts
David,

Thanks for the response. Overshoot would be one of those things I hadn't considered. However, wouldn't that be of most concern if our control surfaces had inertia that was going to make them want to travel beyond the deflection we want? It seems that the rotational inertia relative to the aerodynamic load would be negligible. If we cut our control rod between the servo arm and control horn on the surface while the surface is being deflected in flight I think the immediate response would be for the surface to go back to neutral (and flutter). Maybe I'm washed up on this too, but it seems that aerodynamic forces would almost preclude overshoot. Granted, the only aircraft I fly are foamies and light ARFs. I could see potential for overshoot on large airplanes flying at low airspeeds (like the giant scale aerobats doing 3-D).

I completely agree that max torque has only to do with the motor and gears, which is why this is still fuzzy for me. When we max out the servo torque, isn't the motor continually on fighting this? If that's the case, there should be no difference between an analog and digital servo as far as torque, right? Now if there is a limit to how long the pulse can be (say 0.01 seconds, meaning at 50Hz the servo motor can only be on 1/2 the time, but at 300Hz the servo is on continuously) then I could see this being true. Does that make sense?

Thanks again for the reply, this is exactly the kind of insight that I needed...

Eric
eweisbro is offline Find More Posts by eweisbro
Reply With Quote
Old Mar 31, 2006, 09:27 AM
Can you spot the giraffe?
daleksw's Avatar
Glasgow, Scotland
Joined Jun 2005
832 Posts
Eric, you're almost there!

Both types of servo have the capability to apply full power continuously to the motor, so with the same motor and gear train you'll get the same max torque. Similarly at a constant torque loading (say 50% of max) both will draw essentially the same current The difference is how far the servo will be from the desired position in before sufficient torque is delivered to hold the arm stationary.

With an analogue servo the deflection at 90% of max torque is typically much greater than for a digital, if the manufacturers tried to reduce this by reducing deadband or increasing amplifier gain, then oscillation/overshoot would be the inevitable result. The analogue amps just don't have as many tweakable parameters as a digital one, so they can't damp out this kind of unwanted movement as effectively.

Some analogue servos (Ripmax SD150 for example) err on the side of overshoot. I have 4 in the wing of my banana and the overshoot is clearly visible on sudden movement of the ailerons - and they still require significant deflection before they deliver max torque.

If you want to see the effect of a good digital amp on deflection under load, then download the servormances database app from this site, and compare the Futaba 3150 with, say, a Hitec HS85. The difference is considerable.

Reaching max torque quicker as the servo is deflected away from its nominal position has non-obvious benefits. I'd expect such a servo to be significantly better at resisting control surface flutter for instance - not obvious from bare specs on max torque and speed through 60 degrees.

David
daleksw is offline Find More Posts by daleksw
Reply With Quote
Old Apr 01, 2006, 10:18 PM
Registered User
Joined Mar 2005
17 Posts
Thanks!!

David,

Thank you for the link. I've installed the software and am in the process of doing some reading and trying to absorb all of the information. After using a website translator I'm getting a lot more functionality out of the software!! Are you a strictly a hobbyist or do you have some background with the technology? Most people seem to know the benefits of digital servos but don't really know why. I think your comment that manufacturers don't make this clear is right on. It's probably more detail than most people really want to know, but it sure would be nice to have more technical explanations available to the consumers that would like to know. I'm sure I'll have more questions soon...

Eric
eweisbro is offline Find More Posts by eweisbro
Reply With Quote
Old Apr 01, 2006, 10:43 PM
Registered User
Santa Barbara, CA
Joined Feb 2004
2,968 Posts
Eric,

There's a little information on how to run & interpret Servormances in this thread:

http://www.rcgroups.com/forums/showthread.php?t=406059

It not official of course, but might save you a little time. My comprehension of French is very minimal, so if you find any mistakes, I'd like to know.


Lance
hydrogin is offline Find More Posts by hydrogin
Reply With Quote
Old Apr 02, 2006, 12:51 PM
Can you spot the giraffe?
daleksw's Avatar
Glasgow, Scotland
Joined Jun 2005
832 Posts
Eric,

you've rumbled me! My education consists of a degree in electronics, followed by a PhD in dynamic control theory - the stuff that describes what goes on inside servos. For a living, I've spent the last 15 yrs designing embedded control systems for industrial plant - usually semi-conductor industry, and frequently involving motion control. So I guess it's fair to say I have more than a hobbyist interest in this sort of thing!

Glad you enjoyed the servormances database. It's an absolute gem. FWIW I'd guess the guys who produced it also have some professional interest in the subject. The measuements they chose to make and the way they made them suggests to me they know exactly what makes a good servo tick.

Sadly I doubt the manufacturers will tell us exactly what goes on inside their digital amps - they must cost a great deal to develop and they won't be giving the details away for free. The good news is that once you've got the design, digital amps are probably cheaper to produce than analogue, so once the development costs have been recoupled, we can all look forward to digital servos becoming the norm rather than expensive and exotic.

David
daleksw is offline Find More Posts by daleksw
Reply With Quote
Old Apr 02, 2006, 09:58 PM
Registered User
Joined Mar 2005
17 Posts
David,

You're just the kind of individual I was hoping would answer this post! I am a mechanical engineer by education but spend much of my time working in materials development, so the RC electronics world is a bit askew from what I "know" but is familiar enough that with proper guidance I can stumble though it.

My current question is on the increased holding power of digital servos. In the servomances software the far right plot is how much deflection the servo sees at a given torque, right? I've noticed that the digitals are better than analog on this curve. Is this due to the enhanced resolution of the servos? Both servos "think" they're in the right spot, but the digital servo has a narrower dead zone and therefore "holds" better? That would make sense to me because it would appear the servo has more holding power, but really it's just more accurate position (so a digital servo with the same motor/gear train as an analog servo would appear that it's holding better). Let me know if I'm on the right track...

Eric
eweisbro is offline Find More Posts by eweisbro
Reply With Quote
Old Apr 03, 2006, 01:23 PM
Can you spot the giraffe?
daleksw's Avatar
Glasgow, Scotland
Joined Jun 2005
832 Posts
Eric,

you're on the right track OK. Yes it's the far right graph in servormances that shows the effect you're talking about, and I'm glad you can see that digital servos are typically superior in this respect. That's exactly as it should be. Not sure you're understanding the reasons behind the behaviour though. Let me explain in more detail - if the detail gets too much, then just ignore it!

Both types of servo receive their command position in the form of a pulse from the Rx. By convention this pulse is repeated every 20ms. Both measure the width of this pulse to get the desired position and both measure the actual position using the feedback potentiometer generally connected to the output shaft and calculate the error in the actual position. If the error is very small, then both types of servo will take no further action.

The size of the error which will be tolerated is the servo's deadband and it's there so the servo can sit at rest without that annoying buzzing. It's important to realise deadband is not a shortcoming of the amplifier or the servo's resoluiton, it's there by design and it can result in significant power savings. Also there is really no difference in the accuracy with which these measurements are made.

Where the amps differ is in what they do next.

With an analogue servo, a pulse is applied to the motor. The duration of this pulse is simply proportional to the size of the error. You might for example have a motor pulse length of 5ms/degree, so if the position error is 3 degrees, a 15ms pulse is applied to the motor. Since this pattern is repeated every 20ms, if the servo does not move, then the motor is energised for 75% of the time, and the servo produces 75% of its peak torque. Once the error reaches 4 degrees, the pulse length is 20ms and adjacent pulses run into one another, so the servo produces peak torque for position errors of 4 degrees and above.

I hope you can see from this that if the servo's max torque is 4kg.cm, then loading it with 2kg.cm will result in it moving 2 degrees from the command position before the amplifier supplies enough power to the motor to counter the load. That's what the servormances graph is showing.

In an analogue servo that's really all there is to it.

So why can't the motor pulse be calculated as 100ms/degree? or even 1000ms/degree since that would give us max torque for tiny errors in position? From an elecronic point of view it's trivial. The answer lies in the problem of overshoot I described before. For any servo there is a maximum value of motor pulse length before the servo overshoots or even starts to oscillate. Clealry you understand the importance of the mass of the control surfaces, but the mass of the rotating parts within the servo itself also come into play. The electric motor itself takes time to slow down once it is up to speed, and if the pulse length is too agressive, the motor's inertia will carry the servo past the desired position.

This is where the digital servo comes in. A digital processor can calculate the motor pulse length using an almost arbitrarily complex function. If the pulse motor pulse width at time is pw(k) (in ms), and the position error at time k is e(k) (in degrees), then the above analogue servo is effectively

pw(k) = 4e(k)

now I have to guess here, since the manufacturers don't tell us, but as a first step - and I emphasise first step, a digital amp could try

pw(k) = a0 . e(k) + a1 . (e(k) - e(k-1))

If a1 is 0 and a0 is 4, then this is the same as the analogue servo, but what happens if a1 is >0? Well e(k) - e(k-1) is the amount by which the error has changed since 20ms ago. It's a measure of the speed of the servo's output. If the error is getting smaller, then this value is negative and the motor pulse length is reduced. If the servo is moving fast enough, then the pulse length could actually be negative (apply the pulse in the opposite polarity) which actively brakes the motor before it reaches the target position. This is what enables a digital servo to use a much larger value of a0 without causing overshoot, and hence the better graphs in servormances.

Now I know the above example could also be done using analogue electronics, but it is just the beginning. Adding more and more terms to the expression that calculates the motor pulse length is essentially trivial for a digital amp. For an analogue amp, the no. and size of the components quickly makes it impractical, not to mention component tolerances and temperature stability. The result is that the performance of a digital servo can be much more easily optimised - not least because the coefficients a0 and a1 are just nos. in a computer program and consequently a lot easier to change than the values of resistors and capacitors soldered to a tiny circuit board.

As a final thought, it is perfectly possible (although I think it's safe to assume it's not currently being done in our servos) to have a digital servo monitor its own performance and alter the control algorithm to compensate for the weight of the control surface. Or even just changes in the friction of the motor's bearings....

David
daleksw is offline Find More Posts by daleksw
Reply With Quote
Old Apr 03, 2006, 11:54 PM
Registered User
Joined Mar 2005
17 Posts
David,

You rock. Thanks for the detailed explanation. It makes sense at a glance, but I need to absorb it before I am completely clear. I think this has given me enough information to clear the haze and I can't thank you enough. I had realized that the dead band was a necessity for practical operation of the servo, though I didn't imagine the ensuing complexity described. Thanks again.

Eric
eweisbro is offline Find More Posts by eweisbro
Reply With Quote
Old Apr 04, 2006, 11:40 PM
antipodean recalcitrant
AntonL's Avatar
Melbourne, Victoria, Australia
Joined Feb 2004
3,171 Posts
David - thanks for going into such detail. It's been very educational. Perhaps you have misdirected your talents with this industrial plant stuff?

Anton
AntonL is offline Find More Posts by AntonL
Reply With Quote
Old Apr 05, 2006, 07:14 AM
Can you spot the giraffe?
daleksw's Avatar
Glasgow, Scotland
Joined Jun 2005
832 Posts
Anton,

ta much! Glad someone finds this useful/interesting.

The thing about people who buy bespoke bits of machinery is that they tend to have more money to spend than your average modeller - and my bank manager has this strange idea that I ought to keep paying my mortgage! So back to the grind...

David
daleksw is offline Find More Posts by daleksw
Reply With Quote
Old Apr 05, 2006, 08:24 AM
antipodean recalcitrant
AntonL's Avatar
Melbourne, Victoria, Australia
Joined Feb 2004
3,171 Posts
Quote:
Originally Posted by daleksw
The thing about people who buy bespoke bits of machinery is that they tend to have more money to spend than your average modeller
Maybe, but then they probably don't throw their expensive bits of machinery off cliffs like we do.
AntonL is offline Find More Posts by AntonL
Reply With Quote
Old Apr 05, 2006, 09:42 AM
Registered User
Joined Mar 2005
17 Posts
David,

I think I've got it now. The detailed explanation/example locked it in for me. In the Futaba document I posted earlier they mention pulses at 300Hz instead of 50Hz for digital vs. analog servos. However, if we're using the same receivers for all of these servos and they are set up for 50Hz, where is the 300Hz figured in? Is this something internal to the microprocessor in the servo which allows it to monitor servo position/velocity and sends the command every sixth pulse to the receiver? Do all digital servos use this 300Hz? Is this just a Futaba thing? From reading the document I thought the 300Hz was a standard or requirement for digital servos, but this could probably be different for different manufacturers? Thanks.

Eric
eweisbro is offline Find More Posts by eweisbro
Reply With Quote
Old Apr 05, 2006, 05:20 PM
Can you spot the giraffe?
daleksw's Avatar
Glasgow, Scotland
Joined Jun 2005
832 Posts
Eric,

you're definitely catching on now, I can tell!

The 50Hz thing is the rate the Tx sends to the Rx, and consequently the rate at which the Rx sends commands to the servos. This means that the servo's idea of where it should be is updated 50 times/sec. If you tried to increase this, then you'd affect the channel spacing required between adjacent Tx frequencies, so you can bet this isn't going to change.

Thing is, the actual position of the servo is continuously available from the feedback potentiometer, and the amp can measure it as often as it likes. It's part of the simple nature of analogue amps that they make this measurement each time a command pulse arrives exactly as I described previously.

For a digital servo however I did omit this important option. You caught me out. The little microprocessor that's doing the controlling is free to measure the actual position and adjust the motor power as often as it likes. You may remember I said e(k) - e(k-1) is roughly proportional to the speed at which the servo is moving, well this approximation improves if the time between e(k-1) and e(k) reduces - so long as you can measure e(k) accurately enough. The improvement arises because what you actiually calculate is the average speed between the two samples. The closer the samples are together, the less the actual speed can have changed, so the average speed over the last interval is a better approximation to the exact speed now.

What this means is that a digital servo receives the command pulse from the Rx, and commands the motor to move, but instead of waiting for the next command pulse, it can check the servo position several times between command pulses and then send further pulses to the motor based on the same target position but an updated actual position.

You can actually hear this process in action. If you push an anlalogue servo, you'll here it buzz as the motor oposes you. Try the same thing with a digital servo and you'll hear a much higher pitched 'singing' from the servo. The pitch you hear is the frequency of the pulses being applied to the motor.

There is no particular frequency which is the 'correct' frequency for this calculation to be performed. When proportional radio systems were first designed, 50Hz probably seemd like a pretty good bet. If you make servos go faster, this is no longer the case. 0.15sec for 60deg movement is not unusual, so in 0.02 sec, such a servo moves 8 degrees. The idea of a servo moving as much as 8 degrees without its position being checked and the motor power adjusted doesn't sound so good though does it?

I don't know what update frequencies the various manufacturers use, but if you measure the frequency of the buzz they make under load, you've got it.

David
daleksw is offline Find More Posts by daleksw
Reply With Quote
Reply


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Night Owl help - 2 ail. servos on 9CAP? craab Foamies (Kits) 2 Nov 11, 2006 09:43 AM
Discussion help on next plane...brushless 400 and s75 servos??? RC-newbie Beginner Training Area (Aircraft-Electric) 9 May 03, 2006 06:20 AM
Discussion Help with cylic servos on my T-rex ccpm. litespeed Mini Helis 2 Feb 28, 2006 06:22 AM
Need help on Jeti 18 w/ 4 servos!! super_spooky 3D Flying 2 Mar 01, 2005 06:23 AM
Help on Scratch Buit Servos.. hadihf Scratchbuilt Indoor and Micro Models 1 Dec 03, 2003 02:30 AM