The Use of Evolutionary Methods for the Determination of a DC Motor and Drive Parameters Based on the Current and Angular Speed Response

: Determination of the seven parameters of a Direct Current (DC) motor and drive is presented, based on the speed and current step responses. The method is extended for the motor and drive parameter determination in the case of a controlled drive. The inﬂuence of a speed controller on the responses is considered in the motor model with the use of the measured voltage. Current limitation of the supply unit is also considered in the DC motor model. For parameter determination, a motor model is used, which is determined with two coupled di ﬀ erential equations. Euler’s ﬁrst-order and Runge–Kutta fourth-order methods are used for the motor model simulations. For parameter determination, evolutionary methods are used and compared to each other. Methods used are Genetic Algorithm, Di ﬀ erential Evolutions with two strategies, Teaching–Learning-Based Optimization, and Artiﬁcial Bee Colony. To improve results, deviation of the motor model simulation time is used and Memory Assistance with three di ﬀ erent approaches is analyzed to shorten the calculation time. The tests showed that Di ﬀ erential Evolution (DE) / rand / 1 / exp is the most appropriate for the presented problem. The division of the motor model simulation time improves the results. For the presented problem, short-term memory assistance can be suggested for calculation time reduction.


Introduction
Drives with Direct Current motors (DC motors) are used widely in industrial applications. DC motors are easy to control and model, and therefore they are often used for industry control systems. The problem is that often, DC motor and a drive parameters are not known. Without known parameters, a precise model of the DC motor cannot be made, although it may be needed, among other things, for analytical control system design and optimization. Motor parameters, given in the motor specifications provided by the motor manufacturer, could have relatively large tolerances in their electric and mechanical parameters, especially for cheaper DC motors, and often not all parameters are given. Some of them can be measured, but appropriate equipment is needed, and for some measurements the coils should be disconnected, which can be a problem.
Also, drive parameters, such as inertia of the drive and friction, are important parameters in dimensioning of the drive control system. Inertia of the drive influences the start, stop times, and times needed for speed changes. Also, energies needed for transient phenomena are strongly dependent on the inertia. Friction means losses, and it is welcome to evaluate the friction of the motor or of the drive. Usually the inertia and friction of all the drive parts are not known, and because of that, they cannot be determined based on the manufacturer data.
In the past, many authors tried to determine DC motor parameters using different methods. Some of these approaches are: The use of the curve fitting approach [1], the use of the constraint Mathematics 2020, 8 optimization technique [2], the pattern search and last square algorithm [3], parameter identification via the moments method [4], parameter identification via inverse problem methodology using the conjugate gradients method and Tikhonov's regularization method [5], parameter determination using the regression method [6], etc. Also, evolutionary methods are used for parameter estimation [7][8][9][10].
Determination of seven parameters of the DC motor and drive, based on the speed and current step responses, is presented in our work. These parameters are: Three DC motor parameters, inertia of the motor or drive, and three parameters describing the friction of the motor or drive.
The input data for the parameter determination measured speed and current responses. Measured responses are compared to calculated responses, obtained using the DC motor simulation. Simulation is made based on numerical solving of a differential equations system which describes the DC motor drive. Two methods are tested for numerical solving of the differential equations system, which are the simple first-order Euler method and fourth-order Runge-Kutta method. Parameters used as input for simulation should be selected in such a way that simulated responses are as similar as possible to measured responses. We are dealing with an inverse problem, which is also an optimization problem; we are searching for the minimum difference between measured and simulated responses. We decided to use evolutionary methods. Different methods behave differently on different problems, therefore, we tested different methods with the aim to find the most appropriate for the presented problem. We tested Genetic Algorithm (GA) [11][12][13][14][15][16], Differential Evolution (DE) [17][18][19][20][21][22][23][24][25][26] with two different strategies, which are DE/rand/1/exp and DE/best/1/bin, Teaching-Learning-Based Optimization (TLBO) [27][28][29][30][31][32][33][34][35] and Artificial Bee Colony (ABC) [36][37][38][39][40][41][42][43][44][45]. To evaluate the quality of the methods better, tests were also made for simulated input data (all parameters are known), and not only for measured input (mostly exact values of the parameters are not known).
Our contributions in this work are: • Determination of seven DC motor and drive parameters only based on speed and current responses. We tested different evolutionary methods, while other authors used only one standard or evolutionary method. The most appropriate evolutionary method between those selected is proposed based on tests. • Different parameters can be determined with the presented approach: Only the motor (parameters of the motor and inertia and friction of the motor), DC motor drive without load (parameters of the motor and inertia and friction of the drive), DC motor drive with the load (parameters of the motor and inertia of the drive and load characteristic of the drive).

•
The method is also extended for the motor and drive parameter determination in the case of a controlled drive. The influence of a speed controller on the current and speed responses is considered in the DC motor model with the use of the measured voltage. Also, current limitation of the supply unit is considered in the DC motor model. Such an approach has not been found in the literature, as mostly authors use step responses of speed and current, or, in the case of controlled drive, they use a model of the controller.

•
The accuracy of the DC motor model, used for the Objective Function calculation, is improved by dividing the time step of the measurement, which cannot be reduced, into smaller steps in the Objective Function calculation. Such approach to improve the accuracy of the calculation was not found in the literature.

•
To reduce calculation time short-term memory assistance (STMA) is used, which records not only the current population, but also population from the previous calculation step. Also presented is long-term memory assistance (LTMA), which records the entire search history. In the case of LTMA two different search strategies are used for the search in history.
Some other authors tried to determine DC motor parameters with some of the evolutionary methods. In [7] Sankardos et al. used a GA for parameter determination of the permanent magnet DC motor. Lankarani et al. also made DC motor parameter estimation using a GA [8]. In [9] Dupois et al. proposed a multi-objective elitist GA for DC motor parameter estimation. Udomsuk used in [10] the adaptive tabu search technique for separately excited DC motor parameter identification. None of them used measured voltage for simulation of the controlled drive, as we did.
The paper consists of five sections. The principle of parameter determination is described in the second section. Methods are also presented which were used for simulation of the motor model and the evolutionary methods used for parameter determination. Results obtained using simulated data as input are presented in the third section. Results obtained using measured data as input are presented in the fourth section. Cross-validation, testing of result correctness at stationary points, the influence of different weights in Objective Function, improvement of the motor model simulations using time division and analysis of Memory Assistance are also shown. Conclusions are given in the last, fifth section.

Principle of Parameter Determination
The aim of the presented procedure is determination of the DC motor and drive parameters (which are often not given, or they are not precise enough) based on the input data, which are current and speed step responses. The input data are simulated current and speed responses that are used for analysis of the solving procedure and solving methods. Or, measured current and speed responses that are used for determination of the real DC motor and drive parameters. The parameter determination principle is based on the comparison of the input data (current and speed responses) and simulated data, obtained with DC motor model. In the continuation, the procedure for determination of simulated data is presented as well as the selected evolutionary optimization methods.

DC Motor Model and Simulations
The DC motor is presented schematically in Figure 1, which also shows a working machine that may or may not be connected to the motor. It is dependent on the requirement of which parameters of the drive should be determined. The presented approach can be used for a DC motor with separate excitation, with parallel excitation, and for a DC motor with permanent magnets. et al. proposed a multi-objective elitist GA for DC motor parameter estimation. Udomsuk used in [10] the adaptive tabu search technique for separately excited DC motor parameter identification. None of them used measured voltage for simulation of the controlled drive, as we did. The paper consists of five sections. The principle of parameter determination is described in the second section. Methods are also presented which were used for simulation of the motor model and the evolutionary methods used for parameter determination. Results obtained using simulated data as input are presented in the third section. Results obtained using measured data as input are presented in the fourth section. Cross-validation, testing of result correctness at stationary points, the influence of different weights in Objective Function, improvement of the motor model simulations using time division and analysis of Memory Assistance are also shown. Conclusions are given in the last, fifth section.

Principle of Parameter Determination
The aim of the presented procedure is determination of the DC motor and drive parameters (which are often not given, or they are not precise enough) based on the input data, which are current and speed step responses. The input data are simulated current and speed responses that are used for analysis of the solving procedure and solving methods. Or, measured current and speed responses that are used for determination of the real DC motor and drive parameters. The parameter determination principle is based on the comparison of the input data (current and speed responses) and simulated data, obtained with DC motor model. In the continuation, the procedure for determination of simulated data is presented as well as the selected evolutionary optimization methods.

DC Motor Model and Simulations
The DC motor is presented schematically in Figure 1, which also shows a working machine that may or may not be connected to the motor. It is dependent on the requirement of which parameters of the drive should be determined. The presented approach can be used for a DC motor with separate excitation, with parallel excitation, and for a DC motor with permanent magnets. The values on Figure 1 are: Ra ohmic resistance of the DC motor, La inductance of the DC motor, ua voltage at the DC motor, ia current of the DC motor, e induced voltage at the DC motor armature coil, Jm inertia of the motor, ω angular speed at the axis of the motor, and Jwm inertia of the working machine.
Step responses of the motor can be simulated using two Differential Equations (1)-(7). The first Differential Equation describes the electrical subsystem and is written in (1), the second describes the mechanical subsystem and is written in (2).  The values on Figure 1 are: R a ohmic resistance of the DC motor, L a inductance of the DC motor, u a voltage at the DC motor, i a current of the DC motor, e induced voltage at the DC motor armature coil, J m inertia of the motor, ω angular speed at the axis of the motor, and J wm inertia of the working machine.
Step responses of the motor can be simulated using two Differential Equations (1)-(7). The first Differential Equation describes the electrical subsystem and is written in (1), the second describes the mechanical subsystem and is written in (2).
J is the equivalent inertia of all parts in the drive reduced to the motor speed, T m is the torque of the motor and T load is the torque of the load, which can only be friction, or friction and load of the working machine together.
Equations (1) and (2) are coupled, because induced voltage e depends on the speed of the motor, and the torque of the motor T m depends on the current of the motor. e and T m are written in (3) and (4).
c m is assumed to be a constant (in the continuation it is called the motor constant), because c m =k m ·Φ, where k m is a constant of the DC motor and magnetic flux Φ is assumed to be a constant in the case of the considered motors. T load written in (2) can be divided into more parts, presented in (5).
In case no load from the working machine is present, factors T la and T lb represent Coulomb and viscous friction, and T lc represents air resistance at the fan on the motor axis, if present. In case the working machine produces load, factors T la , T lb , and T lc represent friction, air resistance at the fan on the motor axis and load of the working machine together. By insertion of (3), (4) and (5) into (1) and (2), (6) and (7) are obtained.
Based on Equations (6) and (7), we are searching for seven parameters. The meaning of the searched parameters depends on the three different test cases: (a) Only the DC motor is tested, (b) The DC motor and a working machine which does not produce a load are tested and (c) The DC motor and a working machine which produces load are tested. The meaning of the seven searched parameters, dependent on the test case, are presented in Table 1. Simulation of the motor step responses is made with numerical solving of the differential equations written in (6) and (7). A simple first-order Euler method [46] and more complex fourth-order Runge-Kutta method [46] are chosen for numerical solving. Derivatives must be expressed for both methods, the derivative of current from (6) and derivative of speed from (7), and they are written in (8) and (9).

Simulation with the Use of Euler's Method
Euler's method is a first-order method for numerical solving of differential equations [46]. The basic equation of Euler's method is written in (10).
y and z are searching functions, k is the value counter, h is a calculation step and f and g are expressed derivatives of functions y and z. Considering (8) and (9), which describe the problem, and considering Euler's method (10), expressions (11) and (12) are written, which describe the solving of the given system.
In (11) and (12) the values of i a and ω in time instant k+1 are calculated, based on the previous time instant k. ∆t is a calculation time step.

Simulation with the Use of Fourth-Order Runge-Kutta Method
Runge-Kutta's method is a fourth-order method for numerical solving of differential equations [46]. The basic equations of the fourth-order Runge-Kutta method are written in (13).
y and z are searching functions, k is the value counter, h is a calculation step and f and g are expressed derivatives of functions y and z. K 1 to K 4 and L 1 to L 4 are derivatives of y and z. Considering (8) and (9), which describe the problem, and considering the fourth-order Runge-Kutta method (13), expressions (14)-(23) are written, which describe the solving of the given system.
a + 1 2 ∆t·K 1 − T la + T lb · ω (k) + 1 2 ∆t·L 1 + T lc · ω (k) + 1 2 ∆t·L 1 2 (17) a + ∆t· a + ∆t· In (22) and (23), the values of i a and ω in time instant k+1 are calculated based on the time instant k. ∆t is a calculation time step. In the case of the fourth-order Runge-Kutta method, many more calculations are needed to get i a and ω at a current time instant, as in the case of Euler's method.
The discussed problem is an optimization problem. The simulated data must be as similar as possible to the input data (measured or simulated). The Objective Function (OF) is defined as the square of differences between the input and simulated data of current and speed, and it is written in (24).
N is the number of points in the step responses. OF is divided by N to have the possibility to compare the same response measured with different numbers of points. Current and speed are normalized, divided with the maximum input value, to eliminate the different influence of current and speed on the OF due to the different size of current and speed data.

Methods for Parameter Determination
Evolutionary optimization methods  are used for parameter determination. They are population-based search algorithms. The space of all possible solutions is searched through many solutions, which have various suitability (fitness). Better solutions have higher probability to be transferred into the next generation, where they might be changed by crossover and/or mutation. Evolutionary optimization methods have the very exceptional ability to balance exploitation and exploration [15], and, with that, the ability to avoid local optima. They are also suitable for solving technical problems, such as to determine the parameters of different models describing real material properties [47][48][49], or also determine the parameters of models describing real devices. In the presented work, we used and compared GA [11][12][13][14][15][16], DE [17][18][19][20][21][22][23][24][25][26], TLBO [27][28][29][30][31][32][33][34][35] and ABC [36][37][38][39][40][41][42][43][44][45]. In GA, the mutation rate used was 0.2, and the used fraction of population kept was 0.5. For both DE strategies, which are DE/rand/1/exp and DE/best/1/bin, the used amplification of the differential variation was 0.6, and the used crossover probability was 0.8. Two different strategies were used, because a strategy that is the best for a given problem, may not be the best when applied for a different problem. The duplicate elimination phase was omitted in the TLBO used in our work. Therefore, the number of Fitness Evaluations (FEs) consumed was determined statically as: FEs = 2 × population size × iterations. The limit value, which is a control parameter for the bee population in ABC, was set at 100. Since in ABC a scout bee might not be employed for every iteration, the number of FEs cannot be determined statically [39].
In this work, we are dealing with seven parameters (D = 7). The population size is ten times the number of parameters, which is 70 for seven parameters (NP = 70). For stopping criterion for all tests, we used 140,000 FEs, which is 2000 iterations in the case of GA and DE, 1000 iterations in the case of TLBO, and less or equal to 2000 iterations in the case of ABC. The OF used for the quality estimation of simulated response, compared to input data/response, was written previously in (24).

Simulated Data Used as Input
To compare the efficiency and efficacy of the selected methods: GA, DE/rand/1/exp, DE/best/1/bin, TLBO, and ABC, simulated data were used as input data. Simulated input data were obtained using the motor model presented in Section 2.1, described with coupled Differential Equations (8) and (9). To perform the simulation the fourth-order Runge-Kutta method was used, described with expressions (14)- (23), presented in Section 2.1.2. For the first tests, simulated input data were chosen, due to the following advantages compared to the real measured data: • The weaknesses of the model are avoided. For example, L a is not a completely constant value, but it is considered to be a constant value.

•
The phenomena, which are not covered by the model, such as armature reaction, is eliminated from the input data.

•
The exact values of all seven parameters, which should be obtained as results, are known, because they are used as input for preparation of the simulated current and speed step responses.

•
The same method (the fourth-order Runge-Kutta method) is used to prepare simulated input data and to evaluate the OF (24) during the parameter determination process. With that, the influence of the selected method on the results is eliminated.
The data used for the simulated input are presented in Table 2.  Based on t start , t end and ∆t, presented in Table 2, it can be seen that i a and ω were calculated for 500 time instants. The parameters used to get simulated data are presented in Table 3. Four different sets of input data, current, and speed step responses were made. They are marked as simulated data sets 1 to 4 (SD1-SD4). For SD2, bigger inertia was used, for SD3, lower L a , and with that, lower electrical time constant was used and for SD3 smaller inertia.
The used simulated data responses are presented in Figure 2. The limits of the parameters were set due to the physical meaning of the parameters. The used limits are presented in Table 4. Table 4. Limits of the parameters.

Results Obtained Using Simulated Input Data
Calculations of the DC motor and drive parameters were made for all four simulated input data current and speed responses, which are SD1-SD4, presented in Figure 2. For parameter determination, all five selected methods were used, which are GA, DE/rand/1/exp, DE/best/1/bin, TLBO, and ABC. Due to the stochastic behavior of the evolutionary methods, 50 independent runs are made for each combination of input data/used method. The Best (B), Worst (W), Mean (M) OF, and Standard Deviation (SD) are written in Table 5. In Table 5 the lowest mean OF for each simulated input data is marked with bold, and the second lowest mean OF for each simulated input data is marked with bold italics.  The limits of the parameters were set due to the physical meaning of the parameters. The used limits are presented in Table 4.

Results Obtained Using Simulated Input Data
Calculations of the DC motor and drive parameters were made for all four simulated input data current and speed responses, which are SD1-SD4, presented in Figure 2. For parameter determination, all five selected methods were used, which are GA, DE/rand/1/exp, DE/best/1/bin, TLBO, and ABC. Due to the stochastic behavior of the evolutionary methods, 50 independent runs are made for each combination of input data/used method. The Best (B), Worst (W), Mean (M) OF, and Standard Deviation (SD) are written in Table 5. In Table 5 the lowest mean OF for each simulated input data is marked with bold, and the second lowest mean OF for each simulated input data is marked with bold italics. Based on the results presented in Table 5, it can be seen that for all four tested simulated input data, DE/rand/1/exp was much better than the other methods. The second best, also for all tested simulated input data, was TLBO. The mean values of calculated parameters using all five calculation methods are presented in Table 6 for SD1. Based on Table 6, following conclusions can be derived: • Mean values of parameters calculated using DE/rand/1/exp are the same as the values used to generate input data. These results are the best.

•
Mean values of the parameters calculated using TLBO are almost the same as the values used to generate input data. The small difference is only for the parameters describing load, which are T la , T lb , and Tlc.

•
Mean values of the parameters calculated using GA, DE/best/1/bin and ABC are more or less different than the values used to generate input data.
Similar results considering the mean values of calculated parameters were also obtained in the case of SD2, SD3, and SD4. They are not shown, due to the close similarity to the case of SD1 and to make this paper short and concise.
Results of simulations confirmed that evolutionary methods are appropriate for solving of the presented problem.

Measured Data Used as an Input and Improvement of the Method for Controlled Drive and Current Limitation
The use of current and speed step responses is limited to small motors supplied by powerful supply units, due to the large start-up currents of the DC motors. Usually supply units are not powerful enough for direct start of the motor, and controlled drives are often used, in which the motor speed is controlled. The combined drive of the AC/DC supply unit, DC motor, pulse encoder, and working machine is presented in Figure 3.

Measured Data Used as an Input and Improvement of the Method for Controlled Drive and Current Limitation
The use of current and speed step responses is limited to small motors supplied by powerful supply units, due to the large start-up currents of the DC motors. Usually supply units are not powerful enough for direct start of the motor, and controlled drives are often used, in which the motor speed is controlled. The combined drive of the AC/DC supply unit, DC motor, pulse encoder, and working machine is presented in Figure 3. To consider a controlled drive we did not add a controller into the model of the motor presented in Section 2.1 as for example in [7]. The controller influences voltage at the motor ua, which is no longer a constant. To consider that in the case of Euler's method (EM) presented in Section 2.1.1, the ua used in (11) is replaced with measured ua(t). In the case of the Runge-Kutta method (RK) presented in Section 2.1.2, the ua used in (14), (16), (18) and (20) is replaced with measured ua (t). Also, after each calculated ia, it should be checked, and, if needed, corrected to a limit value of ia_limit. Algorithms for parameter determination using EM and RK are presented in Figure 4.

Measured Data Used as a Test Example
For measured data, a laboratory drive was used, which is presented in Figure 5. To consider a controlled drive we did not add a controller into the model of the motor presented in Section 2.1 as for example in [7]. The controller influences voltage at the motor u a , which is no longer a constant. To consider that in the case of Euler's method (EM) presented in Section 2.1.1, the u a used in (11) is replaced with measured u a (t). In the case of the Runge-Kutta method (RK) presented in Section 2.1.2, the u a used in (14), (16), (18) and (20) is replaced with measured u a (t). Also, after each calculated i a , it should be checked, and, if needed, corrected to a limit value of i a_limit . Algorithms for parameter determination using EM and RK are presented in Figure 4.

Measured Data Used as an Input and Improvement of the Method for Controlled Drive and Current Limitation
The use of current and speed step responses is limited to small motors supplied by powerful supply units, due to the large start-up currents of the DC motors. Usually supply units are not powerful enough for direct start of the motor, and controlled drives are often used, in which the motor speed is controlled. The combined drive of the AC/DC supply unit, DC motor, pulse encoder, and working machine is presented in Figure 3. To consider a controlled drive we did not add a controller into the model of the motor presented in Section 2.1 as for example in [7]. The controller influences voltage at the motor ua, which is no longer a constant. To consider that in the case of Euler's method (EM) presented in Section 2.1.1, the ua used in (11) is replaced with measured ua(t). In the case of the Runge-Kutta method (RK) presented in Section 2.1.2, the ua used in (14), (16), (18) and (20) is replaced with measured ua (t). Also, after each calculated ia, it should be checked, and, if needed, corrected to a limit value of ia_limit. Algorithms for parameter determination using EM and RK are presented in Figure 4.

Measured Data Used as a Test Example
For measured data, a laboratory drive was used, which is presented in Figure 5.

Measured Data Used as a Test Example
For measured data, a laboratory drive was used, which is presented in Figure 5. The drive presented in Figure 5 is combined of the following parts: Measurements were made with the use of a "Trace" function, which is a part of the SIEMENS "Drive Monitor" software used for supply unit support.
The measurement data must be prepared properly. The excitation should be switched on before the armature circuit. In this way, it is not necessary to consider the transient phenomenon when switching on the excitation. Only the part of the measured data after switching the armature on is used for the parameter determination, as presented in Figure 6. Four different measured input data sets were made, marked as MD1, MD2, MD3, and MD4. Since it was a controlled drive, the following values had to be defined: Speed up time tspeed_up, final speed ωfinal and current limit ia_limit. The values used for measured input data sets are presented in Table 7.  The drive presented in Figure 5 is combined of the following parts: Measurements were made with the use of a "Trace" function, which is a part of the SIEMENS "Drive Monitor" software used for supply unit support.
The measurement data must be prepared properly. The excitation should be switched on before the armature circuit. In this way, it is not necessary to consider the transient phenomenon when switching on the excitation. Only the part of the measured data after switching the armature on is used for the parameter determination, as presented in Figure 6. The drive presented in Figure 5 is combined of the following parts: Measurements were made with the use of a "Trace" function, which is a part of the SIEMENS "Drive Monitor" software used for supply unit support.
The measurement data must be prepared properly. The excitation should be switched on before the armature circuit. In this way, it is not necessary to consider the transient phenomenon when switching on the excitation. Only the part of the measured data after switching the armature on is used for the parameter determination, as presented in Figure 6. Four different measured input data sets were made, marked as MD1, MD2, MD3, and MD4. Since it was a controlled drive, the following values had to be defined: Speed up time tspeed_up, final speed ωfinal and current limit ia_limit. The values used for measured input data sets are presented in Table 7.  Four different measured input data sets were made, marked as MD1, MD2, MD3, and MD4. Since it was a controlled drive, the following values had to be defined: Speed up time t speed_up , final speed ω final and current limit i a_limit . The values used for measured input data sets are presented in Table 7. The measurement time step was 0.132 s. The measured voltage u a (t), current i a (t) and speed ω(t) are presented in Figure 7 for all four measured data sets. The measurement time step was 0.132 s. The measured voltage ua(t), current ia(t) and speed ω(t) are presented in Figure 7 for all four measured data sets. The limits of the parameters were set due to the physical meaning of the parameters. We set limits appropriate for different motor sizes and loads, but it is always good to check if the limits are appropriate for the size of the drive. The used limits are presented in Table 8. Table 8. Limits of the parameters.

Results Obtained Using the Measured Input Data
Calculation results are presented for each measured input data set MD1-MD4 in separate Sections 4.2.1-4.2.4, and results using input data sets are compared in Section 4.2.5. Comparison between different data makes sense, because they are obtained on the same drive, and it is expected to get the same results for both motor and drive parameters. Cross-validation is presented in Section 4.2.6, testing of result correctness at stationary points in Section 4.2.7, calculation times are presented in Section 4.2.8, and the influence of weights added into OF is analyzed in Section 4.2.9.  The limits of the parameters were set due to the physical meaning of the parameters. We set limits appropriate for different motor sizes and loads, but it is always good to check if the limits are appropriate for the size of the drive. The used limits are presented in Table 8.

Results Obtained Using the Measured Input Data
Calculation results are presented for each measured input data set MD1-MD4 in separate between different data makes sense, because they are obtained on the same drive, and it is expected to get the same results for both motor and drive parameters. Cross-validation is presented in Section 4.2.6, testing of result correctness at stationary points in Section 4.2.7, calculation times are presented in Section 4.2.8, and the influence of weights added into OF is analyzed in Section 4.2.9.

Results Obtained Using Input Data MD1
In the case of MD1, parameters were calculated using EM and RK. Results using different evolutionary methods, presented in Section 2.2, were compared, to find out which of the methods was the best for the presented problem. OF and mean values of parameters calculated using EM are presented in Table 9, and using RK in Table 10.
Considering Tables 9 and 10, the best results were obtained using DE/rand/1/exp in the case of EM, and using DE/rand/1/exp and TLBO in the case of RK, where the calculated values for all 50 starts were the same (SD = 0). Results obtained using EM were not correct, considering known values, because EM was not precise enough. In the case of DE/rand/1/exp deviation of calculated R a was 104%, of J was 16%, and calculated T la was 0 (it should be around 0.9). Calculated values using RK were correct. In the case of DE/rand/1/exp deviation of calculated R a was 11%, of J was 17% and of T la was 11%. The measured and calculated responses (using parameters obtained with DE/rand/1/exp written in Tables 9 and 10)  Also, from Figure 8, it can be seen that differences between measured and calculated responses are bigger in the case of EM than in the case of RK.

Results Obtained Using Input Data MD2
OF and mean values of calculated parameters for MD2 using EM are presented in Table 11, and using RK in Table 12. Table 11. OF and Mean value of the calculated parameters for 50 independent runs using EM for MD2.

OF and Method Parameters
Known

OF and Method Parameters
Known  Also, from Figure 8, it can be seen that differences between measured and calculated responses are bigger in the case of EM than in the case of RK.

Results Obtained Using Input Data MD2
OF and mean values of calculated parameters for MD2 using EM are presented in Table 11, and using RK in Table 12.   Considering Tables 11 and 12, the best results were obtained using DE/rand/1/exp and TLBO in the case of EM and RK, where the calculated values for all 50 starts were the same. Results obtained using EM were not correct, considering the known values. In the case of DE/rand/1/exp deviation of calculated R a was 102%, of J was 22% and calculated T la was 0 (it should be around 0.9). Calculated values using RK were correct. In the case of DE/rand/1/exp deviation of calculated R a was 12%, of J was 25% and of T la was 3.8%. The first two seconds of measured and calculated responses (using the parameters obtained with DE/rand/1/exp written in Tables 11 and 12) are presented in Figure 9. Considering Tables 11 and 12, the best results were obtained using DE/rand/1/exp and TLBO in the case of EM and RK, where the calculated values for all 50 starts were the same. Results obtained using EM were not correct, considering the known values. In the case of DE/rand/1/exp deviation of calculated Ra was 102%, of J was 22% and calculated Tla was 0 (it should be around 0.9). Calculated values using RK were correct. In the case of DE/rand/1/exp deviation of calculated Ra was 12%, of J was 25% and of Tla was 3.8%. The first two seconds of measured and calculated responses (using the parameters obtained with DE/rand/1/exp written in Tables 11 and 12) are presented in Figure 9. Also, from Figure 9, it can be seen that differences between measured and calculated responses are bigger in the case of EM than in the case of RK.

Results Obtained Using Input Data MD3
OF and mean values of calculated parameters in case of MD3 are presented in Table 13 for EM  and Table 14 for RK.  Also, from Figure 9, it can be seen that differences between measured and calculated responses are bigger in the case of EM than in the case of RK.

Results Obtained Using Input Data MD3
OF and mean values of calculated parameters in case of MD3 are presented in Table 13 for EM  and Table 14 for RK.  Considering Tables 13 and 14, the best results were obtained using DE/rand/1/exp and TLBO in the case of EM and RK, where the calculated values for all 50 starts were the same. Results obtained using EM were not correct, considering the known values. In the case of DE/rand/1/exp deviation of calculated R a was 111%, of J was 11% and calculated T la was 0 (it should be around 0.9). Calculated values using RK were correct. In the case of DE/rand/1/exp deviation of calculated R a was 14%, of J was 11% and of T la was 12%. The first two seconds of measured and calculated responses (using the parameters obtained with DE/rand/1/exp written in Tables 13 and 14) are presented in Figure 10.   Considering Tables 13 and 14, the best results were obtained using DE/rand/1/exp and TLBO in the case of EM and RK, where the calculated values for all 50 starts were the same. Results obtained using EM were not correct, considering the known values. In the case of DE/rand/1/exp deviation of calculated Ra was 111%, of J was 11% and calculated Tla was 0 (it should be around 0.9). Calculated values using RK were correct. In the case of DE/rand/1/exp deviation of calculated Ra was 14%, of J was 11% and of Tla was 12%. The first two seconds of measured and calculated responses (using the parameters obtained with DE/rand/1/exp written in Tables 13 and 14) are presented in Figure 10. Also, from Figure 10, it can be seen that the difference between measured and calculated responses is bigger in the case of EM than in the case of RK.

Results Obtained Using Input Data MD4
OF and mean values of the calculated parameters in the case of MD4 are presented in Table 15 for EM and Table 16 for RK. Also, from Figure 10, it can be seen that the difference between measured and calculated responses is bigger in the case of EM than in the case of RK.

Results Obtained Using Input Data MD4
OF and mean values of the calculated parameters in the case of MD4 are presented in Table 15 for EM and Table 16 for RK.  Considering Tables 15 and 16, the best results were obtained using DE/rand/1/exp, DE/best/1/bin and TLBO in the case of EM, and DE/rand/1/exp and TLBO in the case of RK, where the calculated values for all 50 starts were the same. Results obtained using EM were not correct, considering known values. In the case of DE/rand/1/exp deviation of calculated R a was 23%, of J was 198% and calculated T la was 0 (it should be around 0.9). Calculated values using RK were better. In the case of DE/rand/1/exp deviation of calculated R a was 4.9%, of J was 155% and of T la was 13%.
It is interesting to note that OF in the case of EM was lower than in the case of RK, although the parameters calculated using RK were better than the parameters calculated using EM. In the cases of MD1, MD2, and MD3 EM was not appropriate. In this case, the measurement deviations and errors were bigger for the RK method, which simulates a real motor better, cannot get as close to the measured signal as the EM method, which simulates a real motor worse. Also, 155% deviation of calculated inertia in the case of RK can be explained by measurement deviations.
The first four seconds of measured and calculated responses (using the parameters obtained with DE/rand/1/exp written in Tables 15 and 16) are presented in Figure 11. Also, from Figure 11 it can be seen that the differences between measured and calculated responses are different in cases of EM and RK.

Comparison of Results Obtained Using All Four Input Data Sets
As previously mentioned, comparison between different data makes sense, because they are obtained on the same drive, and it is expected to get the same results for both motor and drive parameters. With that, also the correctness can be checked of the unknown parameters. Mean values of the parameters calculated using DE/rand/1/exp and RK for MD1, MD2, MD3 are presented in Table 17. Considering Table 17, the first five parameters should be the same for all input data. The last two parameters Tlb and Tlc are different, because in the cases of MD1, MD2, and MD3, no load was present, and in case of MD4 a load of approximately 14.6 Nm at angular speed 182 s −1 was present (the load was a linear function of speed).
Conclusions considering the calculated values:  Ra: The maximum deviation of calculated Ra was less than 14%, which is a good result.  La: Calculated La was between 244 mH and 451 mH, the difference was due to the deviations in measurements. As can be seen from the result, a small deviation in the measurement causes a significant change of La.  cm: Calculated cm was between 1.314 and 1.376, which is a good result, because the difference between calculated values was less than 5%.  J: The real inertia of the drive was approximately 0.04 kgm 2 (inertia of some small parts is not known). The calculated inertia was in the range of 20% in the cases of MD1, MD2, and MD3. Only in the case of MD4, was the calculated inertia too small, due to the deviations of the measurements (see a more detailed explanation in Section 4.2.4). Also, from Figure 11 it can be seen that the differences between measured and calculated responses are different in cases of EM and RK.

Comparison of Results Obtained Using All Four Input Data Sets
As previously mentioned, comparison between different data makes sense, because they are obtained on the same drive, and it is expected to get the same results for both motor and drive parameters. With that, also the correctness can be checked of the unknown parameters. Mean values of the parameters calculated using DE/rand/1/exp and RK for MD1, MD2, MD3 are presented in Table 17. Considering Table 17, the first five parameters should be the same for all input data. The last two parameters T lb and T lc are different, because in the cases of MD1, MD2, and MD3, no load was present, and in case of MD4 a load of approximately 14.6 Nm at angular speed 182 s −1 was present (the load was a linear function of speed).
Conclusions considering the calculated values: • R a : The maximum deviation of calculated R a was less than 14%, which is a good result. • L a : Calculated L a was between 244 mH and 451 mH, the difference was due to the deviations in measurements. As can be seen from the result, a small deviation in the measurement causes a significant change of L a . • c m : Calculated c m was between 1.314 and 1.376, which is a good result, because the difference between calculated values was less than 5%. • J: The real inertia of the drive was approximately 0.04 kgm 2 (inertia of some small parts is not known). The calculated inertia was in the range of 20% in the cases of MD1, MD2, and MD3.
Only in the case of MD4, was the calculated inertia too small, due to the deviations of the measurements (see a more detailed explanation in Section 4.2.4).

•
T la : Parameter T la was a friction of the drive, which was approximately 0.9 Nm. The calculated values for all four input data were in the scope of 15%. • T lb , T lc : Parameters T lb and T lc were negligibly small in cases MD1, MD2, and MD3. In the case of MD4 load was present, which was linearly dependent on speed. The total load at angular speed 182 s −1 was approximately 14.6 Nm. The calculated load considering parameters T la , T lb , and T lc was 10.1 Nm, which was a deviation of 31%.
The obtained results were very satisfactory, considering the facts that the input data were measured data with measurement deviations and errors, that the motor model did not consider the reactance of the armature, and that real L a was not completely a constant value. Although the results were very satisfactory, we tried to improve them, which is presented in the continuation of the paper in Section 4.3.

Cross-Validation of the Obtained Results
From Table 17 it can be seen that for MD1, MD2, and MD3, all seven parameters should be the same, because the same drive without load is used. However, different conditions were used for the measurement (different final speed and current limit, as can be seen from Table 7), which offers a test of the correctness of the results using cross-validation.
The parameters obtained using MD1 are input data for the motor simulation, using the values for MD2 and MD3 presented in Table 7 and OF calculation. In the same way, parameters obtained using MD2, are input data for the motor simulation using values for MD1 and MD3, and the parameters obtained using MD3 are input data for the motor simulation using values for MD1 and MD2. The cross-validation procedure and calculated OFs are presented in Figure 12.  The obtained results were very satisfactory, considering the facts that the input data were measured data with measurement deviations and errors, that the motor model did not consider the reactance of the armature, and that real La was not completely a constant value. Although the results were very satisfactory, we tried to improve them, which is presented in the continuation of the paper in Section 4.3.

Cross-Validation of the Obtained Results
From Table 17 it can be seen that for MD1, MD2, and MD3, all seven parameters should be the same, because the same drive without load is used. However, different conditions were used for the measurement (different final speed and current limit, as can be seen from Table 7), which offers a test of the correctness of the results using cross-validation.
The parameters obtained using MD1 are input data for the motor simulation, using the values for MD2 and MD3 presented in Table 7 and OF calculation. In the same way, parameters obtained using MD2, are input data for the motor simulation using values for MD1 and MD3, and the parameters obtained using MD3 are input data for the motor simulation using values for MD1 and MD2. The cross-validation procedure and calculated OFs are presented in Figure 12. In Figure 12, RMD1, RMD2, and RMD3 are calculated sets of the parameters using MD1, MD2, and MD3. Analyzing MD1 test data, based on Figure 12, it can be seen that OF = 2.2531×10 −3 for MD1. In the case of the motor simulation using values for MD1 and RMD2, OF = 2.4928×10 −3 , which is only a slightly higher value. In the case of the motor simulation using values for MD1 and RMD3, OF = 5.3863×10 −3 , which is a less than two times higher value, and it can be assumed that cross-validation confirms the correctness of the results. Based on Figure 12, similar can be concluded analyzing MD2 and MD3 test data. In Figure 12, R MD1 , R MD2 , and R MD3 are calculated sets of the parameters using MD1, MD2, and MD3. Analyzing MD1 test data, based on Figure 12, it can be seen that OF = 2.2531 × 10 −3 for MD1. In the case of the motor simulation using values for MD1 and R MD2 , OF = 2.4928 × 10 −3 , which is only a slightly higher value. In the case of the motor simulation using values for MD1 and R MD3 , OF = 5.3863 × 10 −3 , which is a less than two times higher value, and it can be assumed that cross-validation confirms the correctness of the results. Based on Figure 12, similar can be concluded analyzing MD2 and MD3 test data.
The simulated motor speed and current using R MD1 , R MD2 , and R MD3 for MD1 values are presented in Figure 13, for MD2 values are presented in Figure 14 and for MD3 values are presented in Figure 15. The simulated motor speed and current using RMD1, RMD2, and RMD3 for MD1 values are presented in Figure 13, for MD2 values are presented in Figure 14 and for MD3 values are presented in Figure 15.     The simulated motor speed and current using RMD1, RMD2, and RMD3 for MD1 values are presented in Figure 13, for MD2 values are presented in Figure 14 and for MD3 values are presented in Figure 15.    The simulated motor speed and current using RMD1, RMD2, and RMD3 for MD1 values are presented in Figure 13, for MD2 values are presented in Figure 14 and for MD3 values are presented in Figure 15.    In Figures 13-15, it can be seen that the simulated motor speed and current are similar, although different parameters (R MD1 , R MD2 and R MD3 ) are used. For all three Figures, bigger differences appear at current responses and smaller at speed responses.

Testing of Result Correctness at Stationary Points
Testing of result correctness at stationary points was made for results obtained using RK, presented in Table 17. The whole measured data for MD1 are presented in Figure 16.

Testing of Result Correctness at Stationary Points
Testing of result correctness at stationary points was made for results obtained using RK, presented in Table 17. The whole measured data for MD1 are presented in Figure 16. From Figure 16 it can be seen that after the start of the motor, stationary operation occurs. Although small changes of measured voltage are present, due to the measurement deviations and influence of the controller, operating points after the start of the motor can be treated as stationary.
In the case of stationary operation derivatives dia/dt=0 and dω/dt=0, and, with that Equations (6) and (7) are changed into (25) (26) In the case of the correct calculated parameters presented in Table 17, calculated ua_calc using (25) and calculated ia_calc using (26) should be as similar as possible to measured values. Parameters La and J are not included in (25) and (26), and their values are not the subject of correctness tests using stationary points. Calculated current and speed and their deviation at selected stationary points for MD1, MD2, MD3, and MD4 are presented in Table 18. Table 18. Calculated current and speed using (25) and (26) and their deviation at selected points for MD1, MD2, MD3, and MD4 for calculated parameters obtained with RK.  From Figure 16 it can be seen that after the start of the motor, stationary operation occurs. Although small changes of measured voltage are present, due to the measurement deviations and influence of the controller, operating points after the start of the motor can be treated as stationary. In the case of stationary operation derivatives di a /dt=0 and dω/dt=0, and, with that Equations (6) and (7) are changed into (25) and (26). u a = i a ·R a + L a · di a dt + c m ·ω ⇒ u a = i a ·R a + c m ·ω ⇒ u a_calc = i a_meas ·R a + c m ·ω meas (25) c m ·i a − T la + T lb ·ω + T lc ·ω 2 = J dω dt ⇒ c m ·i a − T la + T lb ·ω + T lc ·ω 2 = 0 ⇒ i a_calc = T la +T lb ·ω meas +T lc ·ω 2 meas c m (26) In the case of the correct calculated parameters presented in Table 17, calculated u a_calc using (25) and calculated i a_calc using (26) should be as similar as possible to measured values. Parameters L a and J are not included in (25) and (26), and their values are not the subject of correctness tests using stationary points. Calculated current and speed and their deviation at selected stationary points for MD1, MD2, MD3, and MD4 are presented in Table 18.

Stationary Point-Measured and Calculated Values Data t (s) ia_meas (A) ωmeas (1/s) ua_meas (V) ua_calc (V) Deviation of ua_calc (%) ia_calc (A)
In Table 18, times 2, 4, 6, 8, and 10 s were selected for MD1 and MD2. In the case of MD3, times 2, 4, 6, 7, and 8 s were selected, because the signal was measured for a shorter final time. In the case of MD4, times 4, 6, 8, 10, and 12 were selected, because the start of the motor was longer than 2 s. From Table 18 it can be seen that deviations of calculated voltages are up to 3%. Deviations of calculated speeds are, at 13 stationary points, less than 5%, and in the remaining seven, up to 13%. Based on the presented results it can be concluded that calculated parameters are correct for stationary points. Table 18. Calculated current and speed using (25) and (26) and their deviation at selected points for MD1, MD2, MD3, and MD4 for calculated parameters obtained with RK.

Calculation Times
Mean values of calculation times for all four measured input data, for EM and RK, and for all five tested evolutionary methods are presented in Table 19. Based on Table 19, the following conclusions can be written: • Calculation times were mostly longer for a higher number of measured points (MD1 87, MD2 81, MD3 65, MD4 106 measured points), which was the expected result.

•
Calculation times using RK were mostly approximately not more than 25% longer than calculation times using EM, although in the case of RK, ten expressions (14)-(23) were calculated for each time instant, and in the case of EM, only two expressions (11) and (12) were calculated for each time instant.
• Calculation times using different evolutionary methods were different. The fastest was GA. The calculation times of DE were 20 to 40% longer than the times of GA. Calculation times of TLBO and ABC were 100 to 150% longer than the calculation times of DE.
Considering the results presented in Section 3.1 (Simulated Input Data), and Sections 4.2.1-4.2.4 (measured input data), DE/rand/1/exp can be suggested for the presented problem as the best method among those used in this study. TLBO was only slightly worse, but calculation times were much longer than in the case of DE. DE/best/1/bin and ABC were also acceptable, but not as good as DE/rand/1/exp. GA cannot be suggested as a method appropriate for the presented problem.
Improvements of the calculations using only DE/rand/1/exp are presented in the continuation of the paper. Improvements were needed because EM was not suitable, and even in the case of RK, we do not know if we got the most that can be obtained from the presented measurements.

Influence of Weights Used in OF on Results
The OF written in (24) is composed of two parts: Current and speed. Each of them is normalized. By adding weights, we can increase the impact of an individual part, and thus improve the results. Weights w 1 and w 2 , to which w 1 + w 2 = 1 applies, are added to (24), and (27) is obtained.
Nine combinations of weights w 1 , w 2 are used, which are 0.1, 0.9; 0.2, 0.8; . . . 0.9, 0.1, and tested using MD1, MD2, MD3, and MD4. For each test, 50 independent runs were made using RK. In Tables 20-23 the mean values of calculated parameters are presented for MD1, MD2, MD3, and MD4 separately.     In Tables 20-23 OFs are also presented, although a lower value does not mean a better result and the values are not comparable.
Based on Tables 20-23 the following conclusions can be written:

•
In the case of MD1, correct results (due to the known values written at the bottom of Table 20) are obtained for weights w 1 ≥ 0.5. For w 1 ≤ 0.4, parameter T la has an incorrect value. For higher w 1 , slightly better results were obtained, for example R a at w 1 = 0.5 is 5.06 and at w 1 = 0.9 it is 5.34.

•
In the case of MD2, correct results were obtained for weights w 1 ≥ 0.4. For w 1 ≤ 0.3 parameter, T la has an incorrect value. For higher w 1 , slightly better results were obtained, for example, R a at w 1 = 0.4 is 4.87 and at w 1 = 0.9 it is 5.24.

•
In the case of MD3 correct results were obtained for weights w 1 ≥ 0.4. For w 1 ≤ 0.3 parameter, T lc has an incorrect value. For higher w 1 , almost no difference in results was obtained, for example, R a at w 1 = 0.4 is 4.86 and at w 1 = 0.9 it is 4.91.

•
In the case of MD4, only results for w 1 = 0.4 and 0.5 are acceptable. For w 1 ≤ 0.3, T la is too small, and for w 1 ≥ 0.6, T 1a is too big.
Based on the written findings, only weight w 1 = 0.5 was appropriate for all the presented test cases. However, general conclusions cannot be made only based on this one example. The basic OF written in (24) is used in the continuation of the paper.

Motor Model Simulations with Time Interval Division
The measurement interval, the time step, could not be reduced, because it depends on the hardware. However, it is well known that the solutions of differential equations can be better if a smaller time step is used [49]. To improve results, we reduced the time step in the case of the motor model simulations (OF calculation), and only calculated current and speed at time instants in which measured values were known were used for OF calculation. For the tests, the number of time step divisions (ND) was set to 5 and 10. The used methods are marked with EM5 for Euler's method using ND = 5, EM10 for Euler's method using ND = 10, RK5 for the Runge-Kutta method using ND = 5 and RK10 for Runge-Kutta using ND = 10. The times between two sequential measurement time instants, marked with t i , were calculated using (28).
t k−1 and t k are sequential measurement time instants. Also, voltage is an input value, which is measured, and it changes with the time. The voltages between two sequential measured voltages, marked with u a_i , were determined using linear interpolation, defined with (29).
u a_k−1 and u a_k are sequential measured voltages. The algorithm showing the calculation procedure is presented in Figure 17. Parts which were added to the algorithms of EM and RK without a time step division (presented in Figure 4) are marked with red. OF and mean values of the calculated parameters using EM, EM5, EM10, RK, RK5, and RK10 for MD1 are presented in Table 24. Base on Table 24 it can be seen that results using EM were improved. In the cases of EM5 and EM10 calculated Ra and Tla were correct, although they were not correct using EM. Considering OFs, EM5 was an improvement on EM, and EM10 was only a small improvement on EM5. RK5 was a small improvement on RK, and RK10 was not an improvement on RK5. It must be noted that lower OF values does not automatically mean more precisely calculated parameters, because in the measured signal, measurement deviations and errors are present. OF and mean values of the calculated parameters using EM, EM5, EM10, RK, RK5, and RK10 for MD1 are presented in Table 24. Base on Table 24 it can be seen that results using EM were improved. In the cases of EM5 and EM10 calculated R a and T la were correct, although they were not correct using EM. Considering OFs, EM5 was an improvement on EM, and EM10 was only a small improvement on EM5. RK5 was a small improvement on RK, and RK10 was not an improvement on RK5. It must be noted that lower OF values does not automatically mean more precisely calculated parameters, because in the measured signal, measurement deviations and errors are present.
Measured and calculated responses using EM5 and EM10 are shown in Figure 18, and using RK5 and RK10 in Figure 19. Only the first second of the responses is displayed to make Figures more transparent. Measured and calculated responses using EM5 and EM10 are shown in Figure 18, and using RK5 and RK10 in Figure 19. Only the first second of the responses is displayed to make Figures more transparent.  Comparing Figures 8 and 18, the improvement achieved with EM5 and EM10 can be seen. The simulated responses were closer to the measured responses.
OF and mean values of the calculated parameters using EM, EM5, EM10, RK, RK5, and RK10 for MD2 are shown in Table 25.   Measured and calculated responses using EM5 and EM10 are shown in Figure 18, and using RK5 and RK10 in Figure 19. Only the first second of the responses is displayed to make Figures more transparent.  Comparing Figures 8 and 18, the improvement achieved with EM5 and EM10 can be seen. The simulated responses were closer to the measured responses.
OF and mean values of the calculated parameters using EM, EM5, EM10, RK, RK5, and RK10 for MD2 are shown in Table 25.  Comparing Figures 8 and 18, the improvement achieved with EM5 and EM10 can be seen. The simulated responses were closer to the measured responses.
OF and mean values of the calculated parameters using EM, EM5, EM10, RK, RK5, and RK10 for MD2 are shown in Table 25. Base on Table 25, it can be seen that results using EM were improved. In the cases of EM5 and EM10 calculated R a and T la were correct, although they were not correct using EM. Considering OFs, EM5 was an improvement on EM, and EM10 was only a small improvement on EM5. RK5 was a small improvement on RK, and RK10 was not an improvement on RK5.
The first second of the measured and calculated responses using EM10 and RK10 is shown in Figure 20. Base on Table 25, it can be seen that results using EM were improved. In the cases of EM5 and EM10 calculated Ra and Tla were correct, although they were not correct using EM. Considering OFs, EM5 was an improvement on EM, and EM10 was only a small improvement on EM5. RK5 was a small improvement on RK, and RK10 was not an improvement on RK5.
The first second of the measured and calculated responses using EM10 and RK10 is shown in Figure 20. Comparing Figures 9 and 20, especially the improvement achieved with EM10 can be seen. OF and mean values of the parameters calculated using EM, EM5, EM10, RK, RK5, and RK10 for MD3 are presented in Table 26. Based on Table 26, it can be seen that results were improved using EM. In the cases of EM5 and EM10 calculated Ra and Tla were correct, although they were not correct using EM. Considering OFs, EM5 was an improvement on EM, and EM10 was only a small improvement on EM5. In the cases of RK5 and RK10 no improvements were made.
The first second of the measured and calculated responses using EM10 and RK10 is shown in Figure 21. Comparing Figures 9 and 20, especially the improvement achieved with EM10 can be seen. OF and mean values of the parameters calculated using EM, EM5, EM10, RK, RK5, and RK10 for MD3 are presented in Table 26. Based on Table 26, it can be seen that results were improved using EM. In the cases of EM5 and EM10 calculated R a and T la were correct, although they were not correct using EM. Considering OFs, EM5 was an improvement on EM, and EM10 was only a small improvement on EM5. In the cases of RK5 and RK10 no improvements were made.
The first second of the measured and calculated responses using EM10 and RK10 is shown in Figure 21. Comparing Figures 10 and 21, especially the improvement achieved with EM10 can be seen. OF and mean values of the calculated parameters using EM, EM5, EM10, RK, RK5, and RK10 for MD4 are shown in Table 27. Based on Table 27 it can be seen that results using EM were improved, although the OF value was higher. In this case, the measurement deviations and errors were bigger than the EM5 and EM10 methods, which simulated a real motor better, could not get as close to the measured signal as the EM method, which simulated a real motor worse. In the cases of EM5 and EM10, calculated Ra and Tla were correct, although they were not correct using EM. Considering OFs, EM10 was only a small improvement on EM5. In the cases of RK5 and RK10 only very small improvements were made.
The first four seconds of the measured and calculated responses using EM10 and RK10 are shown in Figure 22. Comparing Figures 10 and 21, especially the improvement achieved with EM10 can be seen. OF and mean values of the calculated parameters using EM, EM5, EM10, RK, RK5, and RK10 for MD4 are shown in Table 27. Based on Table 27 it can be seen that results using EM were improved, although the OF value was higher. In this case, the measurement deviations and errors were bigger than the EM5 and EM10 methods, which simulated a real motor better, could not get as close to the measured signal as the EM method, which simulated a real motor worse. In the cases of EM5 and EM10, calculated R a and T la were correct, although they were not correct using EM. Considering OFs, EM10 was only a small improvement on EM5. In the cases of RK5 and RK10 only very small improvements were made.
The first four seconds of the measured and calculated responses using EM10 and RK10 are shown in Figure 22. Division of the time interval in the case of the motor simulations results in a higher number of calculations, and, with that, with a longer calculation time. Calculation times using E, EM5, EM10, RK, RK5, and RK10 for all measured input data are presented in Table 28. Based on Table 28, it can be seen that calculation times using EM5 were, on average, 1.5 times longer than the times of EM, and using EM10 were, on average, 2 times longer than the times of EM. Calculation times using RK5 were, on average, 2 times longer than the times of RK, and using RK10 were, on average, 3 times longer than the times of RK.

Analysis of Memory Assistance
Memory Assistance offers the possibility to shorten calculation times [50], which is always welcome. The presented problem is interesting for Memory Assistance analysis, because using different approaches different calculation times are achieved (without division of the time interval and with 5 or 10 divisions of the time interval).
We used three different Memory Assistances, which are the following:  STMA: In each iteration, population members are compared with members from only one previous iteration. After each iteration, the whole population is saved into memory. Only additional memory for one population set is used using the presented approach. In the presented case, this is ((7 parameters + OF) × 70 population members) memory locations.  Long-Term Memory Assistance-Strategy 1 (LTMA-S1): Each population member is compared with all members written into memory, obtained from all previous iterations. Each member which is not found in the memory is added to the memory. Strategy 1 means that the search in the memory starts from first added to the last added (when the same population member is found, the search is finished). Theoretically ((7 parameters + OF) × 70 population members × 2000 iterations) locations of additional memory can be used.  Long-Term Memory Assistance-Strategy 2 (LTMA-S2): It is the same as LTMA-S1, only the strategy of the search is changed. It starts from the last added to the first added. Division of the time interval in the case of the motor simulations results in a higher number of calculations, and, with that, with a longer calculation time. Calculation times using E, EM5, EM10, RK, RK5, and RK10 for all measured input data are presented in Table 28. Based on Table 28, it can be seen that calculation times using EM5 were, on average, 1.5 times longer than the times of EM, and using EM10 were, on average, 2 times longer than the times of EM. Calculation times using RK5 were, on average, 2 times longer than the times of RK, and using RK10 were, on average, 3 times longer than the times of RK.

Analysis of Memory Assistance
Memory Assistance offers the possibility to shorten calculation times [50], which is always welcome. The presented problem is interesting for Memory Assistance analysis, because using different approaches different calculation times are achieved (without division of the time interval and with 5 or 10 divisions of the time interval).
We used three different Memory Assistances, which are the following: • STMA: In each iteration, population members are compared with members from only one previous iteration. After each iteration, the whole population is saved into memory. Only additional memory for one population set is used using the presented approach. In the presented case, this is ((7 parameters + OF) × 70 population members) memory locations.

•
Long-Term Memory Assistance-Strategy 1 (LTMA-S1): Each population member is compared with all members written into memory, obtained from all previous iterations. Each member which is not found in the memory is added to the memory. Strategy 1 means that the search in the memory starts from first added to the last added (when the same population member is found, the search is finished). Theoretically ((7 parameters + OF) × 70 population members × 2000 iterations) locations of additional memory can be used.
• Long-Term Memory Assistance-Strategy 2 (LTMA-S2): It is the same as LTMA-S1, only the strategy of the search is changed. It starts from the last added to the first added.
LTMA-S2 is better than LTMA-S1, probably because the latter solutions are less different and duplicates occur sooner. Using both strategies it will be seen if memory processing time is negligible or large compared to the calculation time of the Evolutionary Method.
The STMA algorithm is presented in Figure 23, and the LTMA algorithm for both strategies is presented in Figure 24. LTMA-S2 is better than LTMA-S1, probably because the latter solutions are less different and duplicates occur sooner. Using both strategies it will be seen if memory processing time is negligible or large compared to the calculation time of the Evolutionary Method.
The STMA algorithm is presented in Figure 23, and the LTMA algorithm for both strategies is presented in Figure 24.  The expression "record" used in Figures 23 and 24 means one set of parameters + OF value (Ra, La, cm, J, Tla, Tlb, Tlc, OF). It is important to set appropriate precision, differences of the parameters for which duplication may be identified. These values determine the decimal accuracy of the calculated parameters, and they depend on the physical background of the problem. Precisions used for duplication identification are presented in Table 29. LTMA-S2 is better than LTMA-S1, probably because the latter solutions are less different and duplicates occur sooner. Using both strategies it will be seen if memory processing time is negligible or large compared to the calculation time of the Evolutionary Method.
The STMA algorithm is presented in Figure 23, and the LTMA algorithm for both strategies is presented in Figure 24.  The expression "record" used in Figures 23 and 24 means one set of parameters + OF value (Ra, La, cm, J, Tla, Tlb, Tlc, OF). It is important to set appropriate precision, differences of the parameters for which duplication may be identified. These values determine the decimal accuracy of the calculated parameters, and they depend on the physical background of the problem. Precisions used for duplication identification are presented in Table 29. The expression "record" used in Figures 23 and 24 means one set of parameters + OF value (R a , L a , c m , J, T la , T lb , T lc , OF). It is important to set appropriate precision, differences of the parameters for which duplication may be identified. These values determine the decimal accuracy of the calculated parameters, and they depend on the physical background of the problem. Precisions used for duplication identification are presented in Table 29. Table 29. Precisions which determine duplication identification.

Parameter
Maximum Difference Results presenting calculation times and repetitions obtained with EM, EM5, EM10, RK, RK5, and RK10 using STMA, LTMA-S1, and LTMA-S2 are presented in Table 30 for MD1, Table 31 for MD2, Table 32 for MD3, and Table 33    STMA. Only in the case of MD4, where the number of duplications is smaller, was the calculation time 91.3%, which was a longer time than in the case of STMA.
The use of STMA can be suggested for the presented problem. To get a feeling about the relation between OF calculation time and memory handling time, Figure 25 shows the mean OF calculation times and the mean memory handling times (entry and search) for one fitness evaluation.

Conclusions
The extension of the step responses approach into the approach also using measured voltage and considering limitation of the current, which was one of the main contributions of this work, was successful. Such an approach offers the possibility to determine the parameters of big controlled drives without modeling of the controller.

Conclusions
The extension of the step responses approach into the approach also using measured voltage and considering limitation of the current, which was one of the main contributions of this work, was successful. Such an approach offers the possibility to determine the parameters of big controlled drives without modeling of the controller.
In the case of simulated input data, the computed parameters (in the case of DE/rand/1/exp) were exactly the values used for preparation of the input data, and, thus, confirmed the correctness of the approach. In the case of measured input data, the calculated parameters (for known values) were mainly in the range of 15%, in some cases up to 25%, and only in the case of calculated torque (MD4) was the deviation 30.1%. Due to the fast time responses and measurement deviations and errors, it can be assumed that deviations were within normal limits.
The tested evolutionary methods (GA, DE/rand/1/exp, DE/best/1/bin, TLBO, and ABC) showed the same properties in the case of simulated input data (ideal input without armature reaction and measuring errors) as in the case of measured input data (real input). The DE/rand/1/exp was the most robust. For each run in the scope of individual test data, results were the same. TLBO was only slightly worse, but calculation times were 2 times longer. Results obtained using DE/best/1/bin and ABC were also acceptable. Only results obtained using GA were too poor. Based on this, DE/rand/1/exp can be suggested as the best method for the presented problem.
Comparison between EM and RK showed that EM was not good enough, while RK was appropriate. The suitability of the method depends on the measurement time interval, electrical time constant of the motor and mechanical time constant of the drive, and it is strongly problem dependent. It was expected that the fourth-order RK method was more appropriate than first-order EM, but, on the other hand, calculation times using RK were longer and programming of RK is more demanding.
Results were improved by division of the time interval in the case of the motor model simulations. Also, results using EM5 and EM10 were correct, although results using EM were incorrect. Based on OF analysis, it was seen that in some cases, no improvement was achieved, improvement was achieved using ND = 5 and no more using ND = 10, or improvement was achieved using ND = 5 and only a small, irrelevant additional improvement was achieved using ND = 10. At the start, with a new problem with unknown time constants, it is difficult to determine the appropriate number of divisions. It is suggested to make calculations by increasing the number of divisions until no correction is present.
Analyses of Memory Assistance showed that STMA was appropriate for the presented problem. A good feature of STMA is that only a small amount of additional memory was used (one set of population members). The use of LTMA-S2 was successful only in some cases of EM10 and RK5, and in all cases of RK10. The use of LTMA-S1 was not successful. In the case of a similar problem (similar precision, number of measured points, stopping criteria, used method, ND) the use of STMA can be suggested.
It must be mentioned that in the case of the presented or similar problems, three types of errors are present: (I) The error of the mathematical model, (II) The error of the calculation method and (III) The computer round-off errors [51][52][53]. We tried to reduce error (I) by properly prepared measured data, as presented in Figure 6. In the presented work, the main emphasis was on the reduction of error (II) by decreasing the time step of numerical integration to increase the degree of matching between the parameters of the physical and mathematical models.
We did not consider torsional dynamic properties, masses with torsional stiffness and damping effect, and this can be a topic for further research. However, we considered constant, linear, and square parts of the load, but this does not cover all the physical phenomena during the start of the motor.
In the future, findings about the used evolutionary methods and the use of Memory Assistance, presented in the paper, will be used to solve optimization problems in Electromagnetics and to shorten calculation times. Also, the possibilities to adopt the presented method to parameter determination of other types of motor will be investigated.

Conflicts of Interest:
The authors declare no conflict of interest.