Hello,
I started experimenting with an RDS3115MG servo, using Arduino Nano for
control.
The Servo is powered by ~6V PS, GND of Arduino and Servo is connected.
The digital control-line gets pulses with 1..2ms puls-length (ON-signal)
and a period of 20ms (visible on an oscilloscope) from the arduino.
When I sweep the puls-length from 1 to 2ms, the servo starts moving,
when the puls-length fits to its current position and than follows the
signal moving back and forth. But I would expect, that when I just
generate 1ms pulses with a period of 20ms, the servo would move to the
middle position immediately (without sweeping of the puls-length
necessary).
I do face two issues with this behavior:
1) When the servo is out of the 90°range (1..2ms) I cannot move it at
all (using my 1..2ms puls-length).
2) When I sweep the puls-length to fast, the servo cannot follow and
does not move until the puls-length fits again to the position.
Is this the expected behavior of that servo? Do all servos behave like
that or can I get servos, which start immediately by just applying
1ms/20ms pulses
thank you for any kind of feedback. (I know there are lots of documents
in the internet, so an RTFM would be help-full, but unluckily until now
I was unable to find a suitable one)
Uwe
Uwe Damm wrote:> But I would expect, that when I just> generate 1ms pulses with a period of 20ms, the servo would move to the> middle position immediately (without sweeping of the puls-length> necessary).
A 1ms pulse should command the servo to an end position, not to the
center position.
my2ct wrote:> A 1ms pulse should command the servo to an end position, not to the> center position.
of cause you are true, spelling mistake, I meant 1.5ms
Btw. The position should not matter should it? If I start with a
1ms/20ms signal, when switching on the power, what would you expect
should the servo do:
a) nothing
b) move to the 1ms (end) position
Same question for 1.5ms
a) nothing
b) move to the middle position
thank you for feedback
Uwe
Uwe Damm wrote:> Is this the expected behavior of that servo?
No, this is not the normal behaviour of normals servos. What you
expected matches my experience.
> The position should not matter should it?
Right. You tell the servo the target angle and it moves there. If the
difference between the target position is small, normal servos move
slower. If the difference is very small (less than 1 degree) then most
servos do not move.
It might be worth noting that the complete frame should have a length of
20ms although most older servos don't care.
1ms+19ms for one end, 2ms+18ms for the other.
Uwe Damm wrote:> I will try to Experiment with other servo.
Probably much more useful: change the supply design.
A defective servo device would be very unusual...
c-hater wrote:> Probably much more useful: change the supply design.
forget my message below, I just don't want to delete it, maybe it helps
someone else.
I got the fault:
1) I added 2200uF to PS, after that, the servo moved very slow, but
moved in the beginning already
2) I increased the currentlimit of my powersupply ...
now the servo behaves fine :-)
thank you all!!! and sorry for bothering
I connected an external powersupply with 6.2V (checked) to GND (of
arduino) and supply pin of the servo.
GND of PS and Arduino is connected.
connection to servo:
GND -> brown (1)
6V -> red (2)
20ms period TTL (Arduino) signal to yellow (3)
connections tested with digital-multimeter, all 3 are <0.1 Ohm
I have got 2 servos of same type, both behave same
I am watching the 20ms period signal on oscilloscope, the pulslength
sweeps as follows (each move takes ~2 seconds):
2ms -> 1ms
1ms -> 2ms
2ms -> 1.2ms
and than stop, leaving the servo at 1.2ms position
when I restart that sequence, the servo rumors a bit, until 1.2ms is
reached, after that the servo follows the signal down to 1ms position,
than it moves up following the signal to 2ms and than moves back to
1.2ms
matzetronics wrote:> It might be worth noting that the complete frame should have a length of> 20ms although most older servos don't care.
None of them is supposed to care, no matter if older or newer, because
the time between the pulses can vary a lot, With remotes that are from
the pre-2.4Ghz time, this was an inherent characteristic of the way the
signals were transmitted. Only the width of the pulse itself is
evaluated by the servo, so the time between pulses doesn't matter much,
as long as it's not completely off.
A question of your own?
This thread is over 7 years old.
Ask it in a thread of its own – more people read along there, and it gets answered more often and sooner.