I have been working on vertical trajectory system (VTS) for high power rockets that uses RC servo motors to control canard surfaces. Because the servo motors are embedded in the VTS control loop, I care about the effective sample rate of the servo motor, because this sample rate must be included in the overall loop dynamics, along with the control dynamics of the servo motor. The sample rate of the servo motor can limit the maximum bandwidth of the VTS control loop because of the excess phase shift due to the sampler. The higher the sample rate, the less restriction on the maximum bandwidth of the VTS control loop.
Although the current digital servo motors have internal control loop clock rates that are in the hundreds of hertz, what I have found is that the incoming pulse is recognized at a slower rate. I have measured several of the Hitech servo motors, including their 3rd generation “32 bit Programmable Digital” motors including the D89MW and D625MW. I found that the fastest update rate for these servo motors is 20ms (50Hz), much below the internal clock frequency. I make this measurement by monitoring the motor coil voltage with an oscilloscope so that I can see when the motor is actually programmed to a new position. I send a first pulse to the servo motor, and then a second pulse of a different duration after a delay, and verify that the motor responds by sending a voltage to the motor coil to change its angular position. I then decrease the time between the first and second pulse until the motor no longer responds to the second pulse. That limit for the Hitech servos motors appears to be 20 ms. Although they accept pulses with a delay as fast a 15ms, they do not actually switch until 20ms.
Unfortunately, when embedded within another control loop, the slowest sample rate within the servo motor is the effective sample rate of the overall servo motor. It does not matter for the external system stability that the servo motor control loop sample rate is at a higher frequency.
I am looking for RC servo motors that have a higher input pulse conversion rate so that I can increase the bandwidth of my VTS control system. The ~50 Hz sample rate of the RC servo motors limits the external system bandwidth to less than 5Hz (in a state space control loop design, some of the loops must have a wider bandwidth than the overall system bandwidth, and the excess phase of the 50 Hz sampler can cause these loops to be unstable when the overall system bandwidth exceeds ~5Hz) I found the Savox SB-2264MF servo that claims a 333Hz refresh rate. But measuring it I found that the fastest pulse response rate was 9ms between pulses (111Hz).
I found the Servo list from the Spirit manual - Servo list - Spirit System Manual (spirit-system.com). It lists a frequency for each servo motor, but it is not clear what frequency this number refers to – is it the internal control loop clock frequency or is it the input update rate?. Since the servo motors are being embedded in the external control loop of the Spirit system, I would think that the input pulse update rate would be the frequency of most interest, since it appears to be the limiting sample rate of the servo motors. There are many servos that are listed as 333Hz or 560Hz. Has anyone verified that these servo motors actually respond to changes in input at 3ms (333Hz) or 1.78ms (560Hz)?
|