4
$\begingroup$

Many websites say that analog servo motors work on 50Hz and digital servo motors work on 300Hz. My question is, does this difference apply only to the inner control loop of the servo or does the user of the digital servo actually provide 300Hz PWM signal? To rephrase, are all (most) servos including digital ones controlled with 50Hz PWM, or are digital ones specifically controlled with 300Hz PWM? Thanks

$\endgroup$

3 Answers 3

3
$\begingroup$

Digital servos accept the same pulse width and pulse repetition rate as regular analog servos. a b

With many RC servos -- both digital and analog -- as long as the "frame rate" (how many times per second the pulse is sent over the control wires to the servo, aka the pulse repetition rate) is in a range of 40 Hz to 200 Hz, the exact value of the frame rate is irrelevant. b c d e f g h i

The RC radio receiver or Arduino or whatever is sending the pulses to the RC servo can send the pulses at any frequency in that range (and in many cases well outside that range), and the servo will Do the Right Thing. The frequency listed by the servo manufacturer and the reseller for a servo (j) is not the frequency that must be used; it is the maximum of the range of frequencies that the servo is guaranteed to respond properly.

In particular, many people take a servo that is designed to respond to frame rates up to 200 Hz, and stick it in an airplane with a RC radio receiver that sends a frame to that servo 50 times per second, and the airplane flies just fine.

Many digital servos have a higher limit on the input pulse frame rate than many analog servos, but that's not what makes digital servos different from analog servos.

A few people -- such as people installing the tail servo of a small single-rotor helicopter (k), and people building quadcopters -- really need a servo or ESC that can support some frame rate much faster than 50 Hz. They need to look at the specs and pick a servo with a supported frequency at least as high or higher than the update rate they need. For example, ArduCopter drives the stabilization loop at 100Hz (l) (m) (n), so people using it must pick a servo or ESC that supports frequencies of at least 100 Hz.

$\endgroup$
1
$\begingroup$

I think people are getting their mS and uS mixed up! Generally it was always between 1mS and 2mS but to get the full range or extended range its said to be 0.8mS and 2.2mS (or 800uS to 2200uS) not 800 to 2200mS (I'm sure it was just a typo but to save confusion). Obviously there needs to be a gap between the pulses so at 300Hz you would have a pulse of 2.2mS followed by a gap of 1.13mS, this is known as the Mark and the Space and can be written as a ratio or Mark/Space ratio although here it is irrelevant as I will explain. ( 300x(0.0022+0.00113)=1Second ). The old servos always want 50Hz which means as the Mark changed in duration (desired servo position) the Space must also change in duration to keep the frequency always at 50Hz (longer Mark needs a shorter Space to maintain the overall length of the signal and vice versa). The new servos are quite happy to receive a position signal at 50Hz but will happily accept 300Hz so the only importance is to send the correct Mark duration for the required position and make no change to the Space in between, this makes basic interfacing with microprocessors and program writing that little bit easier for beginners as for instance you could always place a set 2.6mS Space between the Marks giving a position update frequency of between 294Hz and 208Hz(2.6mS+0.8mS and 2.6mS+2.2mS) which for many uses is more than fast enough and also makes the importance of the mark/space ratio redundant. Of course a constant update of 300Hz could be better in some cases requiring better more consistent performance but then a simple calculation is required in the program to set the space accordingly.

$\endgroup$
0
$\begingroup$

The difference between digital and analog servo is analog servo is controlled by custom logic chip and digital servo is controlled by micro controllers. Custom logic chips can control motor (inside servo) at 50Hz while micro controllers can control at up to 300Hz. Both of them take same user input which is generally pwm pulse ranging from 800ms-2200ms. The difference is inside servo. Higher motor update rate gives more precise and fast control. You can also refer here.

Update Rate for user input pwm can go upto 300Hz in case of digital servo and 50Hz in case of analog servo. One should be careful as over driving this pwm frequency may create jitters and sometimes fry your servo.

$\endgroup$
3
  • $\begingroup$ I assume that by ms you mean microseconds? Yes, I saw that link as well as many others, but they either do not mention the signal that the user provides or they do not clearly enough state it. Thanks for clearing this out for me. I'll wait for other answers a bit if there appear any, if there are no conflicts you get the checkmark. $\endgroup$ May 15, 2014 at 8:47
  • 1
    $\begingroup$ I know that an analog servo receives that 800-2200ms signal 50 times a second, hence the 50Hz. A digital servo could theoretically receive an 800-2200ms signal at 300Hz, but does it? You didn't address that part of the question. Can you elaborate on that? Can it receive that signal at any rate up to a limit of 300 times a second? $\endgroup$
    – Octopus
    May 16, 2014 at 5:15
  • $\begingroup$ I have edited my answer. I hope it should explain your query. $\endgroup$
    – nikhil
    May 16, 2014 at 18:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.