WAIT: Workshop on the Advances in Information Technology, Budapest, 2017
Nonlinear variable gain position control for permanent magnet synchronous motor servo- and robot drives Tibor Vajsz1 , László Számel1 1
Department of Electric Power Engineering, Budapest University of Technology and Economics, Budapest, Hungary E-mail:
[email protected] ,
[email protected]
Abstract This article presents a nonlinear variable gain position control method (NVGC) for permanent magnet synchronous motor servo- and robot drives. This method has increased dynamics compared to the traditional constant gain position controller. Both methods are compared against each other via Matlab-Simulink simulation. Categories and Subject Descriptors (according to ACM CCS): I.3.3 [Computer Graphics]: Line and Curve Generation
1. Introduction Permanent magnet synchronous motors (PMSMs) are very popular in the case of servo- and robot drives due to their high power-density, great reliability and excellent efficiency. One of the most attractive features of PMSMs that they have a relatively low moment of inertia compared to other motor types which makes them capable of excellent dynamic performance that is very useful for applications like robots that require fast and accurate positioning. However, the dynamic performance of a positioncontrolled system is not solely dependent on the motor itself. The dynamics of position control is dependent on the applied control techniques as well. Most of these applications use constant gain position controllers but these are very slow.1 Therefore, other types of position controllers are currently in development.2, 3 One of the possible alternatives is nonlinear variable gain position control (NVGC).4, 5 This article presents NVGC along with its basic features and a comparison is made against constant gain position control via Matlab-Simulink simulation for a PMSM servo motor. 2. Position control with variable gain This article assumes a permanent magnet synchronous motor (shortly: PMSM or sinusoidal back-EMF BLDC in extralow voltage (< 50VRMS ) applications) as an actuator. It can be proven that the closed torque-control / current-vector con-
trol loop of a PMSM drive system can be modelled with a first-order lag element if compensation feedback is applied in the current-vector controller.6 It must be noted that this is true for other drive systems as well, such as permanent magnet brush DC motor (shortly: PMDC) drives if compensation feedback is applied in the current-controller.7, 8 It is also assumed that speed control is realized by a PI-type speed-controller. With these assumptions Figure 2.1 shows the block-diagram of the position-controlled servo system. The denoting is the following: Wp is the transfer function of the position controller, Wω,ωre f is the transfer function of the closed speed-control loop, αre f is the position-reference, α is the actual position, ∆α is the position-error and similarly ωre f is the angular-speed reference and ω is the angular speed of the motor.
αref +
∆α
Wp
!ref
W!;!ref
!
1 s
α
− Figure 2.1: The block-diagram of the position-controlled servo system.9, 10
The transfer function of a PID-type position-controller is the following:9, 10
Vajsz, Számel / Nonlinear variable gain position control for permanent magnet synchronous motor servo- and robot drives
Wp = K p +
1 + sTpd sTpi
(2.1)
With a PID-type position-controller the open positioncontrol loop is the following:
Wα,∆α = WpWω,ωre f
1 1 1 = Wω,ωre f (K1 + + ) (2.2) s sT1 s2 T22
Where:
K1 = Tpd
(2.3)
1 Kp
(2.4)
T1 =
Wα,αre f =
1 1 + sT
By inverse Laplace-transforming (2.7), we get:
αre f (t) = α(t) + T
dα(t) dt
(2.8)
With the assumption of constant position-reference, the position-error is the following:
∆α(t) = αre f (t) − α(t) = T
d∆α(t) dα(t) = −T dt dt
(2.9)
This leads to:
∆α(t) = ∆α0 e−t/T p T2 = Tpi
(2.7)
(2.5)
(2.10)
where ∆α0 is the initial position-error. This means that the position settles in the exponential function of time if a P-type constant gain position controller is used and the positioncontroller, the speed-controller and the current-vector controller are unsaturated (they are in the linear region). Because the derivative of an exponential function is also exponential this means that the speed also varies in an exponential function of time in the linear region.
According to (2.2), (2.3), (2.4), (2.5), the effects of the P-, I- and D- terms in the position-controllerR have been modified by the natural integrating term (α = ωdt) in the servo system. For example, the I-term in the position controller creates a double-integrating effect which can significantly reduce the stability and the dynamics of position-control. Therefore, the I-term is not used in the position-controller. Also, the effect of the D-term in the position-controller is similar to that of a P-term with the only difference is that the D-term in the position-controller takes part in the control process only if a sudden change in the position-error occurs. This means that the D-term in the position-controller has a P-term like effect in sudden changes of the position-error and essentially no effect otherwise. This "on-off" P-term effect can cause significant oscillations in the speed-reference which can heavily reduce the dynamics of position-control and can lead to instability in extreme cases. However, the Dterm in the position-controller is useful in special cases, for example in flexible systems for suppressing the oscillations caused by the mechanics.
where β is the constant angular deceleration. Assuming a constant position-reference the following equation holds for the derivative of the position-error:
Assuming a P-type position controller with constant gain the transfer function of the open position-control loop is the following:
d∆α d∆α/dt ω = = dω dω/dt β
Wα,∆α = Wω,ωre f
Kp 1 = Wω,ωre f s sT
The exponential settling is overshoot-free but slow because the speed decreases exponentially during braking in the linear region. This process can be accelerated by a applying constant deceleration during braking.4, 5 This means that:
dω = −β dt
(2.11)
(2.12)
By integrating (2.12) in the function of ω we get: (2.6)
If the cut-off frequency of the speed-control loop is significantly larger than that of the position-control loop, Wω,ωre f = 1 can be assumed for the investigation of the position-control loop. Then the closed position-control loop is the following:
∆α =
ω2 2β
(2.13)
Taking it into account that the position-error can be either positive or negative the following equation can be derived:
Vajsz, Számel / Nonlinear variable gain position control for permanent magnet synchronous motor servo- and robot drives
Motor nominal speed
3000 rpm
Motor nominal torque
1.3 Nm
Motor maximal torque
3.95 Nm
Motor number of pole-pairs
3
Motor nominal current
1.4 ARMS
Motor maximal current
4.25 ARMS
Stator resistance
9.9 Ω
Synchronous inductance
18.6 mH
Amplitude of the poleflux-vector
0.1481 W b
DC-bus voltage (constant)
530 V
PWM-frequency
20 kHz
Current-vector control loop sample time
50 µs
Speed-control loop sample time
100 µs
Position-control loop sample time
500 µs
Encoder resolution
4096 ppr
Position resolution
16384 cpr
3. Simulation results
Simulation sample time
1 µs
Simulation was carried out for a permanent magnet synchronous servo motor in Matlab-Simulink environment, using the parameters in Table 3.1.
Total inertia (reduced to motor-shaft)
0.0024 kgm2
p ωre f = a1 sign(∆α) |∆α|
(2.14)
where a1 is a constant. (2.14) is the basic equation of nonlinear variable gain position control (NVGC). According to (2.14) the angular-speed reference varies in the square-root function of the position-error, whereas in the case of the Ptype constant gain position controller: ω∗re f = K p ∆α
(2.15)
The gain of the NVGC for a specific working point is:
∂ωre f a = p1 ∂∆α 2 |∆α|
(2.16)
and in the case of the P-type constant gain position controller: dω∗re f = Kp d(∆α)
(2.17)
The simulation uses space vector modulation as PWMstrategy with the optimized switching strategy detailed in [9], [10]. The 1 µs simulation sample time results in a maximum of 1 µs inaccuracy in PWM-generation but this does not cause a problem because it is compensated by the current-vector controller and this inaccuracy naturally exist in a real-life implementation due to inverter dead-time, impulse rise/fall time and input to output propagation turnon/turn-off delay time. The limitation of the current-vector controller was set to 306 V in order to make the maximal utilization of the DC-bus voltage and thus the maximal dynamics of torquecontrol possible. The torque-reference was limited to the maximal torque of the motor in the speed-controller (this is also a limit for the reference value of the amplitude of the current-vector). The speed-reference was limited to the nominal speed of the motor in the position controller. The simulated process is a position-reference step of 327680 counts (20 revolutions) at 0 second. The load-torque is 0 Nm during the process. All of the simulation results are represented in the function of time in seconds. Positionreference and actual position are expressed in counts, while speed-reference and actual speed are expressed in rpm. Torque-reference and actual torque are expressed in Nm.
Table 3.1: Simulation parameters
The reference values are always represented by dashed lines, while the actual values are always represented by continuous lines. Figure 3.1 shows the position-reference and the actual position during the process for constant gain position controller. According to Figure 3.1 the settling of the position to the position-reference is overshoot-free. However, according to Figure 3.2 the settling happens at the very end of the process (about 1.9 seconds). This is because that in the linear region (all controllers are unsaturated) the settling of the position is exponential in the function of time which is in accordance with (2.8). The exponential settling is well-visible on Figure 3.3 as the speed-controller is operating in the linear region at the end of the braking. This is clearly visible on Figure 3.4 as well. On the contrary, in the case of NVGC the settling of the position is significantly faster (see Figure 3.5) than in the case of constant gain position controller (about 0.6 second on Figure 3.6 instead of 1.9 seconds). This is because brak-
Vajsz, Számel / Nonlinear variable gain position control for permanent magnet synchronous motor servo- and robot drives 3500 3000 Speed-reference 2500 Actual speed
Speed (rpm)
ing is done with a constant and relatively high angular deceleration. According to Newton’s second law of motion for rotation this means a deceleration with constant torque. This phenomenon is well-visible on both Figure 3.7 and Figure 3.8: the speed varies in the linear function of time during braking on Figure 3.7 and the torque is constant during braking on Figure 3.8 (the constancy is a bit deteriorated on Figure 3.8 due to the current-vector controller which operates with fixed sample time and therefore it produces torqueripples that are the function of speed and these ripples are modulated by the inverter).
2000 1500 1000 500 0 -500 0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (sec)
Figure 3.3: The speed-reference and the actual speed for constant gain position controller.
However, according to Figure 3.6 the positioning is not error-free: after reaching the position-reference the actual position oscillates. This can explained by the fact that the gain of NVGC from (2.16):
5
Torque-reference
∂ωre f lim =∞ ∆α→0 ∂∆α
(3.1)
Torque (Nm)
2.5
Actual torque
0
-2.5
This causes the sudden increase of the gain of NVGC for near-zero position-errors which causes oscillations in the speed (see Figure 3.7) and the torque (see Figure 3.8). Based on (3.1) these oscillations are inherent to the method. Therefore, a modification of the original method is required which means the limiting of the gain of NVGC for near-zero position-errors. 3.5
-5 0
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (sec)
Figure 3.4: The torque-reference and the actual torque for constant gain position controller.
×10 5 3.5
3
×10 5
3
2.5 2
Position (counts)
Position (counts)
0.2
Position-reference 1.5
Actual position
1
2.5 2 Position-reference
1.5
Actual position 1
0.5
0.5
0 0
0.2
0.4
0.6
0.8
1 Time (sec)
1.2
1.4
1.6
1.8
2 0 0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (sec)
Figure 3.1: The position-reference and the actual position for constant gain position controller.
3.2771
×10 5 ×10 5
Position-reference Actual position
3.277
3.2771 Position-reference 3.277
3.2769
Position (counts)
Position (counts)
Figure 3.5: The position-reference and the actual position for NVGC.
3.2768
3.2767
3.2766
Actual position
3.2769
3.2768
3.2767
3.2766
3.2765 1.4
1.6
1.8
2
Time (sec)
3.2765 0.2
Figure 3.2: The settling of the position for constant gain position controller.
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Time (sec)
Figure 3.6: The settling of the position for NVGC.
2
Vajsz, Számel / Nonlinear variable gain position control for permanent magnet synchronous motor servo- and robot drives 3500
Annual Conference on IEEE Industrial Electronics Society
3000 Speed-reference
Speed (rpm)
2500
Actual speed
2000
4.
L. Számel, Dynamic improvement of DC- and switched reluctance motor servo drives (In Hungarian: Egyenáramú és kapcsolt reluktancia motoros szervohajtások dinamikus tulajdonságainak javítása). Budapest, 2005
5.
Diep N.V., L. Számel, The application of modern control strategies for robot drives (In Hungarian: Modern irányítási stratégiák alkalmazása robothajtások szabályozására). Elektrotechnika, Budapest, 1990
6.
T. Vajsz, L. Számel, Robust speed-control for permanent magnet synchronous motor servo drives. Proceedings of the Workshop on the Advances of Information Technology (WAIT) 2015, Budapest
7.
B. Lantos, Theory and design of control systems I. (In Hungarian: Irányítási rendszerek elmélete és tervezése I.). Akadémiai Kiadó, Budapest, 2001
8.
J. Staszak, K. Ludwinek, Z. Gaw˛ecki, J. Kurkiewicz, T. Bekier, M. Ja´skiewicz, Utilization of permanent magnet synchronous motors in industrial robots. 2015 International Conference on Information and Digital Technologies
9.
I. Schmidt, K. Veszprémi, Drive Control. Budapest, 2011
1500 1000 500 0 -500 0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (sec)
Figure 3.7: The speed-reference and the actual speed for NVGC.
5 Torque-reference Actual torque
Torque (Nm)
2.5
0
-2.5
-5 0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (sec)
Figure 3.8: The torque-reference and the actual torque for NVGC.
4. Conclusions In this article constant gain position control and variable gain position control (NVGC) has been analyzed for permanent magnet synchronous motor servo- and robot drives. The analysis has concluded that NVGC controls the position of the motor with significantly increased dynamics compared to constant gain position control. However, it has also been concluded that NVGC produces position-oscillations after reaching the position reference which causes oscillations in the speed and the torque as well. Therefore, a modification of the original method will be required which limits the gain of NVGC for near-zero position-errors. References 1.
J. Song, N. Xi, F. Xu, K. Jia, F. Zou, Servomotor modelling and control for safe robots. 2015 IEEE International Conference on Robotics and Biomimetics (ROBIO)
2.
C. L. Hwang, Comparison of Path Tracking Control of a Car-Like Mobile Robot With and Without Motor Dynamics. IEEE/ASME Transactions on Mechatronics, Vol. 21. No. 4., 2016
3.
Soo-Cheol Shin, Chi-Hwan Choi, Jang-Hyoun Youm, Taeck-Kie Lee, Chung-Yuen Won, Position control of PMSM using jerk-limited trajectory for torque ripple reduction in robot applications. IECON 2012 - 38th
10. I. Schmidt, Gyné. Vincze, K. Veszprémi, Electrical servo and robot drives (In Hungarian: Villamos szervoés robothajtások). M˝uegyetemi Kiadó, 2000