[time-nuts] Controlling FEI 5680A

Magnus Danielson magnus at rubidium.dyndns.org
Sat Jan 14 22:14:01 EST 2012


On 01/14/2012 01:32 PM, EWKehren at aol.com wrote:
> I have no expertise when it comes to filter design or programming PIC's or
> other micro controllers. But I know what works for me. For 11 years I have
> been  using Shera controllers with very good results. (I still have some new
> assembled  extra A&A boards, if any one is interested, please contact me
> off list)

Designing a PI-regulator in digital is pretty simple and works well.

The core routine that needs to be run at the steady sample rate is this:

Ph = getPD();
FI = FI + I*Ph;
F = FI + P*Ph;
outputFreq(F);

where I and P gives the steering properties of the PI regulator.

There is a few things to consider, such as the scaling and width.

An implementational benefit of the above is that the integrator steering 
is done prior to the integrator, which makes the integrator state FI 
have static dynamics in relationship to the steering parameter I, which 
is practical as change of I (which is typically useful to change 
bandwidth) will not require rescaling of FI to maintain the same frequency.

The relationship between P and I sets the damping factor of the loop.

The loop bandwidth changes with the square root of I.

It's not too hard to use a quick track-in mode with higher bandwidth and 
then scale it to slower mode.

To achieve a quicker track-in of far-distance, diffrentiating the phase 
over time can be done, and then feed the integrator loop the scaled 
difference. That way will the frequency difference measured (complete 
with phase-wraps) steer the frequency state of the integrator and once 
the FLL is well tracked in the phase tracking just takes over. The FLL 
part can then be removed to reduce disturbances.

Cheers,
Magnus




More information about the time-nuts mailing list