2022.11.10 — servo loops

suppose we have a motor that we would like to keep synchronized with a reference oscillator. to do this we apply some torque so that the frequency of motor rotation approximately matches the frequency of the reference oscillator. note that it is extremely difficult determine the exact torque necessary to keep the motor synchronized with the reference oscillator. for example, if you wanted to keep a motor spinning at 100 Hz synchronized for three hours (104 seconds), you would need to apply a torque correct within a part in $10^2 \times 10^4 = 10^6$, i.e. one part per million, which is a tall order. for all pratical purposes to achieve synchronization it is necessary to use feedback of some sort.

the simplest feedback technique is to apply, in addition to some constant torque, a correction torque proportional to the difference in phase $\phi$ between the motor and the reference oscillator. if you do this, you will find that, in the steady state, the motor and reference oscillator will be synchronized. the steady-state phase lag $\Delta \phi$ is given by $$ \Delta \phi = \frac{\epsilon}{\alpha} $$ where before continuing on to a more detailed discussion, it is worth stopping to point out that what the feedback loop accomplishes here is rather remarkable. the feedback loop converts put otherwise, the feedback loop completely eliminates the finite frequency error created by the deviation of the constant applied torque this result is reasonable. the feedback loop "tries to" keep the phases of the motor and reference oscillator equal. the loop is able to do this to the extent that note that, even if the steady-state phase lag $\Delta \phi$ is large, the motor and oscillator are still synchronized, i.e. in the steady state there is a definite fixed phase relationship between the motor and oscillator. in this sense even an infinitessimally small amount of feedback $\alpha$ will in principle produce synchronization. however, a small $\Delta \phi$ is desirable since it will reduce our sensitivity to changes in $\epsilon$. you can imagine, for example, that as the motor heats up, the constant torque applied to the motor may drift even if the current applied to the motor windings remains perfecty constant. if $\alpha$ is too small, then a small change in $\epsilon$ may produce a large change in the steady-state phase lag $\Delta \phi$.

is there then any reason why we should not make $\alpha$ as large as possible? to answer this question, we point it is necessary to understand how the response time $\tau$ (i.e. the time required to reach steady-state) of the feedback loop depends on $\alpha$: $$ \tau = \frac{\tau_o}{1- \frac{\Delta T}{T} \alpha} $$ where: so we see that if the short-circuit feedback loop response is instantaneous, then the steady-state phase lage $\Delta \phi$ can be made as small as desired by increasing $\alpha$ without any influence on the time required to reach steady-state. however, if $\Delta T$ is finite, then the feedback loop will respond more slowly as the feedback $\alpha$ is made stronger. in fact, if the feedback is strong enough so that $\frac{\Delta T}{T} \alpha \gt 1$, then the feedback loop becomes unstable and the phase lag $\phi$ will diverge instead of stabilizing to $\Delta \phi$. so we see in this simple example that there is a tradeoff between the power of a feedback loop and its stability. in addition we see that the analysis reveals that in order for a feedback loop to perform well it is (unsurprisingly) helpful for the short-circuit response time $\Delta T$ of the feedback loop to be short and the oscillation period $T$ to be long.

in our case we expect to receive updates on the phase lag $\phi$ every oscillation period, so that $\Delta T = T$. our expression for the response time $\tau$ simplifies to $$ \tau = \frac{\tau_o}{1 - \alpha} $$

notes

the results presented above are based on a simple mechanical model for the (open-loop) motor rotation: $$ I \ddot{\theta} + 2 \frac{I}{\tau_o} \dot{\theta} = f $$ where $\theta(t)$ is the phase of the motor at a time $t$, $I$ is the moment of inertia of the motor, and $f$ the torque applied. for constant applied torque $f$ it is easy to check that we obtain a steady state rotation speed of $\omega = \frac{\tau_o}{2 I} f$. the ideal torque to synchronize the motor with an oscillator oscillating at a rate $\omega_o$ is then $f_o = 2 \frac{I}{\tau_o} \omega_o$. the phase lag $\phi(t)$ is simply $\theta(t) - \omega_o t$ so the correction torque is $\alpha f_o \phi(t-\Delta T)$. the results obtained above follow from the approximation $\phi(t - \Delta T) \approx \phi(t) - \Delta T \dot{\phi}(t)$. this is a good approximation so long as $\Delta T$ is short.

for completeness I mention that the evolution of the phase lag $\phi$ to the steady-state phase lag $\Delta \phi$ is actually a damped oscillation about $\Delta \phi$. the oscillations damp with a decay time $\tau$ (as mentioned), and the (undamped) oscillation period is given by $\sqrt{\frac{T \tau_o}{2 \alpha}}$.