0% found this document useful (0 votes)
2 views

Robotics_Lab_Industrial_Drives_Part_2_V4_0

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Robotics_Lab_Industrial_Drives_Part_2_V4_0

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Robotics Lab

Experiment „Industrial Drives, Part 2“

Measurement Data Evaluation


Identification of Mechanical Parameters

Dr. Bernhard Müller


Dr. Rainer Herrler
M. Eng. Hendrik Schiefhauer

Version 4.1, 18/05/2024


Table of Contents

Table of Contents
1 Preface ............................................................................................................ 1

1.1 Organization .............................................................................................. 1

1.2 Learning Objectives................................................................................... 1

2 Mathematical Fundamentals & Basic Signal Processing Tools ....................... 2

2.1 Linear Systems of Equations ..................................................................... 2

2.1.1 Overview and Matrix Representation .................................................. 2

2.1.2 Least-Squares Solution of Overdetermined Systems of Equations .... 3

2.1.3 Application Example: Polynomial Curve Fitting .................................. 4

2.2 Sampled Time Signals .............................................................................. 5

2.3 Time Derivative of Sampled Signal ........................................................... 6

3 Mathematical Description of Servodrive Systems ........................................... 7

3.1 Servomotors (Permanent-magnet Synchronous Motors) .......................... 8

3.1.1 Construction and Working Principle .................................................... 8

3.1.2 Torque-creating Current Component and Torque Constant ............... 9

3.1.3 Impact of Magnetic Saturation .......................................................... 10

3.2 Standard Model for the Drive Axis Mechanics ......................................... 12

3.3 Electric Equivalent Circuit ........................................................................ 13

3.4 Feasible Operating Range and Limits ..................................................... 15

3.4.1 Overview ........................................................................................... 15

3.4.2 Short-time Operating Range ............................................................. 16

3.4.3 Continuous Operating Range ........................................................... 17

3.4.4 Limits of the Power Electronics ......................................................... 17

4 Evaluation of Measurement Data .................................................................. 18

4.1 Identification of Mechanical Parameters.................................................. 18

4.1.1 Load Moment of Inertia Without Friction ........................................... 18

Industrial Drives 2 Müller, Herrler, Schiefhauer Page II


Table of Contents

4.1.2 Load Moment of Inertia and Friction ................................................. 21

4.2 Peak-Torque vs. Speed Characteristic .................................................... 23

5 Sources ......................................................................................................... 26

Industrial Drives 2 Müller, Herrler, Schiefhauer Page III


1 Preface

1 Preface

1.1 Organization
You will work on this lab task at home using MATLAB:
 Please read the present document carefully such that you understand all
basic concepts which are explained in the following Chapters.
 Solve all tasks (Tasks 1 to 11). You have to submit:
o A report about your results in written form as PDF file.
o All MATLAB source files which are combined to one zip-archive.
Please submit your solutions via email to [email protected] latest on
Wednesday, June 19st (one solution per group).

In addition to actually answering all direct questions, your report must also contain
all requested MATLAB figures. MATLAB source code, however, should not be in-
cluded in the document.
The cover sheet of your report must contain:
 your group number
 name and student numbers of all team members
 the signature of each team member

The results of the lab tasks will be discussed in a ZOOM session – one per group.
The session includes a colloquium where all group members will be tested for their
knowledge of the theory. This colloquium will take place on Tuesday afternoon,
June 25th. A detailed schedule with the exact times for each group will be published
in the eLearning course.

1.2 Learning Objectives


After you have completed these lab experiments you will
 know some fundamentals of measurement data processing
 be able to apply least-squares methods for parameter identification
 understand the constraints of industrial servodrives
 be able to interpret important measurement signals of electric drives

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 1


2 Mathematical Fundamentals & Basic Signal Processing Tools

2 Mathematical Fundamentals & Basic Signal Processing Tools


First, some fundamental concepts are introduced and/or recapitulated which will
later be needed to evaluate the measurement data obtained during the first part of
this lab course about industrial drive systems.

2.1 Linear Systems of Equations

2.1.1 Overview and Matrix Representation


A set of 𝑚 equations
𝑎11 ∙ 𝑥1 + 𝑎12 ∙ 𝑥2 + ⋯ + 𝑎1𝑛 ∙ 𝑥𝑛 = 𝑏1
𝑎21 ∙ 𝑥1 + 𝑎22 ∙ 𝑥2 + ⋯ + 𝑎2𝑛 ∙ 𝑥𝑛 = 𝑏2
(1)

𝑎𝑚1 ∙ 𝑥1 + 𝑎𝑚2 ∙ 𝑥2 + ⋯ + 𝑎𝑚𝑛 ∙ 𝑥𝑛 = 𝑏𝑚

where the coefficients 𝑎𝑖𝑗 and 𝑏𝑖 do not depend on the 𝑛 unknowns 𝑥𝑘 , is called a
linear system of equations. For the sake of simplicity, we assume that all constants
and also the unknowns are real numbers throughout this document. Combining the
unknowns in the vector1
𝑥1
𝑥2
𝑥=[⋮ ] (2)
𝑥𝑛
and introducing the matrix
𝑎11 𝑎12 ⋯ 𝑎1𝑛
𝑎21 𝑎22 … 𝑎2𝑛
𝐴=[ ⋮ ⋱ ⋱ ⋮ ] (3)
𝑎𝑚1 𝑎𝑚2 ⋯ 𝑎𝑚𝑛
as well as the vector
𝑏1
𝑏
𝑏 = [ 2] (4)

𝑏𝑚
allows to write (1) in the compact form

𝐴∙𝑥 =𝑏 (5)

1 Matrices and vectors are indicated by underlined symbols in this document.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 2


2 Mathematical Fundamentals & Basic Signal Processing Tools

The system is called over-determined if the number of unknowns 𝑛 is smaller than


the number of equations 𝑚. In that case, an exact solution will often not exist since
the set of equations is contradicting. During the measurement evaluation tasks con-
sidered in the following, 𝑚 will be much larger than 𝑛 such that it is clear (even
without formal verification) that an exact solution is not feasible. Instead, we will
calculate least-squares estimates according to the procedure described in the next
section.

2.1.2 Least-Squares Solution of Overdetermined Systems of Equations


Assume that the over-determined linear system of equations (5) has more linearly
independent2 equations than unknowns 𝑛. Since an exact solution which satisfies
all conditions in (5) does not exist in this case, a non-zero error vector
𝑒 =𝐴∙𝑥−𝑏 (6)
remains for all possible choices of the unknown variables in 𝑥. In order to at least
approximately solve the problem, we seek the so-called least-squares solution 𝑥̂
which is minimizing the quadratic error measure
𝑚
2
𝐸 = ‖𝑒‖ = ∑ 𝑒𝑖2 = 𝑒12 + 𝑒22 + ⋯ + 𝑒𝑚
2 (7)
𝑖=1

On the conditions stated above, it can be shown that 𝐸 becomes minimal for one
unique set of parameters 𝑥 = 𝑥̂ given by
−1
𝑥̂ = (𝐴𝑇 𝐴) 𝐴𝑇 ∙ 𝑏 (8)

When solving linear equations in MATLAB the least-squares solution is automati-


cally calculated by the command
x=A\b
which returns an exact solution if one exists and the least-squares solution 𝑥̂ other-
wise.

2 Roughly speaking, an equation is linearly independent if it contains new information which is not
already covered by the other equations of the systems.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 3


2 Mathematical Fundamentals & Basic Signal Processing Tools

2.1.3 Application Example: Polynomial Curve Fitting


Before applying the least-squares solution approach to some real measurement
data in Section 4.1, let us consider the following academic example.
The catapult system illustrated in Figure 1 is accelerating and throwing a ball whose
path is measured by some sensors.

Figure 1: Catapult System

It is easy to show using basic physics that in the illustrated coordinated system the
path can be described by a polynomial of the form

𝑧 = 𝑎𝑦 2 + 𝑏𝑦 + 𝑐 (9)

with real coefficients 𝑎, 𝑏 and 𝑐. In order to find suitable values for these coefficients,
10 experiments are performed and the ball position is measured at 20 supporting
points on the resulting paths, respectively. Thus, in total 10 ∙ 20 = 200 pairs of 𝑦-
and 𝑧-values are available which ideally should all satisfy (9). This leads to a system
of 200 linear equations for the coefficients 𝑎, 𝑏 and 𝑐. After all 200 measured 𝑦- and
𝑧-values are consecutively numbered it can be written in the compact matrix form

𝑦12 𝑦1 1 𝑧1
𝑦22 𝑦2 1 𝑎 𝑧2
𝑦32 𝑦3 1 [𝑏 ] = 𝑧3 (10)
⋮ ⋮ ⋮ 𝑐 ⋮
2
[𝑦200 𝑦200 1] [ 𝑧200 ]

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 4


2 Mathematical Fundamentals & Basic Signal Processing Tools

Due to some deviations between the experiments and also some inaccuracies in
the position measurement the over-determined system of equations (10) does not
have an exact solution, but can only be solved in the least-squares sense.

Task 1:
 Download the measured data samples of 10 experiments provided in the ZIP-
file Catapult_Meas_Data.zip from eLearning.
 Create the new MATLAB m-script file catapult.m and use it to solve the fol-
lowing tasks.
 Use MATLAB in order to determine the optimum coefficients 𝑎, 𝑏 and 𝑐 such
that the resulting path function (8) provides the best approximation in the
least-squares sense.
 Verify your solution
o by calculating the remaining quadratic error (7) and
o by plotting both the path resulting from your solution and all measured
data points in one 𝑦-𝑧-diagram.

2.2 Sampled Time Signals


As soon as measurement data is processed by some digital device, the analog time
signals of quantities of interest must be converted to a sequence of numbers which
can be handled by a computer. Usually this is accomplished by sampling, i.e. by
measuring the value of an analog signal 𝑢(𝑡) at equally distributed discrete time
instances as illustrated in Figure 2. The resulting values

𝑢𝑘 = 𝑢(𝑘𝑇), 𝑘 = 0,1,2, … (11)

are called samples and the constant time duration between two consecutive sam-
ples is the sampling time 𝑇. The sequence of consecutive samples is referred to as
discrete-time signal

𝑢[𝑘] = 𝑢𝑘 , 𝑘 = 0,1,2, … (12)

where the symbol 𝑘 (the so-called discrete time variable) is commonly used for the
integer counting index of the samples.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 5


2 Mathematical Fundamentals & Basic Signal Processing Tools

Figure 2: Sampling of Analog Time Signal

2.3 Time Derivative of Sampled Signal


The time derivative of the analog signal 𝑢(𝑡) can be numerically calculated after
sampling. To this end, the mathematical definition of the time derivative
𝑑𝑢(𝑡) 𝑢(𝑡 + Δ𝑡) − 𝑢(𝑡) 𝑢(𝑡) − 𝑢(𝑡 − Δ𝑡)
𝑢̇ (𝑡) = = lim = lim (13)
𝑑𝑡 Δ𝑡→0 Δ𝑡 Δ𝑡→0 Δ𝑡
is evaluated at the sampling instants 𝑡 = 𝑘𝑇, which gives
𝑢(𝑘𝑇) − 𝑢(𝑘𝑇 − Δ𝑡) (14)
𝑢̇ (𝑘𝑇) = lim
Δ𝑡→0 Δ𝑡
If the sampling time 𝑇 is sufficiently small, then the limit operation in (14) can ap-
proximately be replaced according to
𝑢(𝑘𝑇) − 𝑢(𝑘𝑇 − 𝑇) 𝑢(𝑘𝑇) − 𝑢((𝑘 − 1)𝑇) (15)
𝑢̇ (𝑘𝑇) ≈ =
𝑇 𝑇
As a consequence, the sampled discrete-time representation of 𝑢̇ can be estimated
as
𝑢[𝑘] − 𝑢[𝑘 − 1]
𝑢̇ [𝑘] ≈ (16)
𝑇
based on the samples of the original signal 𝑢[𝑘].

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 6


3 Mathematical Description of Servodrive Systems

Task 2:
 Create a new MATLAB m-function of the form
function y = num_derivative(u,T)
and implement the discrete-time derivative (16).
o The function must accept any column vector 𝑢 (=discrete-time input
signal) of arbitrary length and a positive real number 𝑇 (=sampling
time) as input arguments.
o The function must generate a column vector 𝑦 of the same length as
the input 𝑢 as output. The first value in 𝑦, which cannot be determined
based on the available input samples 𝑢[𝑘], shall be set to zero.
 Verify your solution:
o Create the MATLAB vector
usine = sin((0:0.001:2*pi)’);
with samples (sampling time: 𝑇 = 1ms) of the signal 𝑢𝑠𝑖𝑛𝑒 (𝑡) = 𝑠𝑖𝑛(𝑡)
and use your m-function to numerically compute the corresponding
discrete-time approximation of the derivative 𝑢̇ 𝑠𝑖𝑛𝑒 (𝑡).
o Determine the exact analytical solution for 𝑢̇ 𝑠𝑖𝑛𝑒 (𝑡) and generate a
MATLAB vector with samples (sampling time: 𝑇 = 1ms) of this true
time derivative.
o Plot and compare the numerical and the analytical solution in one di-
agram vs. time.

3 Mathematical Description of Servodrive Systems


This chapter assumes that the fundamentals about motors and servodrives dis-
cussed in the first part of the industrial drive experiments series are known. Some
(but not all) properties which are particularly important for the following tasks are
repeated and extended.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 7


3 Mathematical Description of Servodrive Systems

3.1 Servomotors (Permanent-magnet Synchronous Motors)

3.1.1 Construction and Working Principle


The schematic drawings in Figure 3 illustrate how a typical permanent-magnet syn-
chronous motor (PMSM) is constructed.

Figure 3: Basic construction of a permanent-magnet synchronous motor (PMSM)

The motor has a passive rotor with permanent-magnets, whose angular position is
measured by a (rotary) encoder and the stator carries a three-phase electric wind-
ing.
A power electronic unit and an associated low-level control algorithm, which is
based on the measured rotor angle, are necessary to operate a PMSM. Roughly
speaking, at the lowest level the control has only one main objective: to distribute
the total current3 to the three winding phases such that the resulting electrically gen-
erated magnetic field lies orthogonal to the permanent-magnets in the rotor (see
Figure 3). Similar to the working principle of a compass needle, this results in a
torque which tends to align the rotor magnets parallel to the electrically generated
magnetic stator field. By modifying the strength of the total current through the stator

3For simplicity the term total current is used here, although it is not the sum of the three electrical
phase currents in the strict sense. Moreover, enhanced operation modes like field-weakening are
not considered in this document.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 8


3 Mathematical Description of Servodrive Systems

windings, the intensity of the magnetic field can be changed and such the strength
of the torque can be adjusted. When the rotor is turning, then the orientation of the
permanent-magnets is changing over time. By means of the encoder, however, the
control algorithm knows the current rotor angle at each time instant. Using this
measurement value the low-level control can continuously adapt the distribution of
the electric current to the three winding phases such that a rotating magnetic field
is generated which remains orthogonal to the rotor magnets at all times.

3.1.2 Torque-creating Current Component and Torque Constant


The transformation of the motor current which is necessary to control the power
electronic unit in order to operate a PMSM (see Section 3.1.1) can also be applied
in reverse direction. Thus, knowing the rotor angle it is not only possible to determine
the optimum distribution of one given total current to the three winding phases such
that the resulting magnetic field is orthogonal to the permanent magnets of the rotor.
Instead, by measuring the three winding phase currents in addition to the rotor an-
gle, we can also calculate one single characteristic current quantity which is a meas-
ure for the momentary strength of the magnetic field orthogonal to the permanent
magnets and such for the torque 𝑀𝑀𝑜𝑡𝑜𝑟 instantaneously generated by the motor.
This characteristic value is called the torque-creating current component 𝐼𝑞 which is
approximately proportional to the motor torque:

𝑀𝑀𝑜𝑡𝑜𝑟 = 𝑘𝑇 ∙ 𝐼𝑞 (17)

The constant of proportionality 𝑘𝑇 (unit [Nm/A]) is the torque constant of the PMSM.
Since the torque-creating current component 𝐼𝑞 is easier to interpret than the actual
phase currents through the three motor windings, many drive systems show the
user 𝐼𝑞 as motor current instead of the directly measured quantities. In particular,
this is the case for the PacDrive system from Schneider Electric which you have
used in the lab.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 9


3 Mathematical Description of Servodrive Systems

3.1.3 Impact of Magnetic Saturation


Most mechanical parts inside of an electrical motor are usually made of iron. The
reason is that iron is a so-called ferromagnetic material which is guiding the mag-
netic field and which has almost no magnetic resistance. This results in a strong
magnetic field in the air gap between the stator and the rotor which is responsible
for torque generation. Unfortunately, however, iron is losing its ferromagnetic prop-
erties if the magnetic fields get too strong. This effect is called magnetic saturation
and represents one of the fundamental limitations on the minimum dimensions of a
motor which are needed to reach a certain power range.
As a typical servomotor design intends to optimize the feasible power for a certain
mechanical size, it usually accepts a certain level of saturation of the iron parts within
the allowed operating range. As a consequence, the magnetic resistance of the iron
is larger for high currents 𝐼𝑞 and the corresponding strong magnetic fields. Any fur-
ther increase in 𝐼𝑞 will then only lead to a minor additional increase in the magnetic
field in the air gap and thus in the motor torque. This impact of magnetic saturation
has to be considered in the torque equation (17) of the PMSM. More precisely, the
name torque constant for the parameter 𝑘𝑇 in (17) is somewhat misleading, since
𝑘𝑇 only is approximately constant for small currents 𝐼𝑞 . At high current levels, how-
ever, 𝑘𝑇 decreases with further rising 𝐼𝑞 such that it has to be modelled as a function
of 𝐼𝑞 in general.
The exact characteristic of 𝑘𝑇 vs. 𝐼𝑞 is usually not provided in the datasheets of ser-
vomotors, but an approximate functional relationship can often be determined based
on given single value pairs. For the PMSM of the type SH30701P4 from Schneider
Electric, for example, the values listed in Table 1 can be found in the motor manual
[2], where all currents are specified as torque creating current components 𝐼𝑞 .

Continuous stall torque 𝑀0 1.4 Nm


Continuous stall current 𝐼0 1.8 A
Peak torque 𝑀𝑚𝑎𝑥 3.5 Nm
Peak current 𝐼𝑚𝑎𝑥 5.7 A
Table 1: Some specific values of the motor SH30701P from Schneider Electric [2]

4 Most training systems at the university lab are equipped with motors of this type.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 10


3 Mathematical Description of Servodrive Systems

Task 3:
 Calculate the value of the torque constant 𝑘𝑇
o based on the continuous (stall) torque and current;
o based on the peak torque and current.
 Compare the two resulting values for 𝑘𝑇 and explain the difference.

We now assume that we can approximately describe the relationship between 𝑘𝑇


and 𝐼𝑞 by the 2nd-order polynomial

𝑘𝑇 (𝐼𝑞 ) ≈ 𝑎 ∙ 𝐼𝑞2 + 𝑏 ∙ 𝐼𝑞 + 𝑐 (18)

In order to determine the real coefficients 𝑎, 𝑏 and 𝑐, we need three conditions,


where the first two follow directly from Table 1 (see also (17)):

𝑀0 = 𝑘 𝑇 (𝐼0 ) ∙ 𝐼0 = 𝑎 ∙ 𝐼03 + 𝑏 ∙ 𝐼02 + 𝑐 ∙ 𝐼0 (19)


3 2
𝑀𝑚𝑎𝑥 = 𝑘𝑇 (𝐼𝑚𝑎𝑥 ) ∙ 𝐼𝑚𝑎𝑥 = 𝑎 ∙ 𝐼𝑚𝑎𝑥 + 𝑏 ∙ 𝐼𝑚𝑎𝑥 + 𝑐 ∙ 𝐼𝑚𝑎𝑥 (20)
As magnetic saturation is not present for low currents, 𝑘𝑇 must be almost constant
for smaller 𝐼𝑞 values. This can be taken into account by requesting
𝑑𝑘𝑇
| =0 (21)
𝑑𝐼𝑞 𝐼
𝑞 =0

for the first-order derivative at zero current.

Task 4:
 Set up the system of equations for the coefficients 𝑎, 𝑏 and 𝑐 described by
(19)-(21) and solve it using MATLAB.
 Create the m-function
function kT = torqueconstant(Iq)
and implement the polynomial (18) with the found coefficients.
o The function must accept any column vector 𝐼𝑞 as input argument.
o The function must generate a column vector 𝑘𝑇 of the same length as
the input 𝐼𝑞 as output.
 Plot the resulting characteristic 𝑘𝑇 (𝐼𝑞 ) for 0 ≤ 𝐼𝑞 ≤ 𝐼𝑚𝑎𝑥 and verify graphically
that

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 11


3 Mathematical Description of Servodrive Systems

o it has a smooth horizontal beginning for 𝐼𝑞 = 0;


o the function 𝑘𝑇 (𝐼𝑞 ) is monotonically decreasing for 𝐼𝑞 > 0;
o the particular 𝑘𝑇 -values calculated in Task 3 are exactly met.

3.2 Standard Model for the Drive Axis Mechanics


Most drive axes in automation technology are constructed as shown in Figure 4.

motor gear box mechanics with constant


moment of inertia 𝐽𝐿𝑜𝑎𝑑
Figure 4: Typical mechanical construction of a drive axis

For that reason, the manufacturers of industrial drive systems usually assume this
or a very similar basic system structure as default model for the mechanics. In the
end5, it leads to a mathematical description in form of the equation of motion

𝑀𝑀𝑜𝑡𝑜𝑟 = 𝐽 ∙ 𝛼 + 𝐾𝐹𝑟𝑖𝑐,𝜔 ∙ 𝜔 + 𝐾𝐹𝑟𝑖𝑐,0 ∙ sgn(𝜔) + 𝑀𝐿𝑜𝑎𝑑 (22)

where:
𝑀𝑀𝑜𝑡𝑜𝑟 : momentary torque generated by the motor
𝛼: momentary angular acceleration at the motor shaft
𝜔: momentary angular speed at the motor shaft
𝑀𝐿𝑜𝑎𝑑 : momentary additional torque needed by the mechanics
(apart from the torque required for the acceleration and for the
compensation of the friction)

In addition, (22) contains three characterizing parameters: the total moment of in-
ertia 𝐽 and the friction coefficients 𝐾𝐹𝑟𝑖𝑐,𝜔 and 𝐾𝐹𝑟𝑖𝑐,0 . Experience shows that the

5Some simplifications and the clever combination of parameter values of real hardware components
are necessary to obtain an equation of the form (22).

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 12


3 Mathematical Description of Servodrive Systems

knowledge of 𝐽 is essential for the dimensioning of components and the commis-


sioning process, whereas the friction only plays a secondary role. Some relevant
figures for determining the total 𝐽 can be found in the datasheets of the motor and
the gearbox. The moment of inertia of the actual application-specific mechanics
𝐽𝐿𝑜𝑎𝑑 (see Figure 4), however, represents the most significant influencing factor
which is usually not known exactly. Consequently, the estimation and identification
of 𝐽𝐿𝑜𝑎𝑑 is one of the most important and crucial tasks during the commissioning
process of a servodrive axis.
The training systems in the lab have no gearbox and no additional load torque
𝑀𝐿𝑜𝑎𝑑 is acting. Thus, as far as the later evaluation of the measurement data in
Chapter 4 is concerned, the general equation of motion simplifies to

𝑀𝑀𝑜𝑡𝑜𝑟 = 𝐽 ∙ 𝛼 + 𝐾𝐹𝑟𝑖𝑐,𝜔 ∙ 𝜔 + 𝐾𝐹𝑟𝑖𝑐,0 ∙ sgn(𝜔) (23)

and the total moment of inertia 𝐽 is directly given as the sum

𝐽 = 𝐽𝐿𝑜𝑎𝑑 + 𝐽𝑀𝑜𝑡𝑜𝑟 (24)

where 𝐽𝑀𝑜𝑡𝑜𝑟 denotes the internal moment of inertia of the PMSM (see Lab Task 5
of the first part of the industrial drives experiments).

3.3 Electric Equivalent Circuit


The drive unit has no immediate access to the winding currents of a PMSM, but it
can only control the voltages at the motor terminals. The latter can be adjusted within
certain limits using the power electronics and allow to (indirectly) influence the cur-
rents. The relationship between voltages and currents can be described using equiv-
alent circuits.
Since a PMSM carries three phase windings, however, this would require three elec-
trical networks and lead to a rather complex and difficult model. As a workaround
we will extend the approach introduced in Section 3.1.2: We have seen that the
three winding phase currents can be merged mathematically to one single torque-
creating current component 𝐼𝑞 by means of the rotor angle. Analogously, the three
motor terminal voltages can also be combined to one single so-called torque-affect-

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 13


3 Mathematical Description of Servodrive Systems

ing voltage component 𝑉𝑞 which describes the specific part of the voltages that in-
fluences mainly 𝐼𝑞 . The same holds in a similar manner for the voltages induced in
the winding phases which are generated as soon as the motor is turning. If details
of the low-level control algorithms are of no interest, then the main behavior of the
drive axis can be modelled using one single equivalent circuit for these q-compo-
nents only.6 Furthermore, at the moment we will restrict the electrical system model
to the stationary case without inductors. Figure 5 shows the resulting single-phase
stationary equivalent circuit for a servodrive axis (i.e. for modelling the combined
subsystem consisting of the power electronics, the associated low-level control and
the PMSM).

Figure 5: (Simplified) stationary single-phase equivalent circuit of a servodrive axis

The terminal voltage 𝑉𝑞 is generated by the power electronics and can be adjusted
within a certain range. The resistor 𝑅 models the ohmic resistance of the motor’s
stator windings. The speed-dependent voltage source on the right hand side of the
equivalent circuit describes the voltage 𝑉𝑖 which is induced in the stator winding as
soon as the rotor is moving. To good approximation, 𝑉𝑖 is increasing proportionally
with the rotational speed 𝑛.
The equivalent circuit reveals the following fundamental conclusion regarding the
voltage which basically holds for all types of electric motors. The mesh rule shows
that the terminal voltage 𝑉𝑞 created by the power electronics is divided into two parts:
the resistor voltage 𝑉𝑅 and the induced voltage 𝑉𝑖 (see Figure 5). The ohmic fraction

6 For the sake of simplicity, we also assume that no other relevant current components apart from 𝐼𝑞
are present. Otherwise, two coupled equivalent circuits must be considered which complicates mat-
ters significantly.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 14


3 Mathematical Description of Servodrive Systems

𝑉𝑅 is proportional to the current component 𝐼𝑞 and thus (see (17)) also to the motor
torque 𝑀𝑀𝑜𝑡𝑜𝑟 . Hence, one part of the supply voltage 𝑉𝑞 is used to drive the current
which creates the torque. However, a second significant fraction of 𝑉𝑞 is obviously
needed to compensate the induced voltage 𝑉𝑖 which is generated due to the motor
rotation. While at standstill 𝑉𝑖 = 0 holds such that the whole supply voltage can be
used for current and torque generation, the compensation of 𝑉𝑖 requires the major
part of the available voltage at higher speeds.

3.4 Feasible Operating Range and Limits

3.4.1 Overview
A servodrive axis can only operate within a certain torque and speed range. On the
one hand, constraints arise due to the power and load limits of the motor and the
drive unit, where the more restrictive component determines the resulting total limit
of the whole axis. The feasible speed, on the other hand, is mainly bounded by the
maximum supply voltage which is available to control the motor. The datasheets of
PMSMs and drive units provide characteristic values and speed-torque-diagrams
which indicate the feasible operating ranges for typical supply voltage levels.
Basically, we have to distinguish between two fundamental operating ranges:

 Continuous operating range:


The drive axis can work continuously and (at least in principle) infinitely long
within these limits. The continuous operating range is restricted by the maxi-
mum feasible thermal stress, i.e. by an upper bound on the average power
losses which may occur without exceeding the highest tolerable temperature
of the components.

 Short-time operating range:


The drive axis can work within these limits for a short duration, but it will over-
heat over time.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 15


3 Mathematical Description of Servodrive Systems

In the following, the various limits which restrict the operating ranges are discussed
in detail for the particular speed-torque-diagrams of the motor SH30701P7 from
Schneider Electric (see Figure 6).

Peak torque which is Peak torque which is


feasible for a short feasible for a short
time if drive system is time if drive system is
connected to 3phase connected to 3phase
230V-mains supply 400V-mains supply

maximum continuous torque

n [rpm]

Figure 6: Speed-torque diagrams of motor SH30701P from Schneider Electric [1]

3.4.2 Short-time Operating Range


For a short period of time, the drive axis can operate at all points below the blue
lines in the speed-torque plot which depend on the mains supply voltage level. In
general, the torque must never exceed an absolute constant upper bound (approx-
imately 3.5Nm in Figure 6), since the resulting very strong magnetic field could de-
magnetize the permanent magnets and damage the motor. The corner points of the
blue graphs in Figure 6 at 2100rpm and 4200rpm show that this maximum peak

7 Most training systems at the university lab are equipped with motors of this type.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 16


3 Mathematical Description of Servodrive Systems

torque can only be reached up to a certain rotational speed. If the motor is faster
then the induced voltage 𝑉𝑖 becomes so large that the available supply voltage 𝑉𝑞 is
no longer sufficient to generate the necessary current 𝐼𝑞 (see equivalent circuit in
Figure 5). If the motor speed is increasing even further, then an operating point is
obtained where using the full supply voltage 𝑉𝑞 barely compensates for the induced
voltage 𝑉𝑖 and no voltage is left for current and torque generation. The correspond-
ing rotational speed (approximately 5000rpm at 230V mains supply voltage in Figure
6) represents the maximum value reachable without external support when assum-
ing ideal no load conditions. Operating the same drive system at another mains
supply with higher voltage level implies that larger voltages 𝑉𝑞 and thus higher
speeds become feasible. As a consequence, the upper bound represented by the
blue graph in Figure 6 is shifted to the right when the mains supply voltage of the
drive system is increased from 230V to 400V.

3.4.3 Continuous Operating Range


The continuous operation range is limited by the red line in Figure 6. This curve
describes the average feasible torque which can be continuously generated without
overheating the motor at specified environmental conditions. It is obvious from Fig-
ure 6 that this maximum continuous torque is approximately constant over the whole
speed range. The reason is that ohmic losses, which are mainly responsible for
heating-up the motor, are almost independent of speed. The slightly negative slope
of the red line in Figure 6 is caused by some other loss components which increase
with speed, but which are usually much smaller compared to the ohmic share.

3.4.4 Limits of the Power Electronics


The power electronics of the drive units implicate similar continuous and short-time
range restrictions in the speed-torque diagram as discussed above. However, these
constraints of the power electronics are not considered in detail here, since they do
not limit the performance of the lab systems at the FHWS where the motors are the
more restrictive components.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 17


4 Evaluation of Measurement Data

4 Evaluation of Measurement Data


Finally, the tools and the theory established in the previous chapters are applied in
order to evaluate the measurement data which was recorded during the first part of
the lab experiment series about industrial drives systems.

4.1 Identification of Mechanical Parameters


Recall the main conclusions from the fast acceleration/deceleration runs performed
during our lab session (Lab Tasks 17-19):

 We have observed very large tracking deviations at first, which could be


reduced dramatically by parameterizing an estimated value for the load
moment of inertia 𝐽𝐿𝑜𝑎𝑑 . Thus, this moment of inertia is the central me-
chanical parameter which is needed to control an electric motor.
 Even after adjusting the 𝐽𝐿𝑜𝑎𝑑 -setting to the value calculated during the
preparation, a considerable tracking deviation remained. This indicates
that the used theoretical estimate for 𝐽𝐿𝑜𝑎𝑑 still differs significantly from the
true value.
 We have seen that the friction of the lab systems is negligible such that
the impacts of friction torques could not be analyzed directly ( trace re-
cording ”JLoadWithoutFriction.trace“). As a remedy, a test run with a soft-
ware-emulated friction has also been performed ( trace recording
”JLoadAndFriction.trace“).

4.1.1 Load Moment of Inertia Without Friction


First, the load moment of inertia 𝐽𝐿𝑜𝑎𝑑 is calculated based on the test run without
emulated friction. Since more or less the whole motor torque is consumed for accel-
erating or decelerating the axis, (23) simplifies to

𝑀𝑀𝑜𝑡𝑜𝑟 = 𝐽 ∙ 𝛼 (25)

in that case. Solving for 𝐽 yields the expression


𝑀𝑀𝑜𝑡𝑜𝑟
𝐽= (26)
𝛼

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 18


4 Evaluation of Measurement Data

which can be used to estimate the total moment of inertia. The fraction 𝐽𝐿𝑜𝑎𝑑 can
then be calculated using (24).

Task 5:
 Download the m-function load_traces.m from eLearning which reads and im-
ports trace data files recorded with the software Machine Expert.
 Copy your trace file JLoadWithoutFriction.trace recorded during the first lab
session and the downloaded m-function load_traces.m into the same folder.
 Create the new MATLAB m-script file JLoad_no_Friction.m and use it to
solve the following tasks.
 Use the command
[data,names]=load_traces(’JLoadWithoutFriction.trace’);
to import the recorded trace signals into MATLAB. After execution the varia-
ble data should be a matrix of the following form:
𝑡0 [ms] 1st sample of signal 1 1st sample of signal 2 ⋯ 1st sample of last signal
𝑡 [ms] 2nd sample of signal 1 2nd sample of signal 2 ⋯ 2nd sample of last signal
[ 1 ]
⋮ ⋮ ⋮ ⋱ ⋮
𝑡𝑛 [ms] last sample of signal 1 last sample of signal 2 ⋯ last sample of last signal

From the second to the last column it contains the samples of the loaded
signals. The first column represents the corresponding time instants in [ms].
The second output parameter names is a cell array of strings describing the
signals. Note that the column indices of the matrix data are shifted by one
compared to the entries in names, since the first column in data only con-
tains time information. Consequently, the first entry in names corresponds to
the second column in data, the 2nd entry to the 3rd column, etc.
 Focus on the signals
o angular speed 𝜔(𝑡) (“Velocity”) and
o torque creating current component 𝐼𝑞 (𝑡) (“Current”)
Convert these signals to the standard SI units [rad/s] and [A]. Recall that Ma-
chine Expert is using the units [deg/s] and [mA].
 Numerically calculate the angular acceleration signal 𝛼(𝑡) in [rad/s²] by ap-
plying your m-function num_derivative created in Task 2.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 19


4 Evaluation of Measurement Data

 Calculate the motor torque 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) in [Nm] by using (17) and your m-func-
tion torqueconstant (see Task 4), which computes 𝑘𝑇 depending on 𝐼𝑞 .
 Plot the following signals in one common figure, but in four separate graphs
which are arranged one upon the other. From top to bottom:
o angular speed 𝜔(𝑡) [rad/s]
o angular acceleration 𝛼(𝑡) [rad/s²]
o motor torque 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) [Nm]
Hint: The MATLAB command subplot might be useful.

Next, we will evaluate (26) in order to get an estimate for the total moment of inertia
𝐽. More precisely, we take the mean value after computing (26) for all pairs of sample
values 𝑀𝑚𝑜𝑡𝑜𝑟 and 𝛼. However, there is one rather obvious issue: The angular ac-
celeration 𝛼 becomes zero or near zero for constant speed phases such that (26)
would imply a division by zero. In order to avoid this problem we restrict the calcu-
lations to those samples which correspond to rather high absolute acceleration val-
ues.

Task 6:
 Extend the script file JLoad_no_Friction.m in order to solve the following
tasks.
 Calculate the maximum occurring absolute value of the angular acceleration
𝛼𝑚𝑎𝑥 = max |𝛼(𝑡)|.
𝑡

 Identify all indices which belong to angular acceleration samples 𝛼(𝑡) which
1
satisfy the condition |𝛼(𝑡)| ≥ 4 𝛼𝑚𝑎𝑥

Hint: The MATLAB command find might be useful.


1
 Evaluate (26) for all time instants where |𝛼(𝑡)| ≥ 4 𝛼𝑚𝑎𝑥 and calculate the

mean value (MATLAB command: mean) to get an estimate for the total mo-
ment of inertia 𝐽. What is the resulting unit of 𝐽?
 Verify your result by computing the signal
𝑒𝑠𝑡
𝑀𝑀𝑜𝑡𝑜𝑟 (𝑡) = 𝐽 ∙ 𝛼(𝑡) (27)

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 20


4 Evaluation of Measurement Data

for all available samples of 𝛼(𝑡). Plot this torque signal resulting from your
estimate for 𝐽 into the same diagram as the measured torque 𝑀𝑚𝑜𝑡𝑜𝑟 (see
Task 5) and compare both signals.
Hint: The MATLAB command hold on might be useful.
 Calculate the value for 𝐽𝐿𝑜𝑎𝑑 by means of (24) using the just identified total
moment of inertia 𝐽 as well as the value for 𝐽𝑀𝑜𝑡𝑜𝑟 which is also assumed by
the servodrive system (see Lab Task 5 of the first experimental session and
consult your notes in the corresponding lab report). Consider the units and
state the final result in [kgcm²]! Compare the estimated 𝐽𝐿𝑜𝑎𝑑 with the theo-
retical value found in Task g) of the preparation to the first lab session.

4.1.2 Load Moment of Inertia and Friction


If significant friction torques are present, then the simplified equation of motion (25)
is no longer valid and the experimental parameter identification must rely on the
extended form (23). A simple averaging as performed in the previous section is not
feasible in that case. Instead, the least-squares approach introduced in Section
2.1.2 will be applied.

Task 7:
 Create the new MATLAB m-script file JLoad_with_Friction.m and use it to
solve the following tasks, which initially are analogous to Task 5.
 Import the data of your trace recording JLoadAndFriction.trace into MATLAB.
 Convert the angular speed 𝜔(𝑡) and the current 𝐼𝑞 (𝑡) to the standard SI units
[rad/s] and [A].
 Numerically calculate the angular acceleration signal 𝛼(𝑡) in [rad/s²].
 Calculate the motor torque 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) in [Nm].
 Plot the following signals in one common figure, but in four separate graphs
which are arranged one upon the other. From top to bottom:
o angular speed 𝜔(𝑡) [rad/s]
o angular acceleration 𝛼(𝑡) [rad/s²]
o motor torque 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) [Nm]

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 21


4 Evaluation of Measurement Data

Using the sampled values for 𝛼(𝑡), 𝜔(𝑡) and 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡), the equation (23) can now
be evaluated at each sampling instant. Thus, each sampling point provides one lin-
ear equation for the constants 𝐽, 𝐾𝐹𝑟𝑖𝑐,𝜔 and 𝐾𝐹𝑟𝑖𝑐,0 in (23). All sampling points com-
bined yield an overdetermined system of equations, which can be solved in the
least-squares sense to find an estimate for these mechanical system parameters.
First, however, a preliminary signal processing step is necessary in order to obtain
reliable results. Friction typically shows a nonlinear and complex behavior in the low
speed range which is not covered by the model described by the equation of motion
(25). Thus, all samples corresponding to small angular speeds 𝜔(𝑡) must be re-
moved from the signals which are applied for the parameter identification.

Task 8:
 Extend the script file JLoad_with_Friction.m in order to solve the following
tasks.
 Remove all signal samples corresponding to low angular speeds:
rad
o Find the indices of all samples where |𝜔(𝑡)| < 20 .
s
rad
o Delete all samples corresponding to |𝜔(𝑡)| < 20 from the signals
s

𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡), 𝜔(𝑡) and 𝛼𝑓𝑖𝑙𝑡 (𝑡).


o Generate a vector 𝑡𝑠𝑦𝑛𝑐 with the time instants corresponding to the
remaining samples of the signals. Use 𝑡𝑠𝑦𝑛𝑐 in order to plot the remain-
ing samples of 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡), 𝜔(𝑡) and 𝛼𝑓𝑖𝑙𝑡 (𝑡) into the appropriate dia-
grams of the figure created in Task 7. Verify the synchronization and
the consistency by comparison with the original graphs.

Finally, the actual least-squares identification of the parameters can be performed.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 22


4 Evaluation of Measurement Data

Task 9:
 Extend the script file JLoad_with_Friction.m in order to solve the following
tasks.
 Set up the matrix 𝐴 and the vector 𝑏 of the overdetermined system of equa-
tions which results by evaluating (23) for all 𝑁 remaining samples in
𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡), 𝜔(𝑡) and 𝛼𝑓𝑖𝑙𝑡 (𝑡) (see Section 2.1):
𝛼𝑓𝑖𝑙𝑡 (𝑡𝑠𝑦𝑛𝑐,0 ) 𝜔(𝑡𝑠𝑦𝑛𝑐,0 ) sgn(𝜔(𝑡𝑠𝑦𝑛𝑐,0 ))
𝛼 (𝑡 ) 𝜔(𝑡𝑠𝑦𝑛𝑐,1 ) sgn(𝜔(𝑡𝑠𝑦𝑛𝑐,1 ))
𝐴 = 𝑓𝑖𝑙𝑡 𝑠𝑦𝑛𝑐,1 (28)
⋮ ⋱ ⋮
𝛼 (𝑡
[ 𝑓𝑖𝑙𝑡 𝑠𝑦𝑛𝑐,𝑁 ) 𝜔(𝑡𝑠𝑦𝑛𝑐,𝑁 ) sgn(𝜔(𝑡𝑠𝑦𝑛𝑐,𝑁 ))]

𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡𝑠𝑦𝑛𝑐,0 )
𝑀 (𝑡 )
𝑏 = 𝑚𝑜𝑡𝑜𝑟 𝑠𝑦𝑛𝑐,1 (29)

[𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡𝑠𝑦𝑛𝑐,𝑁 )]
Hint: The MATLAB command sign might be useful.
 Solve the system of equations in the least-squares sense and calculate the
corresponding error 𝐸 according to (7).
 State the resulting estimates for the constant mechanical parameters 𝐽,
𝐾𝐹𝑟𝑖𝑐,𝜔 and 𝐾𝐹𝑟𝑖𝑐,0 . Do not forget the units!
 Verify the solution graphically by computing the signal
𝑒𝑠𝑡 (𝑡) = 𝐽 ∙ 𝛼(𝑡) + 𝐾𝐹𝑟𝑖𝑐,𝜔 ∙ 𝜔(𝑡) + 𝐾𝐹𝑟𝑖𝑐,0 ∙ sgn(𝜔(𝑡))
𝑀𝑀𝑜𝑡𝑜𝑟 (30)

for all available samples of 𝜔(𝑡) and 𝛼(𝑡). Plot this torque signal resulting
from your estimates for 𝐽, 𝐾𝐹𝑟𝑖𝑐,𝜔 and 𝐾𝐹𝑟𝑖𝑐,0 into the same diagram as the
measured torque 𝑀𝑚𝑜𝑡𝑜𝑟 (see Task 7) and compare both signals.
 Calculate the value for 𝐽𝐿𝑜𝑎𝑑 based on the just identified total moment of in-
ertia 𝐽 and compare the result to the corresponding estimate found in Task 6.

4.2 Peak-Torque vs. Speed Characteristic


Finally, the test run where the drive axis was operated at its absolute speed/torque
limits (see Lab Task 20 of the first experimental session) is considered and evalu-
ated using MATLAB. More precisely, the measured data is applied to generate a

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 23


4 Evaluation of Measurement Data

curve in the speed-torque-diagram and the result is compared to the limit curve pro-
vided in the datasheet of the motor (see blue line for 230V mains supply in Figure
6).

Task 10:
 Create the new MATLAB m-script file SpeedTorqueLimit.m and use it to solve
the following tasks.
 Import the data of your trace recording MaxAcc.trace into MATLAB.
 Convert the current 𝐼𝑞 (𝑡) to the standard SI unit [A].
 Convert the angular speed 𝜔(𝑡) into the rotational speed signal 𝑛(𝑡) in [rpm]8.
 Calculate the motor torque 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) in [Nm]. To this end, use your m-func-
tion torqueconstant (see Task 4).
 Extract data of interest from measurement signals:
o Remove all samples in 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) and 𝑛(𝑡) which correspond to very
small or negative motor torques, i.e. delete all samples where
𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) < 0.2Nm holds.
o Find the first sample where 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) > 3.0Nm and delete all previous
sample points in 𝑀𝑚𝑜𝑡𝑜𝑟 (𝑡) and 𝑛(𝑡).
 Use the remaining samples to plot 𝑀𝑚𝑜𝑡𝑜𝑟 vs. 𝑛 into a new figure.
 Plot the 𝑀𝑚𝑎𝑥 -curve given in the datasheet of the motor as reference:
o Read the following supporting points from the 𝑀𝑚𝑎𝑥 -graph for 230V
mains supply voltage in Figure 6.
𝑛 [rpm] 0 1000 2000 2100 3000 4000 5000
𝑀𝑚𝑎𝑥 [Nm]

o Apply these supporting points to approximately plot the datasheet


curve for 𝑀𝑚𝑎𝑥 vs. 𝑛 into the same figure as your measured charac-
teristic. Use a different color!

Although the rough shapes of the curves are similar, the measurement and the
datasheet characteristic do not match very well, which has two main reasons:

8 Recall that rpm means “revolutions per minute”.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 24


4 Evaluation of Measurement Data

1. The datasheet assumes that the motor winding is at its nominal temperature
which is in the range of 120°C. In the lab, however, the motor was not heated
up before the measurement such that the winding was approximately at 20°C
room temperature. The resistance of copper is increasing significantly with
temperature. Consequently, the winding resistance modelled by 𝑅 in the
equivalent circuit in Figure 5 was much lower (only approx. 70%) during your
measurement than the value assumed for the datasheet curve.
2. The datasheet characteristic describes the feasible peak torque under the
stationary conditions modelled by the simplified equivalent circuit illustrated
in Figure 5. In contrast, your measurement was performed during a high dy-
namic acceleration process which means that the inductance of the motor
winding influences the results. In order to interpret the measured curve cor-
rectly, the stationary equivalent circuit of Figure 5 must be extended by an
inductor 𝐿 as shown in Figure 7 below.

Figure 7: Extended single-phase equivalent circuit of servodrive axis for transient processes

Task 11:
 Focus on one of the major differences between the datasheet specification
and the measured speed-torque curve: The corner point of the measured
graph where the feasible peak torque starts to decline is located at a higher
speed compared to the characteristic given in the datasheet. Explain where
this difference comes from.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 25


5 Sources

5 Sources

[1] Schneider Electric: PacDrive SH Servo Motor, Operating Manual, Edition


01.2009, Jan. 2009.
[2] Schneider Electric: SH3 Servomotor, Motor Manual, V2.02, 10.2012, Dec.
2012.

Industrial Drives 2 Müller, Herrler, Schiefhauer Page 26

You might also like