Dead band width

I want to move a digital servo with 12bit resolution from an Arduino DUE (It has 2 12b-PWM-capable pins).
Anyway: I noticed a thing called Dead band width (DBW) in Servos.
I read quite a good thread over at What is Dead Band Width? - General Electronics - Arduino Forum
Now my deadband is 3us. so +/- 1.5us
What if i want to change by 1us? As it is within the deadband, the servo wouldnt change i suppose...

Here is my first question:
A: how does a servo figure and discriminate a glitch and a valid signal? Is there a time-aspect? Like "if the new signal is present for longer than 1ms, i assume it is a new signal and i react to it"?

Also, even if the above question is clear, i think it is still "overruled" by the dead band width... So What if:
1: I have a pulse of 1500us
1.1: I want to change to 1501us but would be useless since it is within DBW.
2.: to motivate the servo to move at all, i go into a save direction by at least the DBW
2.1: I set a new pulse of 1498 (-2us). As this change is bigger (2us) than the DBW (1.5us per side) the servo should move.
2.2: as soon as the servo moved (again: Propably needs a few ms settling-time for the signal to be accepted), i set it to the desired "real" value of 1501 which is now a change of 3us and also out of DBW: The servo should accept the new value as valid value and trying to go for it.

Question:
B: Is this approach valid and is this an option on how to go for positions closer than DBW if you can move around as i suggested (Would depend on tha usecase, but in ours, thats no problem)?

Do you need a (geared) stepper motor instead of a servo motor ?

It depends on the servo motor. Some are analog, some digital, some have a specified dead band, other don't care (with the risk of being noisy almost all the time).

I get a bad feeling with the approach that you describe. Trying that with a common servo motor will probably make it less accurate.

A servo motor can be used for steering in a RC car. It is not ment for precise angles.
The Arduino (or other device) starts with a number in the software, That number is translated into a PWM value for the servo motor, and a digital servo motor translates it to a number again. That is inherent inaccurate.

It is like saying that you want the same quality as a HDMI monitor, with a VGA CRT monitor.


By Edi Wibowo (CC BY-SA 3.0), from Wikimedia Commons File:Screen wiki id in internet.jpg - Wikimedia Commons

As an electronics engineer i think i know what we need. But thanks for the heads up :slight_smile:
Initially, we wanted to use a leadscrew-Linear-actuator, but setttled for a digital-Servo (as desribed in first post). This because it is a bit faster in reaction and simpler in mechanical solution (especially in terms of needed space within the testbench)

  • The Servo we chose HAS dead band (3us).
  • This Digital Servo IS geared (and this quite high) as it has 166.6oz/in torque which is in usable terms about 12 kN-cm
  • And yes: Even as it is technically a geared stepper in a servo-casing, they still call it "Digital Servo" :slight_smile:
  • Specs say, it can be positioned as precisely IF driven from the same direction (eliminating gear-backlash in the process)
  • We will use the D-Servo to push in a linear direction on a surface via an angular shaft. For this, we will correct the angular movement of the servo-Arm within the software to accomodate for it and have a linear-position fed into the MicroP via Serial which gets recalculated for the angle needed to get the linear disposition.

May i ask why you think it will make it less accurate? Why should it be? I mean, for the servo in the end it is just a movement. No matter from where to where. The position 1502us should be the same precision if drivem from intitially 1000us or 1498, no?

Orngrimm:
Here is my first question:
A: how does a servo figure and discriminate a glitch and a valid signal? Is there a time-aspect? Like "if the new signal is present for longer than 1ms, i assume it is a new signal and i react to it"?

If the datasheet doesn't say, you'd have to find the peron who designed/programmed it and ask them!

Easier to just experiment with the one you have, should such details matter.

Is there a programming card for this servo? (Yes, I know this is more an ESC thing) This is the sort of thing
that might be programmable should the servo support this.

Since you haven't told us what servo you're talking there's really not much point just guessing.

Exactly how the dead band is implemented in a digital servo is not something we can just decide. I've seen them use what they call dead band as the minimum change in signal value that will cause ANY movement, not just around the notional centre. Most servos do not contain stepper motors but normal DC motors (the "digital" is the control electronics only) and very few servos that I've met are accurate to a 1000th of their total movement. So if you're expecting accuracy of e.g. 0.18 degrees from a 180 degree servo you may be disappointed unless it's a very special type of servo nothing like the hobby-type servos most of us are used to.

Steve

The title really should have been "Dead-band width" to avoid confusion with "Dead bandwidth", an
entirely different thing!

MarkT:
If the datasheet doesn't say, you'd have to find the peron who designed/programmed it and ask them!

Easier to just experiment with the one you have, should such details matter.

Is there a programming card for this servo? (Yes, I know this is more an ESC thing) This is the sort of thing
that might be programmable should the servo support this.

Thanks for the inputs. As the Servo is still in transit, i was hoping i can clear up a few questions beforehand and prepare a small testbed...

There seem to be some sort of Programmer, yes. But with those one seem to be able to adjust the DBW only... Have to dig deeper on that end for sure.

MarkT:
The title really should have been "Dead-band width" to avoid confusion with "Dead bandwidth", an
entirely different thing!

Hahaha! Yes, indeed. Sorry for this. I copied it from the datasheet.

slipstick:
Since you haven't told us what servo you're talking there's really not much point just guessing.

Thansk for pointing this out, Steve. I indeed forgot to mention that it is a Savöx:
http://www.savoxusa.com/Savox_SC1258TG_Digital_Servo_p/savsc1258tg.htm
It is indeed not a 2$ off-the-mill-part :slight_smile:

It would be interesting, once you get the servo, to hook it up to a relevant load and feed it signals of incrementing and decrementing milliseconds, and measuring the output position.
Do you get movement with each command?

That seems a very nice servo.
The 12-bit accuracy is probably not achieved. I doubt if the potentiometer is that accurate.
You can see the potentiometer here: Savox 1258tg / 1257TG How to service / repair the servo, the pc board and motor - YouTube.
The 3µs dead band width is probably on purpose in software. I can think of many ways that the software creates such a filter. I agree with MarkT: if it is not in the datasheet, ask the person who wrote the software. You can of course send a mail to Savox and ask for more information.