Tuning  Delay Time Compensation with Smith Predictor
Source PCIM 2006:
Delay Time Compensation in the Current Control Loop of Servo Drives – Higher Bandwidth at no Tradeoff
Introduction
High performance servo drives are still a fast growing market segment. The brushless technology offers significant advantages in terms of reliability and motor size. Higher drive complexity was balanced with additional logic and sophisticated power electronics. Due to the innovation cycles of the semiconductor manufacturers the size and cost for more and more complex drive systems did not increase. Each new drive generation offers more performance, more flexibility and higher integration density.
The challenge is to provide the best possible performance/cost ratio with the given setup. Better performance will allow more sophisticated processes and lower cost makes these technologies attractive to new applications.
While the hardware setup remains essentially the same throughout a single generation, better algorithms have to be developed and constantly improved in order to make best use of the limited available computing power. In a cost optimized servo control environment, the crucial requirement is always to provide realtime performance. This demands simple and fast algorithms, still providing the maximum possible accuracy and dynamics.
Phase lags caused by dead times inside of control loops reduce the stability margin and limit possible gains to lower values and thus the dynamics of the complete system. To reduce the effect of time delays in the current loop of the drive system the implementation of an algorithm known as Smith Predictor (reference 1) inside the current control loop is proposed. The Smith Predictor offers the possibility to make use of known system properties in order to predict the reaction of the controlled system before it can be measured, which substantially improves performance of the drive system. It can be entirely implemented only by changing the current controller software without the need for additional hardware.
These improvements offer the possibility of designing a drive system with faster response while avoiding the well known tradeoffs of higher switching losses and increased EMI (electromagnetic interference), that require the system to be bigger and more expensive.
The algorithm is implemented on a drive system with 16kHz switching frequency and 32kHz current loop update, and it is shown that a closed loop current control loop bandwidth of 5kHz is achievable.
Control Structure, (Circuit, Scheme)
Commonly, the control architecture of drive systems consists of three cascaded control loops. The innermost loop is the fastest, controlling the current. Directly superposed to the current loop is the velocity controller. The outer loop is the slowest controlling the position (Fig. 1).
Fig. 1: General cascaded drive system
In each loop the command signal is not processed instantaneously, but handed over to the next loop or element inside the same loop with a certain time delay. Computation times and other time lags (e.g. due to feedback) can only be reduced to a certain extent. Ultimately a delay time always remains.
This has a limiting effect on the overall system performance, where the most adverse effect on system dynamics has the time lag in the current loop. Since this is the fastest loop, which is executed with a higher frequency than all the other loops.
Reducing the effect of the time lag in the current loop and thus increasing its dynamic range will have a positive effect on all superposed loops.
Sources of Delay Times
Since the performance of any computation operation with a digital processor or microcontroller does not take an infinitely small amount of time, almost every element inside the current control loop contributes to the time delays. Some elements are even only used at certain time instants which means that they “wait” until it is “their turn” (Fig. 2).
Fig. 2: Delay times inside the current loop
Usually the acquisition of the current feed back signal is such a process. It takes place during one or both of the zerosequences (all outlets on low or all outlets on high potential) that are generated by the PWMalgorithm. At these instants of time when no switching takes place noise is low and the current assumes the average value without additional filtering that would otherwise cause additional delay as well. Together with the time consumed by AnalogtoDigital? Conversion this makes up the time delay caused by the feed back system (T_{d FB}). Faster A/D hardware can reduce the latter contribution but far more dominant is the sampling process here.
The time lost due to current control algorithms and calculation of the PWM signals from the voltage command values (T_{d PI}) can be limited by using efficient programming techniques. More important is the time delay acquired during the active phase, when the desired current is actually generated by the power stage (T_{d PWM} and T_{d PS}). This takes naturally a complete interrupt cycle. The voltage drop across the semiconductor switches is here assumed to be compensated by an algorithm equivalent to (2) or small enough to be neglected.
In order to reduce any one of the time delays they have to be looked at individually giving attention to the respective nature and source of the effect. The compensation with a Smith Predictor is done on a system level. Here all delay times can be replaced by one single delay time T_{d} and then be treated together (Fig. 3).
Fig. 3: All delay times can be represented by one single dead time
The sample and hold process contributes a dead time of one half of a sampling period (T_{a}/2). As long as the individual delays of the computation process are small, which is usually the case, they can be treated together with the delay of the active phase, which adds up to a complete sampling period (T_{a}).
With only one remaining dead time, the representation of the current control loop including all the time delays simplifies to (Fig. 4a).
Fig. 4: a) Current control loop without Smith Predictor and b) Basic Smith Predictor concept.
The machine windings are modeled as a simple LR first order lag.
The Prediction Algorithm
Some knowledge about the controlled system is required to be able to predict its reaction. In this case this is the LRmodel? of the machine windings and the applicable dead time of the complete system T_{d}.
With this information, it is possible to make the predictable current signal (the effect of the voltage command on the LRmodel) available to the feed back loop before the delay time. This is done by adding the predicted current to the feed back signal without a delay. In the predictor branch of the current control loop, the LR first order lag and the delay time have to be swapped (Fig. 4b). The feed back loop then “sees” the predicted value of the current at the same time, when it is actually generated. In digital motion control systems this is easily implemented.
The predicted signal has to be subtracted from the feed back signal again after the delay time has elapsed, because at that time the regular feed back signal contains the information of the real effect of the voltage command.
Fig. 5: Current control loop with Smith Predictor
This leads to the complete current control loop shown in (Fig. 5) where the Smith Predictor branch is implemented according to the transfer function (1).
(1)
The second part of (1) is the pulse function, described in (reference 1).
Effect on System Performance
For the following considerations the current controller is assumed to be a general regular PIcontroller with a proportional gain factor K_{p} and integration time constant T_{N }(2).
(2)
The system model that consists of the dead time T_{d} and the LR first order lag with its time constant T_{LR} is added and the control loop is closed. This leads to an overall system transfer function before the Smith Predictor was added (Fig. 4 a)) as in (3)
(3)
The addition of the Smith Predictor (Fig. 5) with its own approximations of the dead time T_{dS} and the time constant of the machine T_{LRS}, changes only the feed back which leads to (4)
(4)
If the model is sufficiently accurate, (5) holds
(5)
and (4) can be simplified to (6)
(6)
(6) represents a system where the dead time is completely outside of the feed back loop (Fig. 6) (reference 3) and thus does not affect system dynamics at all. The relevant part of the system for the PIcontroller is in fact the minimum phase equivalent as desired.
Fig. 6: Resulting system

The Nyquist plot of this system illustrates the effect of the added prediction algorithm. The well tuned regular PIcontrolled system with dead time (Fig. 7, red curve) shows the typical characteristics of a process with dead time. The Smith Predictor with exactly matching parameters (dead time and motor time constant) eliminates the dead time completely, in accordance with (6) only the first order time lag characteristic of the machine is left that affects the system dynamics (Fig. 7 green curve).The gain of the PIcontroller can now be increased to much higher levels than before, without impairing the stability of the system (Fig.7 blue curve). For a true first order time lag and correctly estimated parameters the gain could theoretically be infinite. Since the first order time lag is only an approximation and small estimation errors in the parameters are not avoidable, there are certain limits to the increase of the controller gain. 
Fig. 8: Nyquist plot of the system with Smith Predictor and ideal parameters (blue) and 15% higher dead time and 15% longer time constant (red). 
The effect of estimation errors of 15% for the dead time and 15% for the time constant of the Smith Predictor is shown in Fig. 8 (red curve) compared to the ideally tuned Smith Predictor (blue curve). This system has far less stability margin than the ideally tuned Smith Predictor but it is still superior to the system without prediction algorithm since it has a greatly increased proportional gain and thus higher dynamics. Additionally the system will also be robust enough to cope with parameters that are not precisely tuned which will most probably happen once a machine heats up during operation. 
Implementation
In the implementation special attention was given to usability and simplicity.
Since the dead time depends purely on the inverter system and its information processing unit it can be assumed to remain constant, even when the controlled machine changes. Experimental results show that this assumption is valid and no adjustment by the user is necessary.
The parameters left to tune are the resistance and the inductance of the machine model. These values should be readily available from the data of the machine or can be easily measured by the user.
These parameters can only be acquired with a certain accuracy and especially the resistance changes when the machine temperature increases. Experiments show that according to the Fig. 8 the algorithm is indeed robust against minor inaccuracies of these parameters.
Additionally, a Smith Predictor gain is introduced that can adjust the effect of the Smith Predictor during the tuning process.
With these few parameters and the possibility to limit the smith predictor gain during tuning procedure, it is possible to quickly tune the algorithm.
Automatic Parameter Acquisition
The data on which the parameterization of the Smith Predictor is based is taken from machine data bases or measured manually. Ultimately only few parameters remain to be tuned that only depend on the connected motor.
Additionally, all the measurements needed are already integrated within a normal drive system, and tuning effort can be limited by introducing certain bounds to the possible results. Necessary security to instability problems during the tuning process is provided by the Smith Predictor gain that can be used as a limiter as well.
An automated process that acquires the parameters of the correction function by itself during startup will be implemented on the same system, to enable the drive controller to quickly adjust to a number of different motors.
Test Setup
The proposed algorithm was implemented and tested on a conventional industrial drive system. (SERVOSTAR S303, 8kHz switching frequency and 16kHz current loop update and 16kHz switching frequency and 32kHz current loop update with PM machine 6SM47L3000) and tested against the same system without prediction algorithm (reference 4).
Due to the simplicity of the new elements additional calculation time is low enough not to have any effect on system performance.

Fig. 9 shows the open loop and closed loop bode plots of the system at 8kHz switching frequency and 16kHz current loop update without (red curves) and with the Smith Predictor (blue curves). It can be clearly seen that the Smith Predictor increases the dynamic range of the current loop in this low switching frequency mode by 70% (closed loop bandwidth at 90° phase angle).


Fig. 10 shows the open loop and closed loop bode plots of the system at 16kHz switching frequency and 32kHz current loop update without (red curves) and with the Smith Predictor (blue curves). In the high switching frequency mode, the increase of the dynamic range is still more than 30%. The 90° phase angle bandwidth can now be increased to over 5kHz. 
Discussion of the Results
The Smith Predictor, while originally designed for much slower processes, proves to be able to compensate even small dead times in current control loops. It can eliminate the time delay for tunability of the PIcontroller almost completely, allowing a substantially increased proportional gain.Bode plots show the wider dynamic range of the current loop with Smith Predictor. The design of a drive system with 16kHz switching frequency and 32kHz current loop update, that has a closed loop current control loop bandwidth of 5kHz was demonstrated.
Summary / Conclusion
These improvements offer the possibility of designing a drive system with much faster response while avoiding the well known tradeoffs of higher switching losses and increased EMI (electromagnetic interference), that require the system to be bigger and more expensive.
Editors
Heiko Schmirgel
Kollmorgen GmbH
Düsseldorf
Prof. Dr.Ing. Jens Onno Krah
Fachhochschule Köln
Fakultät IME – NT
Reiner Berger
Kollmorgen GmbH
Düsseldorf
References
 Smith, “A Controller to Overcome Dead Time”, ISA Journal, vol.6. no.2, pp.2833, Feb. 1959
 Schmirgel, Krah, “Compensation of Nonlinearities in the IGBT Power Stage of Servo Amplifiers through Feed Forward Control in the Current Loop” Proceedings of the PCIM Europe, pp. 9499, Nürnberg, June 2005
 Veronesi, “Performance Improvement of Smith Predictor through automatic computation of dead time”, Yokogawa Technical Report English Edition, no. 35, pp.2530, 2003
 S300 manual, Kollmorgen Corporation