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: This > b) move to the 1ms (end) position and this > b) move to the middle position
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.
Thank you for the Feedback! I will try to Experiment with other servo. Uwe
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.