Ola Fremming's homepage

 


Servo testing

As part of the continuous task of keeping up and perhaps improving my level of competitiveness in F3A I have started to look seriously into the servos.  I find it very hard to do meaningful comparisons of the spec's that the manufacturers supply us with. Not that I have problems to read the numbers, but more if these figures are worth comparing at all.  As I am an engineer working with testing of sensor-devices, I know that it is more or less meaningless to compare figures if the test-methods are not the same.  And I am 100% sure that the manufacturers selects test-methods that yields the best possible numbers for their own products.  

Many years ago I used my EagleTree logger with a servo-current sensor attached to one servo at a time, to try to determine what kind of loads the servos do see during a typical F3A flight schedule.  The next step was to perform measurements on the servo's to understand what load the servos are exposed to during a flight.  I suspect that stories of blow-back of rudder servos during KE maneuvers and similar is exaggerated at the best.  To be able to test servos with a comparable result, I have then created the rig as described below.

The test-rig contains some major components : 

- PWM signal generator : Pololu micro maestro

- Position sensor, high quality potensiometer

- ADC to measure voltages, current and position sensor: National instruments USB-6009  14bit ADC


- Separate power for servo and electronics

- Torque to the servo is generated by two weights and a pulley system. I have weights for 0.5, 1.0, 1.5 and 2.0 kgcm 

- Software developed by myself using National Instruments Labwindows/CVI

Image of test-rig:

 

So, what can be measure by using this rig ?  To take it one by one I have typically been doing these tests (with reference to result sheets):

  • General results:

  •     Servo sensitivity: How much will the servo move by changing the PWM-signal from 1.0 to 2.0 [ms]

  •     Update frequency:  How often the electronics inside the servo updates the output shaft.  Not so easy to measure on the most modern servo's, but I try to.

  •     Non-linearity: By moving the servo smoothly from one side to the other, calculate the position deviaton from the ideal straight line. An image-file showing movement and deviation is saved.

  •     Dead-band: Move the servo slowly in one direction, change PWM-signal [1µs] at a time until movement of 0.1[°] in the other direction is detected. Repeat several times, calculate average.

  •     Repetition dev.: Move servo away from center, move slowly back to center and measure end position, repeat many times and calculate variation.

  •     Stall torque: With a long arm, move slowly while pressing down on a scale.  Measure voltage and current for 3[s], read the peak value from the scale manually.

  • Static deviation:  Apply different static torques while measuring the current, and how far off from center that the servo is pulled. 

  • Accuracy: In this test the servo is moved slowly towards center, from both directions.  The difference in end-position when moving from each direction is presented.  This test is performed with different loads.

  • Sweep-speed : The servo is moved off to one side, then is moved as fast as possible to the other side.  During movement the position and current consumption are measured. Post processing finds when the servo is 30° before and after center and thus calculates the time it takes for the servo to move over 60°.  The speed are measured with different loads. A graph showing position, current and cursors where data is extracted is saved as an image-file, one per load tested with

  • Start-stop speed : The speed when moving without load from start at -X° to stop at +X°, this includes the time needed for starting and stopping the movement. A graph showing position and current as function of time is saved for each  change angle.

 

Result summary example :

         

 

Linearity plot :

 

Speed plot:

 

Stall torque plot: