Luenberger Observer
The AKD and AKD2G drives are equipped with a Luenberger observer. An observer implemented this way can be described as a dynamic filter to handle unknowns, or irregularities in the system that should not be there.
Applications where an observer should be considered:
-
Systems with low resolution or other quantization effects present
-
High frequency resonances
-
Systems with multiple resonances
-
Systems where high frequency resonances move as a function of position or load
-
-
-
Observers are very powerful but must be tuned with care so that they ensure stability. If improperly used, they will cause instability.
-
If autotuning is to be used, tune the observer after autotuning, otherwise the values will be cleared.
-
Parameter | Description | Drive Keyword |
---|---|---|
IL.KACCFF |
Current Loop Acceleration Feed Forward |
|
VL.OBSMODE |
Observer Mode |
|
VL.OBS.KO |
Observer Gain |
|
VL.OBS.BW |
Observer Bandwidth |
Observer Basics and Configuration
Two parameters must be configured to successfully use the observer: Gain and Bandwidth.
- Gain
-
This value must be tuned to be relatively accurate. The gain of the observer must be set based on the gain of the plant (the inertia of the motor + load).
Since the Observer gain is based on the plant gain, we can leverage other tuning parameters which have also been determined.
IL.KACCFF (Acc FF) is in units of mArms / (rad/s²)
Observer Gain is in units of (rad/s²) / Arms
So we can convert IL.KACCFF to Observer Gain using the following:
VL.KO = 1 / (IL.KACCFF / 1000)
- Bandwidth
-
The bandwidth should be set to something significantly above the achieved velocity loop bandwidth. For example with an Open Loop crossover of 100Hz set the Observer bandwidth to 300Hz.
-
- Setting the Observer Bandwidth too low will cause stability issues!
-
Effects of an Observer
Effects of an Observer on the Closed Loop
Following are the effects of adding a 100Hz observer to a closed loop system
After tuning, IL.KACCFF was tuned to be 0.488 mArms / (rad/s²)
Converting that to Observer gain:
VL.KO = 1 / (0.488 / 1000)
VL.KO = 2049 (rad/s²)/Arms
This system was tuned with an open loop bandwidth of 20 Hz, and an observer bandwidth of 5x was selected
VL.OBSBW = 100
Enable the Observer by setting:
VL.OBSMODE = 1
If another Closed Loop measurement is taken, the effects of the observer will be visible on the plant, as non-linearities are compensated for automatically
The internal observer loop modifies the resulting plant helping to remove non-linearities and results in the following:
Key changes when the observer is active at 100 Hz on this system:
-
Mechanical resonance is attenuated by 30 dB
-
Phase is improved before and after observer BW freq
Effects of an Observer on the Open Loop
Key changes when the observer is active at 100Hz on the Open Loop:
-
Mechanical resonance is attenuated by 30dB
-
Phase is improved before and after observer bw freq