Go Down

Topic: Pulse frequency and Servos (Read 9604 times) previous topic - next topic

raschemmel

#15
Apr 27, 2014, 01:05 am Last Edit: Apr 27, 2014, 02:04 am by raschemmel Reason: 1
Quote
However, we would like to use a very fast servo (the Align DS610: http://www.servodatabase.com/?sort=speed), which - in addition to his high speed (0.08 sec/60°) - is said to also have a higher pulse frequency than normal, namely 200hz. Thus, if I understand this right, this servo should be able to receive a new command each 5ms, instead of each 20ms (Aim I right with this interpretation?). 

NO.
Regarding the table you referred to :
since you are Cognitive Neurologist and not an Electronics tech or engineer, we can hardly expect you to know the PWM protocol for RC servos as opposed to the standard PWM of an arduino analogWrite command. What you saw on that table was a cross reference of the frequency of the repeating pulse to the center position pulse width. RC servo PWM differs from analogWrite PWM
in that the pulse width is much narrower and the total deviation of this pulse width is much smaller than the pwm of analogWrite which is a % duty cycle. Servo pulse width is not % duty cycle . The table indicates that for the center position , a pulse width of 1500uS repeats is transmitted at 200 hz. . The period for a 200 hertz waveform is 5mS. This means that during the 5mS period of the 200 hz pwm signal , the HIGH pulse is 1500uS , which is a duty cycle equivilent to 30% , but the total deviation never achieves 100% because the servo signal has a very narrow pulse width with a small deviation, unlike an analogWrite pulse which can deviated from 0% to 100%. We don't expect a Cognitive Neurologist to understand this, but that's what it means and has nothing at all to do with how fast the servo arm moves.
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

raschemmel

@Zoomcat,
Loved the servo hack !
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

brainybrown86

Alright thank you very much for your comments and explanations, I will just use the Arduino implemented functions without any modifications attempts.

Robin2


The table indicates that for the center position , a pulse width of 1500uS repeats is transmitted at 200 hz.


I see no evidence for this. In my opinion the columns in that table are separate. Normal servos use 1500uS pulse widths as the centre position and require pulses of that width 50 times per second, not 200. There is nothing in the table to suggest that the servos are incompatible with regular RC recevers that produce pulses at 50Hz.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

raschemmel

#19
Apr 27, 2014, 04:53 pm Last Edit: Apr 27, 2014, 06:55 pm by raschemmel Reason: 1
I didn't suggest there was any incompatibility. I didn't see anything about 50hz there and I don't see that it matters either way. The frequency at which the pulse is repeated is probably not critical anyway. I'm no expert in servo design but my understanding is that the pulsewidth is the critical spec because that's what changes when the servo receives commands. When you watch the servo pulsewidth on a scope , you're seeing the same 1500uS pulse with either servo. The difference is that your seeing it 4 times more often with the faster digital servos, but if you receive only one bill every month do you have to pay any more if you receive 4 copies of the same bill (one a week) during that month ? (crude analogy , I admit) but my point is that the servo must obeay a command to set it's pulse width some value whether it receives the same command 50 times a second or 200 doesn't change the command. If I have this all wrong please tell me because I do want to know. I'm just saying that is my understanding of it as it stands at the moment.
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

retrolefty


I didn't suggest there was any incompatibility. I didn't see anything about 50hz there and I don't see that it matters either way.
The frequency at which the pulse is repeated is probably not critical anyway. I'm no expert in servo design but my understanding
is that the pulsewidth is the critical spec because that's what changes when the servo receives commands. When you watch the servo pulsewidth on a scope , you're seeing the same 1500uS pulse with either servo. The difference is that your seeing it 4 times more often with the faster digital servos, but if you receive only one bill every month do you have to pay any more if you receive 4 copies of the same bill (one a week) during that month ? (crude analogy , I admit) but my point is that the servo must obeay a command to set it's pulse width some value whether it receives the same command 50 times a second or 200 doesn't change the command. If I have this all wrong please tell me because I do want to know. I'm just saying that is my understanding of it as it stands at the moment.


No, your are correct. The "high update frequency" servos will work fine at either 50hz or at whatever higher updating rate they are rated for. They still obey the same universal 1000-2000 usec pulse width commands, with of course some amount of under and over range from that 'standard'. If there is any actual advantage of using a 'high frequency' servos depends on what the servo is doing for a living, as in what mass load it is moving. I would suspect that ESC modules might benefit in some cases if they had higher update frequency capabilities, but for a servo moving something mechanically I would think that the servo's internal motor and gear train would have to be upgraded to higher performance to actually benefit from the faster updating capabilities. But who knows if it's mostly marketing hype or useful in real work applications.


Robin2


No, your are correct. The "high update frequency" servos will work fine at either 50hz or at whatever higher updating rate they are rated for.


I am learning also. Thanks.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

zoomkat

The "high update frequency" servos (which I'm just hearing about) is still vague to me. The below might be what is being talked about. The update frequency a standard servo seems to be limited by requiring at least 6ms between updates. Digital servos may have this minimum dead time reduced, but there still has to be some dead time between commands. 

Quote
but 120Hz is about the limit for most standard servos. This is a result of the NE544 specs (the original servo amp) that requires 6ms of "off" time between pulses.


Google forum search: Use Google Search box in upper right side of this page.
Why I like my 2005 Rio Yellow Honda S2000  https://www.youtube.com/watch?v=pWjMvrkUqX0

Robin2

The other thing that confuses me about the high servo update frequency is the business of multiplexing the signals for several channels for transmission between the transmitter and the receiver. If there is a 50Hz update frequency there is about 20 msecs between pulses, Since the longest pulse is a little over 2msecs there is "space" for about 8 channels within the 20 msecs.

If you increase the update frequency it seems to me the "space" for multiple channels is correspondingly reduced. And I can't see any value in the receiver getting pulses at 50Hz and repeating some of them at a higher frequency on individual channels - there would be no additional data.

But I may be completely dazed and confused.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

retrolefty


The other thing that confuses me about the high servo update frequency is the business of multiplexing the signals for several channels for transmission between the transmitter and the receiver. If there is a 50Hz update frequency there is about 20 msecs between pulses, Since the longest pulse is a little over 2msecs there is "space" for about 8 channels within the 20 msecs.

If you increase the update frequency it seems to me the "space" for multiple channels is correspondingly reduced. And I can't see any value in the receiver getting pulses at 50Hz and repeating some of them at a higher frequency on individual channels - there would be no additional data.

But I may be completely dazed and confused.

...R


Your not confused, that old standard R/C PPM data stream only allowed for updating individual channels at around a 50 Hz rate. I suspect the newer R/C spread spectrum radios use a different PPM frame rate and therefore might support a newer higher frequency servos?


raschemmel

Total PWM Period =(20mS +20mS)=22mS
Duty Cycle = 2mS/22mS= 9%
Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,<br />DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

Go Up