Variable Incremental Controller of Permanent-Magnet Synchronous Motor for Voltage-Based Flux-Weakening Control

: This study presents a variable incremental controller for ﬂux-weakening control in the high-speed operation area of a permanent-magnetic synchronous motor (PMSM). In general, voltage-based ﬂux-weakening control utilizes a reference voltage and a PI controller to generate a ﬂux component current. In this paper, the voltage-based ﬂux-weakening control is performed using the variable incremental controller instead of the PI controller. The variable incremental controller can control the ﬂux component current using only the maximum speed and maximum current of the motor. A method for properly setting an appropriate variable incremental controller using acceleration is additionally presented. A variable incremental controller is applied and, accordingly, the overshoot of the motor speed can be reduced and the speed error of the motor can be minimized by reducing the difference between the actual motor and targeted accelerations. This method can simplify the design of a controller that utilizes ﬂux-weakening control and can be applied to railroad cars whose acceleration does not alter frequently to increase the effect of motor control.


Introduction
To minimize environmental pollution caused by the utilization of fossil fuels, various policies are being established to efficiently produce and consume energy, such as lowcarbon and green energy use [1,2]. In particular, recently, to address the environmental pollution challenge of machinery propelled using fossil fuels, such as automobiles, railways, and ships, such machinery has been replaced by electric motors [3][4][5][6][7].
Various motors are utilized in propulsion systems depending on their purpose or capacity, such as induction motors (IMs), synchronous motors (SMs), and brushless DC motors (BLDCs). Recently, various studies have been conducted using permanent-magnet synchronous motors (PMSMs), which have the advantages of high efficiency, high power density, and high reliability compared to other motors [8][9][10][11][12].
Various electric motors utilized in propulsion systems must have high-speed operation capabilities that exceed the rated speed when necessary [13,14]. Regarding PMSMs, high-speed operation is enabled using flux-weakening control, which reduces the effective magnetic flux size in the air gap, by generating a magnetic flux in the direction opposite to the magnetic flux direction [15][16][17]. Various studies on flux-weakening control have been conducted for the high-speed operation of motors. Initially, a method for reducing the magnetic flux component current in inverse proportion to the rotor speed was employed [18]; however, this method has a disadvantage, in that it is difficult to sufficiently utilize the voltage required for vector control, and the vector control is not accurate; thus, the efficiency of the motor drive may be reduced.
To address these limitations and perform accurate motor speed control, an optimal current control method with voltage-and current-limiting conditions has been proposed [19,20]. In this method, the magnitude of maximum voltage that can be applied to the motor, and the magnitude of maximum current that can flow through the motor are expressed in a current limit circle and voltage limit circle. By determining the most appropriate current point to drive the motor to control speed, the user can obtain a sufficient output torque capability of the motor. In addition, a method of conducting various experiments on the motor and creating the characteristics of the lookup table to control the motor is utilized [21][22][23]. However, this method has limitations, in that accurate information on the parameters is necessary because it is sensitive to changes in the motor parameters, and the control design is complicated because the variation characteristics of the motor must be considered. To address these challenges, various control methods using voltage feedback that are less affected by motor parameters have been studied [24,25]. Among them, voltage-based flux-weakening control for controlling magnetic flux has been studied [26,27]. In this method, control to weaken the magnetic flux is performed using the magnitude of the voltage applied to the motor. This method has the advantage of being robust against change factors because it does not adopt motor parameters. However, because feedback is formed between the reference voltage and voltage applied to the motor, a controller capable of minimizing error values is required [28][29][30].
Accordingly, in this study, a variable incremental controller is applied instead of the PI controller generally used for voltage-based flux-weakening control. The variable incremental controller has a different structure from the general PI controller. The variable incremental controller can control the flux component current using only the maximum speed and maximum current of the motor. In addition, this study presents a method for tuning an appropriate constant using the parameters and acceleration of the motor, rather than a fixed constant when using an incremental controller. As a result of applying a variable incremental controller to the voltage-based flux-weakening control, the overshoot of the motor speed can be reduced compared to the general method, and the speed error of the motor can be minimized by reducing the difference between the actual motor and targeted accelerations. This paper is organized as follows. Section 2 describes the algorithm for the basic voltage-based flux-weakening control in detail. In addition, Section 2 describes an algorithm that applies a variable incremental controller to the voltage-based flux-weakening control. Section 3 describes the method for designing the fluctuation constant employed in the variable incremental controller and analyzes the effect through simulations. In Section 4, an experiment is conducted to verify the effectiveness of the variable incremental controller, and the results are analyzed. Finally, Section 5 concludes the paper.

Application of Voltage-Based Flux-Weakening Control Using a PI Controller
In recent times, vector control has mainly been utilized to control electric motors. Vector control is a method employed to alter the three-phase voltage and current that changes over time into time-invariant voltage and current components, to control each component and enable precise speed control as instantaneous control of the motor speed. Figure 1 illustrates a block diagram of a typical vector control utilized in synchronous motors with the voltage-based flux-weakening control method. Vector control measures the three-phase current flowing into the synchronous motor and converts it into d-axis (magnetic flux) current and q-axis (torque) current components using the DQ transform. The current components converted as such create an error between the d-axis and q-axis current references necessary for the synchronous motor to reach the targeted speed, and also control the torque of the synchronous motor by creating a voltage-manipulated variable through the PI controller. In the area where the motor operates at high speeds, the performance of the motor varies depending on the algorithm applied to the flux-weakening control block. also control the torque of the synchronous motor by creating a voltage-manipulated variable through the PI controller. In the area where the motor operates at high speeds, the performance of the motor varies depending on the algorithm applied to the flux-weakening control block. In this study, a voltage-based flux-weakening control and method are applied to maximize the magnitude of voltage applied to the motor without being affected by the motor parameters. When this method is applied, the voltage can be controlled even in a certain overmodulation area through voltage feedback. However, the design is complicated as the PI controller needs to be designed using various motor parameters [29]. Accordingly, in this paper, an incremental controller is used instead of a general PI controller to simplify the design of a controller that utilizes flux-weakening control.

Voltage-Based Flux-Weakening Control Using Variable Incremental Controller
In this study, flux-weakening control is performed through the voltage feedback structure, as illustrated in Figure 1, and an incremental controller is utilized to control the voltage-type controlled variable with the reference ( * ) of the current component [28].
As illustrated in Figure 2, the target amount, controlled variable, sensed voltage, and current values adopted in voltage and current controllers are generally converted into units of p.u. based on the magnitudes of the maximum voltage, current, and speed. Because the maximum controlled variable between the voltage and current values is the same, a current reference can be generated through voltage feedback, using an incremental controller. The incremental controller used as shown in Figure 2 is based on the algorithm of voltage-based flux-weakening control. Accordingly, even if the incremental controller is used, the range of flux-weakening region is the same as that of the voltage-feedback-based flux-weakening control. The algorithm of the variable incremental controller can be examined in detail as follows: In this study, a voltage-based flux-weakening control and method are applied to maximize the magnitude of voltage applied to the motor without being affected by the motor parameters. When this method is applied, the voltage can be controlled even in a certain overmodulation area through voltage feedback. However, the design is complicated as the PI controller needs to be designed using various motor parameters [29]. Accordingly, in this paper, an incremental controller is used instead of a general PI controller to simplify the design of a controller that utilizes flux-weakening control.

Voltage-Based Flux-Weakening Control Using Variable Incremental Controller
In this study, flux-weakening control is performed through the voltage feedback structure, as illustrated in Figure 1, and an incremental controller is utilized to control the voltage-type controlled variable with the reference (i * ds ) of the current component [28]. As illustrated in Figure 2, the target amount, controlled variable, sensed voltage, and current values adopted in voltage and current controllers are generally converted into units of p.u. based on the magnitudes of the maximum voltage, current, and speed. Because the maximum controlled variable between the voltage and current values is the same, a current reference can be generated through voltage feedback, using an incremental controller. The incremental controller used as shown in Figure 2 is based on the algorithm of voltage-based flux-weakening control. Accordingly, even if the incremental controller is used, the range of flux-weakening region is the same as that of the voltage-feedback-based flux-weakening control. The algorithm of the variable incremental controller can be examined in detail as follows:   Figure 3 illustrates the algorithm flow chart of proposed variable incremental controller. Before driving the motor, the incremental constant (∆ * ) is calculated using the motor's acceleration, maximum current, and maximum speed. ∆ * is calculated only when the acceleration changes. Unlike the PI controller, the variable incremental controller performs control using ∆ * . The incremental controller comprises two stages. It determines whether _ is positive or negative when compared to zero, and can alter the current reference by adding or subtracting an incremental constant (∆ * ). The calculation formula for _ is expressed in Equation (1) below: According to Equation (1), _ is the difference between the magnitudes of the reference voltage ( * ) and calculated voltage ( ). A case where _ is greater than zero indicates a case where the reference voltage is greater than the calculated voltage, and may be considered to indicate that the voltage has not reached the maximum voltage. In this case, an incremental constant ( * ) should be added to the current reference ( * ) to increase the magnetic flux component current. An important point is that * cannot have a value greater than 0, because the current of the magnetic flux component in a synchronous motor must always exist solely at a negative magnitude.  Figure 3 illustrates the algorithm flow chart of proposed variable incremental controller. Before driving the motor, the incremental constant (∆i * ds ) is calculated using the motor's acceleration, maximum current, and maximum speed. ∆i * ds is calculated only when the acceleration changes.  Figure 3 illustrates the algorithm flow chart of proposed variable incremental controller. Before driving the motor, the incremental constant (∆ * ) is calculated using the motor's acceleration, maximum current, and maximum speed. ∆ * is calculated only when the acceleration changes. Unlike the PI controller, the variable incremental controller performs control using ∆ * . The incremental controller comprises two stages. It determines whether _ is positive or negative when compared to zero, and can alter the current reference by adding or subtracting an incremental constant (∆ * ). The calculation formula for _ is expressed in Equation (1) below: According to Equation (1), _ is the difference between the magnitudes of the reference voltage ( * ) and calculated voltage ( ). A case where _ is greater than zero indicates a case where the reference voltage is greater than the calculated voltage, and may be considered to indicate that the voltage has not reached the maximum voltage. In this case, an incremental constant ( * ) should be added to the current reference ( * ) to increase the magnetic flux component current. An important point is that * cannot have a value greater than 0, because the current of the magnetic flux component in a synchronous motor must always exist solely at a negative magnitude. Unlike the PI controller, the variable incremental controller performs control using ∆i * ds . The incremental controller comprises two stages. It determines whether V s_error is positive or negative when compared to zero, and can alter the current reference by adding or subtracting an incremental constant (∆i * ds ). The calculation formula for V s_error is expressed in Equation (1) below: According to Equation (1), V s_error is the difference between the magnitudes of the reference voltage (V * s ) and calculated voltage (V cs ). A case where V s_error is greater than zero indicates a case where the reference voltage is greater than the calculated voltage, and may be considered to indicate that the voltage has not reached the maximum voltage. In this case, an incremental constant (i * ds ) should be added to the current reference (i * ds ) to increase the magnetic flux component current. An important point is that i * ds cannot have a value greater than 0, because the current of the magnetic flux component in a synchronous motor must always exist solely at a negative magnitude.
A case where V s_error is smaller than 0 indicates that the reference voltage is smaller than the calculated voltage, and it can be considered that the voltage exceeds the maximum voltage. Therefore, the d-axis reference current (i * ds ) should be reduced by an incremental constant (∆i * ds ) to reduce the current of the magnetic flux component. An important point here is that i * ds must be greater than −1 p.u. owing to the current limit circle, as the current of the magnetic flux component in the synchronous motor is normalized into units of p.u.
In the case of an incremental controller, the selection of the magnitude of ∆i * ds is most important, as the performance of the controller is dependent on this magnitude. If voltagefeedback-based flux-weakening control is performed using an inappropriate magnitude of ∆i * ds , various issues may arise.
In the case where the magnitude of ∆i * ds is small, i * ds cannot maintain the command speed change rate; thus, the speed control response is reduced. In addition, because i * ds cannot keep up with the command speed change rate, overshoot may occur in the speed change, thereby deteriorating the stability of speed control.
In the case where the speed is controlled in the weak magnetic flux region when the magnitude of ∆i * ds has been set to large, great current ripples may occur because the value of ∆i * ds is large. This becomes a cause that can lead to oscillations in the target speed. Accordingly, the setting of an appropriate ∆i * ds is the most important factor in designing a voltage feedback control, and this study proposes a method that can set the ∆i * ds .

Derivation of ∆i * ds
To use the variable incremental controller, it is necessary to perform flux-weakening control with an optimal ∆i * ds value according to the conditions, rather than a fixed value. As examined above, ∆i * ds of the incremental controller must have a magnitude that produces as much change as acceleration. The formula for calculating ∆i * ds that must be considered for the design of the variable incremental controller is as follows: where: i * ds_b_max (p.u.)-Normalized maximum d-axis current; S m (rpm)-Maximum motor speed; S f w (rpm)-Flux-weakening start speed; α m (Hz)-Motor acceleration; f V s (Hz)-Calculation period.
i * ds_b_max means the normalized maximum magnitude of the current component injected when flux-weakening control of the motor is carried out and has the same meaning as the magnitude of the maximum current of the magnetic flux component. If the maximum current that can be supplied to the motor to be used is set to i * ds_max , and normalized into i b , and the magnitude of the normalized current is limited to 1/2 to prevent burnout of the motor that occurs as the current used for flux-weakening control increases, the magnitude can be calculated as follows: S m means the maximum speed set when the high-speed operation algorithm for the motor was designed. S m can be set to a value within the maximum speed that can be achieved while using the flux-weakening control.
S f w means the speed at which i ds begins to have a negative (−) value and means the speed at which the flux-weakening control begins. It also means the speed at which V s Energies 2022, 15, 5733 6 of 15 begins to become larger than V * s . Using SPMSM's current limit circle and maximum volta ge current circle, S f w can be set as follows: To use the ∆i * ds , the graph as illustrated in Figure 4 should be considered. Assuming that the time periods required to reach S m and i * ds_max according to the acceleration (α m ) and amount of change ∆i * ds of i * ds , respectively, are the same, then the value of i * qs will not increase, such that the time for the motor to reach the speed can be reduced, overshoot can be reduced, and the ripple value in the steady state can be minimized. Accordingly, as illustrated in Figure 4, because the time ∆t between t 0 and t 1 can be obtained by dividing the speed difference between t 0 and t 1 by acceleration (α m ), it can be expressed as Equation (5). begins to become larger than * . Using SPMSM's current limit circle and maximum volta ge current circle, can be set as follows: To use the ∆ * , the graph as illustrated in Figure 4 should be considered. Assuming that the time periods required to reach and _ * according to the acceleration ( ) and amount of change ∆ * of * , respectively, are the same, then the value of * will not increase, such that the time for the motor to reach the speed can be reduced, overshoot can be reduced, and the ripple value in the steady state can be minimized. Accordingly, as illustrated in Figure 4, because the time ∆ between and can be obtained by dividing the speed difference between and by acceleration ( ), it can be expressed as Equation (5). ) as an unknown number, as expressed in Equation (6) below.
denotes the amount of change in * per second and ∆ * * denotes the amount of change per second in the calculated frequency ( ). The expression can finally be expanded for ∆ * considering as follows: Because the time to reach S m according to the acceleration (α m ) should be the same as the time to reach i * ds_max according to the amount of change per second (∆i * ds_s ) in i * ds , an equation can be established by assuming (∆i * ds_s ) as an unknown number, as expressed in Equation (6) below.
∆i * ds_s denotes the amount of change in i * ds per second and ∆i * ds * denotes the amount of change per second in the calculated frequency ( f V s ). The expression can finally be expanded for ∆i * ds considering f V s as follows: Energies 2022, 15, 5733 7 of 15

Simulation of Voltage-Feedback-Based Flux-Weakening Control Applied with the Proposed Variable Incremental Controller
Simulations were conducted to verify the performance of the variable incremental controller according to the change in acceleration and ∆i * ds , as well as to compare and analyze the results. The motor utilized in the simulation was the SPMSM model, and its parameters were set as follows.
The magnitudes of ∆i * ds calculated with parameters of the motor in Table 1 and the constant ∆i * ds of the variable incremental controller were calculated, and the acceleration of the motor is presented in Table 2.  Figure 5 illustrates various graphs when the command speed is 7500 rpm and ∆i * ds is 5.34 × 10 −5 . From Figure 5a, which is the speed graph of the motor, it can be observed that the time to reach the target command speed varies according to ∆i * ds *. When ∆i * ds is 5.34 × 10 −5 , it can be observed that the slope of the speed increment becomes smaller from the point where the flux-weakening control begins. As aforementioned, this is the result of the inability of the magnitude of ∆i * ds to keep up with the speed change. Therefore, from Figure 5d, it can be observed that the magnitude of i * qs is increased after the flux-weakening control to reach the command speed. However, from the command speed when 2.672 × 10 is adopted as ∆ * , Figure 6a shows that there is no change in the slope of the amount of change in speed even after the flux-weakening control area. Accordingly, it can be observed that the command speed is reaches faster than when 5.34 × 10 is adopted as ∆ * .
However, regarding * , after reaching the target command speed in Figure 6c, it can be observed that the magnitude of the ripple of * is higher than the magnitude of the ripple when 5.34 × 10 is adopted as ∆ * . That is, it can be observed that as ∆ * increases, the speed overshoot until reaching the command speed decreases, but the current ripple after reaching the command speed increases.
Observing the command speed when 1.068 × 10 is adopted as the ∆ * obtained through the optimal calculation method for ∆ * , Figure 7a shows that there is no change in the slope of the amount of change in speed even after the flux-weakening control area. In addition, regarding * , after the target command speed is reached in Figure  7c, it can be observed that the magnitude of the ripple of * is lower than when 2.672 × 10 is adopted as ∆ * .
In other words, if voltage-based flux-weakening control is employed for the proposed variable incremental controller, the speed ripple can be minimized while reducing the overshoot of the speed to a minimum, using only the minimum ∆ * required until the command speed is reached. Representatively, the result when the command speed is 2000 rpm is summarized in Table 3. However, from the command speed when 2.672 × 10 −4 is adopted as ∆i * ds , Figure 6a shows that there is no change in the slope of the amount of change in speed even after the flux-weakening control area. Accordingly, it can be observed that the command speed is reaches faster than when 5.34 × 10 −5 is adopted as ∆i * ds . However, regarding i * ds , after reaching the target command speed in Figure 6c, it can be observed that the magnitude of the ripple of i * ds is higher than the magnitude of the ripple when 5.34 × 10 −5 is adopted as ∆i * ds . That is, it can be observed that as ∆i * ds increases, the speed overshoot until reaching the command speed decreases, but the current ripple after reaching the command speed increases.
Observing the command speed when 1.068 × 10 −4 is adopted as the ∆i * ds obtained through the optimal calculation method for ∆i * ds , Figure 7a shows that there is no change in the slope of the amount of change in speed even after the flux-weakening control area. In addition, regarding i * ds , after the target command speed is reached in Figure 7c, it can be observed that the magnitude of the ripple of i * ds is lower than when 2.672 × 10 −4 is adopted as ∆i * ds .
In other words, if voltage-based flux-weakening control is employed for the proposed variable incremental controller, the speed ripple can be minimized while reducing the overshoot of the speed to a minimum, using only the minimum ∆i * ds required until the command speed is reached. Representatively, the result when the command speed is 2000 rpm is summarized in Table 3.     Figure 8 shows various waveforms when the flux-weakening control is performed using the PI controller, as shown in Figure 1, and when the flux-weakening control is performed with the proposed method as shown in Figure 2. Figure 8a shows various waveforms until the motor speed reaches the target speed of 7500 rpm. As a result, the proposed variable incremental controller can confirm the performance similar to that when using the PI controller. Figure 8b shows various waveforms when the load of the motor is changed in a situation where the speed of the motor is 7500 rpm. With the PI controller, it can be seen that the d-axis current is controlled in a curved shape. When the proposed flow incremental controller is used, it can be seen that the d-axis current is controlled in a straight shape. However, it has been confirmed that the speed and torque waveforms have almost the same shape, and it can be judged that the proposed variable incremental controller can perform flux-weakening control as with using the PI controller.   Figure 8 shows various waveforms when the flux-weakening control is performed using the PI controller, as shown in Figure 1, and when the flux-weakening control is performed with the proposed method as shown in Figure 2. Figure 8a shows various waveforms until the motor speed reaches the target speed of 7500 rpm. As a result, the proposed variable incremental controller can confirm the performance similar to that when using the PI controller. Figure 8b shows various waveforms when the load of the motor is changed in a situation where the speed of the motor is 7500 rpm. With the PI controller, it can be seen that the d-axis current is controlled in a curved shape. When the proposed flow incremental controller is used, it can be seen that the d-axis current is controlled in a straight shape. However, it has been confirmed that the speed and torque waveforms have almost the same shape, and it can be judged that the proposed variable incremental controller can perform flux-weakening control as with using the PI controller.

Experiment and Analysis
Experiments were conducted to demonstrate the practical effects of the incremental variable controller employed in the simulation. The parameters of the motor adopted in the experiment were the same as those adopted in the simulation ( Table 1). The PMSM used was Texas Instruments' HVPMSMMTR model, and the motor drive inverter module used the TMDSHVMTRINSPIN model. The equipment was configured as shown in Figure 9 and the experiment was conducted. The parameters of Inverter, Controller, and Motor used in the experiment were all the same as the constants shown in Table 1. All data of the experiment were measured by computer through SCI communication. To prove the effectiveness of the variable incremental controller in-depth, various experiments were conducted using acceleration. The magnitudes of ∆i * ds adopted by acceleration were set as presented in Table 2 when the experiments were conducted.
Energies 2022, 15, x FOR PEER REVIEW

Experiment and Analysis
Experiments were conducted to demonstrate the practical effects of the inc variable controller employed in the simulation. The parameters of the motor ad the experiment were the same as those adopted in the simulation (Table 1). Th used was Texas Instruments' HVPMSMMTR model, and the motor drive inverte used the TMDSHVMTRINSPIN model. The equipment was configured as show ure 9 and the experiment was conducted. The parameters of Inverter, Controller, tor used in the experiment were all the same as the constants shown in Table 1 of the experiment were measured by computer through SCI communication. To p effectiveness of the variable incremental controller in-depth, various experime conducted using acceleration. The magnitudes of ∆ * adopted by acceleration as presented in Table 2 when the experiments were conducted.  Figure 10 illustrates various graphs when the command speed is 7500 rpm is 5.34 × 10 . From Figure 10a, which is the speed graph of the motor, it can be that the speed gradient decreases at the beginning of the flux-weakening contr time to reach the target command speed according to the acceleration. Except w acceleration is 1000 rpmps, it can be observed that the speed gradient is not cons accelerations. In addition, from Figure 10b, it can be observed that speed oversho in all acceleration areas, and the value of the speed increases up to 7856 rpm. T an overshoot that is approximately 4.74% higher than the command speed 7500 curs. From Figure 10d, because the maximum value of * is measured to be a p.u., a great change in * is measured following the setting of a low ∆ * . Tha in actual experiments, the use of low ∆ * results in high overshoots and si changes in * .  Figure 10 illustrates various graphs when the command speed is 7500 rpm and ∆i * ds is 5.34 × 10 −5 . From Figure 10a, which is the speed graph of the motor, it can be observed that the speed gradient decreases at the beginning of the flux-weakening control, in the time to reach the target command speed according to the acceleration. Except when the acceleration is 1000 rpmps, it can be observed that the speed gradient is not constant at all accelerations. In addition, from Figure 10b, it can be observed that speed overshoots occur in all acceleration areas, and the value of the speed increases up to 7856 rpm. Therefore, an overshoot that is approximately 4.74% higher than the command speed 7500 rpm occurs. From Figure 10d, because the maximum value of i * qs is measured to be about 0.31 p.u., a great change in i * qs is measured following the setting of a low ∆i * ds . That is, even in actual experiments, the use of low ∆i * ds results in high overshoots and significant changes in i * qs . Figure 10 illustrates various graphs when the command speed is 7500 rpm and ∆i * ds is 1.068 × 10 −4 . From Figure 11a, which is the speed graph of the motor, it can be observed that the times required to reach the target command speed according to the acceleration are minimum. This can be observed because of the fact that the magnitude of ∆i * ds is sufficient to follow the speed command in time. Therefore, from Figure 11b, it can be observed that the overshoot of the speed is minimized in all acceleration areas, and the value of the speed increases up to 7530 rpm. Therefore, an overshoot of approximately 0.4% higher than the command speed 7500 rpm occurs, so the overshoot decreases compared to when ∆i * ds is set to 5.34 × 10 −5 .  Figure 10 illustrates various graphs when the command speed is 7500 rpm and ∆ * is 1.068 × 10 . From Figure 11a, which is the speed graph of the motor, it can be observed that the times required to reach the target command speed according to the acceleration are minimum. This can be observed because of the fact that the magnitude of ∆ * is sufficient to follow the speed command in time. Therefore, from Figure 11b, it can be observed that the overshoot of the speed is minimized in all acceleration areas, and the value of the speed increases up to 7530 rpm. Therefore, an overshoot of approximately 0.4% higher than the command speed 7500 rpm occurs, so the overshoot decreases compared to when ∆ * is set to 5.34 × 10 .
As illustrated in Figure 11d, as the maximum value of * is measured to be approximately 0.03 p.u., an ideal result without any change in * is indicated; however, as illustrated in Figure 11c, the maximum ripple of * is approximately 0.037 p.u., which is larger than when 5.34 × 10 is adopted as ∆ * . Figure 11 illustrates the resulting graphs when the command speed is 7500 rpm, and the values of ∆ * calculated as the optimal values according to the acceleration are used. From Figure 12a, which is the speed graph of the motor, it can be observed that the times to reach the target command speed according to the acceleration are minimum. This can be observed because the magnitude of ∆ * is not sufficient to follow the speed command in time. Therefore, from Figure 12b, it can be observed that the overshoots of the speed are minimized in all acceleration areas, and the value of the speed that increases up to 7537 rpm is measured. Therefore, an overshoot of approximately 0.49% higher than the command speed 7500 rpm occurs so that the overshoot decreases, compared to when ∆ * is set to 5.34 × 10 . As illustrated in Figure 11d, as the maximum value of i * qs is measured to be approximately 0.03 p.u., an ideal result without any change in i * qs is indicated; however, as illustrated in Figure 11c, the maximum ripple of i * ds is approximately 0.037 p.u., which is larger than when 5.34 × 10 −5 is adopted as ∆i * ds . Figure 11 illustrates the resulting graphs when the command speed is 7500 rpm, and the values of ∆i * ds calculated as the optimal values according to the acceleration are used. From Figure 12a, which is the speed graph of the motor, it can be observed that the times to reach the target command speed according to the acceleration are minimum. This can be observed because the magnitude of ∆i * ds is not sufficient to follow the speed command in time. Therefore, from Figure 12b, it can be observed that the overshoots of the speed are minimized in all acceleration areas, and the value of the speed that increases up to 7537 rpm is measured. Therefore, an overshoot of approximately 0.49% higher than the command speed 7500 rpm occurs so that the overshoot decreases, compared to when ∆i * ds is set to 5.34 × 10 −5 .
As illustrated in Figure 12d, as the maximum value of i * qs is measured to be approximately 0.039 p.u., the change in i * qs is significantly reduced compared to when 5.34 × 10 −5 is adopted as ∆i * ds . Therefore, as illustrated in Figure 10c, the maximum ripple of i * ds is approximately 0.028 p.u., which is smaller than when 1.068 × 10 −4 is used as ∆i * ds . In other words, when voltage-based flux-weakening control is employed for the proposed variable incremental controller, the speed and current ripples can be minimized while reducing the overshoot of the speed to a minimum, using only the minimum ∆i * ds required until the command speed is reached, which could be experimentally verified.

Conclusions
This study presents a variable incremental controller for flux-weakening control in the high-speed operation area of a permanent-magnetic synchronous motor instead of the PI controller. The variable incremental controller can control the flux component current using only the maximum speed and maximum current of the motor. A measure to minimize the feedback errors by applying the incremental controller to the voltage-based flux-weakening control was adopted. A method to calculate the appropriate constants adopting the speed, current, and acceleration of the motor instead of a fixed constant when utilizing the incremental controller was presented.
Simulations and demonstration experiments were conducted to verify the superiority of the variable incremental controller. It was proven through various experiments that the variable incremental controller was able to reduce the speed overshoot by approximately 4% by tuning the ∆i * ds . In addition, a tuned variable incremental controller was able to reduce the steady-state current ripples by approximately 24%. The variable incremental voltage-based flux-weakening control can be used for motor control using voltage feedback. This method can simplify the design of a controller that utilizes flux-weakening control. To increase the efficiency of motor control, it can be applied to railway vehicles with less frequent changes in acceleration than automobiles with frequent changes in acceleration.