Bode Plot based Auto-Tuning – Enhanced Solution for High Performance Servo Drives J. O. Krah Danaher Motion GmbH Wachholder Str. 40-42 40489 Düsseldorf Germany Email: j.krah@danaher-motion.de Tel. +49 203 9979 133 Fax. +49 203 9979 200 Abstract This paper describes a new self-tuning method using an automatic bode plot based filter-configuration algorithm. Most existing auto-tuning algorithms are based on simple load inertia estimation. They work fine, if the user more or less does not need them, but they struggle in more complex systems. The described approach is also targeting complex and difficult problems, which usually appear in low damped direct drive machines with significant motor inertia to load inertia mismatches [1]. Introduction High performance servo drives are still a fast growing market segment. The brush-less technology offers significant advantages in terms of reliability and motor size. The higher drive complexity is covered with additional logic and new power electronic components. Due to the innovation cycles of the semiconductor suppliers the size and the cost of the more and more complex drives did not increase. Each new drive generation offers more performance, more flexibility and higher integration density [2,3]. The servo drive component cost will continually decrease in the near future. On the other side the mechanical design is more and more cost and weight optimized, which results in less stiff constructions. Therefore the installation and set-up time (= cost) is a steady growing issue. A reliable self-tuning algorithm can help to decrease the set-up time. Control structure A very common control architecture in the motion control is the cascaded control structure. The most inner loop is also the fastest loop, the current control. The next outer loop is the velocity control. The slowest and most outer loop is the position control. Due to feed forward and other extensions like observers the performance of the system can be significant improved [4]. At least the feed forward does not change control loop stability. Therefore the cascaded control structure is the base for the developed self-tuning algorithms. 382 • PCIM EUROPE 2004 • PROCEEDINGS The current control loop depends mainly on the drive internal delay times and on the motor winding inductance and resistance. It is very common that motor and drive are selected from one supplier. This vendor should also provide the current control parameter set [5]. Due to the fact that the position is just the integration of the speed the position loop gain depends mainly on the achieved velocity loop bandwidth. Tuning the velocity loop is the real task. Here we find the motor inertia and the load inertia connected via compliant mechanics. The system contains also friction and backlash. This can result in complex resonance issues. Friction for example can help to damp the behavior. In systems with low mechanical damping the drive has to provide electronic damping by using filters in the current command path. Compliantly coupled load The load and the motor are two independent inertias connected by non-rigid components. The equivalent spring constant of the entire transmission is c, illustrated in Figure 1. It describes the torque produced by a position difference between motor and load. The viscous damping term d describes the torque, which is produced by the velocity difference of motor and load. An ideal servo system would follow the position/velocity command without delay and following error. This would require an extreme high loop gain. In real systems the gain is limited. A too high gain produces signal overshoot or excessive ringing. A very easy and common way to set-up and tM c, d JM JL Figure 1: Compliantly coupled motor and load check the gain is reviewing a velocity loop step response scope plot, figure 2. This is perfect to check the result, but it is more or less tuning by trial and error. If more then one parameter needs to be determined only a real servo expert has a chance to get an optimal result. There is no direct way to see the actual valid stability margin to system rigging. Reviewing the velocity command to measured velocity Bode plot gives easier to use information. This is called closed loop Bode plot and is shown in figure 3. We can read directly the peaking (output amplitude is higher than input amplitude) and the bandwidth (90° or –3dB) of the velocity loop. These are key performance indices of the velocity control loop. The closed loop Bode plot allows an easier interpretation of the information than the pure step response, but a straightforward gain setting is still not possible. The tuning process is still more or less trial and error. Using the velocity error to measured velocity Bode plot offers more information, figure 4. This is called open loop bode plot. Using this graph the gain margin and the phase margin are directly visible. Knowing the selected margins we can directly calculate how much the gain should be changed (x dB) to get the desired tuning. This is very practical with simple single inertia systems. Most real systems are not that simple. Often we find compliant coupled two or more mass systems, sometimes with significant friction and/or some backslash. This is easy to see in the open loop bode plot. The frequency related gain reduction is requested, some phase lag comes with it. It is rather often that in a real system placing a filter in front of the current controller can help to increase the gain margin. Sizing that filter is not an easy job. In general there are three common ways to get the current set-point filter parameters: Figure 2: Velocity loop: step response scope plot AKM 42 with ServoStar 300 – no load Filters in motion control systems There are two main reasons why current set-point filters are used in motion control systems: • Reduce noise from a low resolution feedback system • Increase gain and stiffness of compliant load Low-resolution encoder and resolver-based systems with high velocity loop gains generates audible noise in the motor due to the noise on top of the current command. Simple low pass filters can reduce this noise. A more advanced solution is a Luenberger observer to estimate a velocity signal with less noise [4]. To suppress oscillations of compliant coupled load filters are used to increase gain in the lower frequency area for more stiffness without decreasing the gain margin at the first phase crossover. To control a motor without load an additional filter is usually not necessary. The behavior of a good servomotor is like a simple integration (torque (~current) -> speed). Due to the compliant coupling with an additional inertia we can get a system with torsional oscillations. The ideal filter would be the inverse transfer function of the compliant coupling [6]. Figure 3: Velocity loop: closed loop bode plot AKM 42 with ServoStar 300 – no load Figure 4: Velocity loop: open loop bode plot AKM 42 with ServoStar 300 – no load (controller integral part is switched off) PCIM EUROPE 2004 • PROCEEDINGS • 383 1. 2. 3. Set the filter parameters by experience of a servo expert Set the filter parameters by more or less trial and error Use the measured or calculated inverse transfer function to set the filter Most applications are not just compliant two mass systems. We find often compliant systems with distributed mass or multiple mass configurations. Here is the calculation or the estimation of the inverse transfer function with an acceptable order very difficult or not possible. For these applications setting the filters is the real task. To get an understanding of the behavior of these systems we can look at an ideal two mass system. It is always assumed that the feedback system is mounted on the motor side as usual in the industry. Detailed analyses of a two mass system in the frequency domain In the following chapter the motor inertia is always constant. The load inertia and the spring constant are the characterizing variables. In the industry it is well known that a good approach is matching motor inertia with load inertia (1:1). The coupling should be as stiff as possible. Figure 5 shows a Bode plot of a low damped non inertia-matched system with JL ~ 9JM. Three different sections characterize the plot: • In the frequency range well below the antiresonant frequency the plant acts like a scaled (low frequency) inertia with J = J L + J M . The frequency of the anti-resonance (zero) is defined by: c 1 (1) f AR = Hz 2π J L • • In the frequency range well above the low damped resonant frequency the plat acts like a scaled inertia with only the value of the motor (high frequency) inertia J = J M . The frequency of the resonance (pole) is defined by: c 1 (2) fR = 2π JJLL+JJMM The inertia ratio, the spring constant and the system damping are defining the plot in the transition area of the resonant frequencies. The transfer function can be formed in a two-part notation [6]: V (s ) 1 J M = T (S ) J M s J L + J M J s 2 + ds + c s 2 + ds + c L JLJM JL +JM (3) The term on the left is just the motor behavior and the term on the right is the effect of the compliant 384 • PCIM EUROPE 2004 • PROCEEDINGS Figure 5: Bode plot of motor / load plant with coupled load [6] black: motor only red: motor with ideal coupled load blue: motor with compliantly coupled load (low damped) coupled load. An ideal filter would be similar or equal to the inverse function of the right part. The high frequency gain ( s = ∞ ) of the right part is one and the low frequency gain (s = 0) is JM (4) G (s = 0) = JL + JM Figure 6 shows the low frequency gain drop as a function of the load to inertia ratio. This gain drop results also in a bandwidth drop. Figure 7 shows the resonance frequencies as a function of the load to motor inertia ratio. The anti-resonance is strictly moving with the square root of the inertia ratio. The resonance frequency is only slightly moving. fR = f AR JL + JM JM (5) In a servo system with matching inertia ( J M = J L ) the resonance frequency is 2 higher than the antiresonance frequency. If the load inertia is significant higher than the motor inertia, the anti resonance frequency will drop down. To achieve an appropriate bandwidth a stiffer coupling c is required (for example a direct drive solution). By comparing the anti-resonance (nominator from the second part of equation 3) with the standard oscillation equation: +10 +10 0 0 F (ω ) ∆F (ω << ω 0 ) -20 - 17 dB -20 265 Hz -30 dB -30 dB 38 Hz -40 -40 0.01 0.1 1 JL/JM 10 100 Figure 6: Low frequency “gain drop” as function of the load to inertia ratio ϕ 0 -90 -180 -270° 1 10 100 f 1 k Hz 10 k Figure 9: Bode plot of a first order and second order lag filter fz = 38 Hz, fp = 265 Hz and DAR=DR=0.5 resonance 100 - 34 dB 10 JL/JM anti-resonance 1 0.1 0.1 0.3 1 f / f0 3 coupled two mass system are: • Low gain at “low” frequencies < fAR • High gain at “high” frequencies >fR • Phase lead between fAR and fR (figure 5) • Significantly influenced by the inertia ratio 10 Figure 7: resonance / anti-resonance frequency as function of the load to motor inertia ratio ω 02Z + 2 DZ ω 0 Z s + s 2 = 0 we get for the anti-resonance damping: (6) DZ = d 2 J L c (7) ( ) The desired filter to compensate a two inertia compliantly coupled system should own high gain at low frequencies and low gain at high frequencies. The phase lag between the corner frequencies should be less than the phase lead of the system in this area. If the gain drop at low frequencies is low (< 15 dB) and the system is well damped a two parameter ( ω Z , ω P ) first order lag filter is a good approach: s + ωZ ωP (10) F1 (s ) = ; ω = 2π f s + ωP ωZ In case of higher inertia mismatches – which results in a higher gain drop – or a low damped system a four parameter ( ω Z , ω P , DZ , D P ) second order lag filter (bi quad) could be better fitting: 2 s 2 + 2 DZ ω Z s + ω Z2 ω p (11) F2 (s ) = 2 s + 2 DPω P s + ω P2 ω Z2 Figure 9 shows two Bode plots of these filters. Setting these four parameters without experience or guideline just by trial and error is nearly impossible. An optimization criterion is to maximize the closed loop bandwidth with a stable well-damped behavior. The Nyquist stability criteria can help to determine that parameter set. and the resonance damping: JLJM (8) D P = d 2 c J + J L M Interesting is the relation between these equations: DP = DZ JL + JM JM (9) The equation shows that in an ideal two mass system the resonance frequency (pole) is always better damped than the anti-resonance (zero). Figure 8 shows several idealized Bode plots (damping not shown) with different load inertia configurations. Parameter for the plots is the inertia ratio. Wrapped up the key behaviors of the compliantly +20 +10 0 F (ω ) 10 -20 dB -30 3 1 0.3 0.1 JL = 100 JM -40 0.1 0.3 1 3 10 Figure 8: several idealized bode plots with different load inertia configurations – damping is not shown – see figure 5 30 Bode plot based velocity loop autotuning The task is to determine the two parameters of the velocity loop PIcontroller and - if necessary - to select and parameterize the first or second order lag filter to compensate the PCIM EUROPE 2004 • PROCEEDINGS • 385 • the velocity observer is well adapted [4]. Figure 11 shows such a measured open loop Bode plot (green) of an industrial linear motion system, figure 10. The red marked plot shows the gain increasing effect of the compliant coupled load. Figure 10: Belt driven linear motion system produced by Montech – www.montech.ch described compliant coupled load behavior. This is executed in three major steps: 1. Measure system transfer function 2. Select and parameterize anti resonance lag filter 3. Set PI-gains according to Nyquist stability criteria Measure system transfer function In the shown plots we can see that the system has mainly the behavior of a PI-controlled single integrator with delay. Due to the integral part of the velocity loop controller the phase shift in the low frequency area is close to 180°. The behavior in the high frequency area is significantly influenced by the current loop performance and the velocity estimation method. By using an observer to eliminate the digital differentiation delay this observer has to be adapted to the system. The digital drive ServoStar 300 can run a simple – first order - inertia estimation at a defined frequency (usually 300-500Hz). This frequency should be set above of the system resonance frequency to adapt the observer to the high frequency (motor only) inertia. According to this constrains the system transfer function can be best measured when: • all internal filters are switched off, • the current loop is well tuned [5], • the velocity PI-integral part is off or very low and Select and parameterize anti resonance lag filter Figure 12 shows more detailed the gain increase effect of the compliant coupled load (red). The blue plot shows the gain approximation of a 2nd order lead filter. The parameters ( f Z = 74 Hz , f P = 146 Hz and dc-gain = -1.5dB) are fitted by using a simple least square adoption to the measured plot. The fitting works considerably good as shown in the Bode plot. The highlight is that here a compliant coupled threeinertia system (belt gear box + linear motion belt) is compensated quite well. The requested current set-point filter is the inverse transfer function of the approximated 2nd order filter ( f P = 74 Hz , f Z = 146 Hz ). The dc-gain can be ignored and the first approximation of the damping is set to: DZ = D P = 1 2 The frequency with the highest phase lag is here: f lag = f P f Z = 105 Hz This is fitting perfectly with the phase lead (at 105 Hz) of the measured open loop bode plot, figure 13. According to the Nichols diagram here is a minimum gain requested. Due to digital delays and system time constants the phase shift crosses 180° in an area of several 100 Hz. Here is a maximum gain requested. The frequency dependent minimum or maximum value is defined by the corresponding open loop phase shift. Nyquist stability criteria and the Bode plot The easiest interpretation of the Nyquist stability criteria is to check of the gain margin (at 180° phase) and the phase margin (at 0dB gain) in the open loop Bode plot, Figure 13. But this is a verification at only two points. What is beside these two points? We can see the detailed behavior much better in the Nichols diagram, figure 14. Here we see the phase-gain relation for each frequency. 14 12 10 dB 8 6 4 2 0 -2 -4 20 - 600 Hz Figure 11: Open loop Bode plot (green) and the gain increase effect of the compliant coupled load (red) Montech linear motion system 386 • PCIM EUROPE 2004 • PROCEEDINGS Figure 12: Measured gain increase effect of the compliant coupled load (red) 2nd order filter approximation (blue) Montech linear motion system +20 F (ω ) I-Part 10 dB gain margin +10 +40 0 dB Gain 0 -20 dB 3 dB 1 dB +10 0 -90 -180 -270 -360° 10 0.5 dB +20 -30 ϕ f +30 -10 6 dB 0 30 100 50° phase margin f 300 Hz 1k F (ω ) 12 dB 180° phase Figure 13: Open loop Bode plot with 50° phase margin and 10 dB gain margin Accepting 1dB peaking (red oval) we can see that the gain is limited if the phase shift is between 115° to 245°. For low frequencies – due to the phase shift - a minimum gain is requested, for high frequencies the maximum is shown. The gain margin would be 5 dB; phase margin would be 65°. Set PI-gains according to Nyquist stability criteria By switching the integral part off we get the doted line in figure 14. Now the gain can be increased until the plot touches the lower side of choused peaking oval (the plot is moving up). In the next step the integral part can be increased until the plot touches the upper side of the oval (the plot is moving left). Figure 15 shows the Bode plot of the tuned velocity loop. Summary Instead of tuning a servo drive system by highly educated servo experts the Bode plot based auto-tune can provide reliable results in a short time frame. The result is documented with an open and closed loop Bode plot that shows key performance indices like bandwidth and stability margin. The key advantages of using a Bode plot based autotuning are: • Ease of use • Very good results in a short time frame • Less set up cost This results in advantages for the designed product: • Higher reliability and lower fault risk • Higher productivity • Fast development time References [1] V. Wesselak, M. Köhler and G. Schäfer, „Robust Speed Control Based on the Identification of Mechanical Parameters“, PCIM, Germany 2003. [2] J. O. Krah and K. Neumayer, “Motorsteuerung – kompakt und flexibel”, Elektronik Heft 3/2004, Weka Verlag. -20 dB -30 velocity observer & digital delay -40 360° 270 180 ϕ 90 0 Figure 14: Nichols plot - always open loop – here with 0.5 dB peaking doted line: without integral part Figure 15: Open loop (green) and closed loop (red) bode plot of the Montech linear motion system with 2nd order lag filter and switched on integral [3] J. O. Krah, S. Geiger and G. Jaskowski, “Free Programmable Signal Processing inside a High Performance Servo Amplifier”, PCIM, Germany, 1998. [4] J. O. Krah, “Software Resolver-to-Digital Converter for High Performance Servo Drives”, PCIM, Germany 1999. [5] J. O. Krah, J. Holtz, “High Performance Current Regulation for Low Inductance Servo Motors”, IEEE Industry Appl. Soc. Annual Meeting, St Louis, Oct. 1998. [6] G. Ellis, Cures for Mechanical Resonance in Industrial Servo Systems, PCIM Germany 2001. PCIM EUROPE 2004 • PROCEEDINGS • 387