1. Introduction
Interior permanent magnet synchronous motors (IPMSM), compared with machines of other types, have higher torque to weight ratios, higher efficiency, output power per volume and mass per volume values, which make them attractive for use in compact drives, high-efficient drives, drives with high dynamics, etc. At the same time, the high price of rare-earth metals, which are necessary for producing strong magnets, restricts the popularity of permanent magnet (PM) motors. However, over the past decade, the price of rare-earth magnets has decreased; therefore, the area usage of PM motors is widening. As a result, they attract more attention, and many researchers have investigated the control systems of these machines.
The main feature of IPMSMs is their asymmetry along direct and quadrature axes, which creates reluctance torque. At the same time, permanent magnet synchronous machines (PMSM), which have equal direct and quadrature inductance and idle load conditions, demonstrate magnetic asymmetry at load; thus, they may also produce reluctance torque. As a result, modern efficient control systems must consider these facts and utilize the reluctance torque of the PM motors by employing one of the maximum torque per ampere (MTPA) techniques.
Information on rotor position is required to control PM motors; therefore, precision and high-performance drives are equipped with position encoders, whose resolution depends on the desired dynamic and precision of control. At the same time, low-cost systems and motor drives with higher reliability have a tendency to eliminate additional parts, especially moving parts, such as speed and position encoders. Therefore, sensorless control algorithms have almost become a standard in these applications [
1,
2]. Therefore, modern control systems of PM motors, in order to be used in a variety of applications, have to be sensorless [
3] and must be able to implement MTPA techniques [
4,
5].
An analysis of the operating conditions of PM motors and their impact on the motor parameters showed that motor direct and quadrature inductances strongly depend on the motor stator current and may decrease due to steel saturation by more than 50% [
6]. At the same time, the temperature of the rotor impacts the flux linkage of magnets and may decrease it by 10% [
7]. Furthermore, magnet degradation during the lifetime of the motor may also decrease the flux linkage by 15%. As a result, it would be beneficial to develop an MTPA algorithm, which can adapt to the variations in motor parameter and provide efficient control of the motor, despite its environment.
The conventional MTPA approach involves the calculation of one of the MTPA equations—e.g., Equation (1) obtained from motor equations:
where
represents the stator current,
represents the permanent magnet flux linkage,
and
represent the d-axis and q-axis inductances, respectively, and
stands for the direct current component providing the MTPA. This approach is simple and can be easily implemented in a sensorless control systems and is discussed and studied in [
8,
9,
10,
11,
12]; however, such techniques are sensitive to the variation in motor parameter due to operating conditions. For example, the accurate knowledge of motor parameters was required in [
10], but the change in the motor inductances due to the saturation effect was not taken into account.
To solve this problem, different adaptive MTPA techniques were proposed. The authors of [
13,
14] proposed to enhance the conventional MTPA algorithm with on-line estimation techniques of motor inductances; however, these papers do not suggest a solution for the flux-linkage estimation. Furthermore, these methods need fine-tuning, and the control system has to be equipped with a high-speed processor capable of executing additional calculations at every calculation step, together with basic control routines.
The authors of [
15] proposed a method with a fast dynamic response, which uses a recursive least squares (RLS) parameters estimator to track the MTPA trajectory. However, this method calculates many square roots, which significantly load a microcontroller unit (MCU), even with optimizations; therefore, the use of this method is limited.
A group of methods described in [
16,
17] proposes several similar MTPA techniques which are based on the high-frequency signal injection and the analysis of response. These methods do not need motor parameters, but high-frequency signals cause noises and vibrations, which are undesirable in many drives.
To overcome this problem, the authors of [
18,
19,
20,
21] proposed an interesting technique called the virtual signal injection (VSI). This method detects the MTPA trajectory analytically by the injection of a virtual signal into a motor model. It does not use motor parameters and does not inject real signals into the system; therefore, undesired noise and vibrations are excluded. However, despite perfect reported results of VSI methods, we do not share the optimism of the authors. We found that these algorithms were very sensitive to the variation in stator resistance, which is not a problem in other algorithms, including the conventional one.
Another approach used for tracking the MTPA trajectory is seeking algorithms, which do not use motor parameters and can effectively operate in a changing environment. An example of this technique is described in [
22], where the authors continuously varied the phases of the stator current and tracked the minimum of the current magnitude. The main disadvantages of this idea are lower dynamics and the necessity of a position encoder.
After a detailed analysis of the pros and cons of the existing techniques, the authors found that the seeking algorithm reported in [
22] is the best candidate for developing a motor drive, provided that it can be adapted to the operation without a position encoder.
2. MTPA Seeking Algorithm
The seeking algorithm reported in [
22], which was selected for further improvements, continuously varies the phase of the stator current γ to provide the minimum stator current
for the given torque. The flowchart of this method is shown in
Figure 1. It can be clearly seen that in each calculation step, the motor phase is modified by a small disturbance angle Δγ, and the resulting value γ is checked to be inside the limits. After that, the new value of the phase of the stator current is applied, and the control system waits until the end of transient. After that, the tuning algorithm measures the average magnitude of the stator current over the calculation step and compares it to the value measured at the previous step.
If the current value obtained at the current calculation step is less than the same value from the previous step, the stator current has been rotated in the correct direction, and vice versa. If the stator current has been rotated to the incorrect direction, the sign of disturbance value Δγ is reversed, and in the next step the stator vector will be rotated in the proper direction. This process is illustrated in
Figure 2, where the current vector rotates to track the constant torque loci.
This seeking algorithm has the advantages of being insensitive to motor parameter variation and the possibility of being easily implemented in the previously developed control schemes.
At the same time, this technique demonstrates excellent results only when the rotor position is measured precisely, and may fail when a significant error appear. As can be seen from
Figure 2, the minimum current for the constant torque curve is not strongly pronounced, and the variation of the stator current angle causes only minor changes to the current magnitude. This problem is illustrated by the data in
Table 1, calculated for the test motor, the parameters of which are given in the section below. The table illustrates the increase in the magnitude of the stator current when its angle varies with the step of one degree. As can be seen, the variation in stator current is quite small and lies below one percent for a range of ±5°. Therefore, to detect the minimum stator current, it is very important to know the rotor position precisely. Unfortunately, sensorless drives contain a position error with a typical value of 5°–10°, which varies over revolution and restricts the operation of the seeking algorithm in sensorless systems. The original algorithm [
22] at the calculation step
k applies the stator current with a phase γ
k. In the next calculation step
k + 1, the algorithm applies the stator current with a phase γ
k+1, which differs from the γ
k at the fixed disturbance angle Δγ. During each calculation step, the algorithm measures (integrates) the magnitude of the stator current and then compares these magnitudes. The lower current magnitude corresponds to the phase angle being closer to the true MTPA angle. Thus, if the position error is not constant, the stator current is applied at different phase angles during each calculation step; therefore, its magnitude varies, producing incorrect measurements of the current. In order to overcome this problem and use the advantages of the seeking technique, an advanced method was proposed, which makes the operation of the seeking algorithm in sensorless drives possible.
3. Proposed Enhanced Algorithm
As mentioned earlier, the main problem with the implementation of the seeking algorithms in the sensorless systems is the absence of precision of information on the rotor position. The typical position estimation error of the back-EMF-based estimator is shown in
Figure 3. This picture demonstrates that the estimation error is significant for the seeking technique described. The proposed algorithm belongs to the perturb and observe methods, which involves modifying one parameter of the system and analyzing its response by measuring another parameter. Algorithms such as these may fail if another disturbance appears in the system and impacts the measured parameter. At the same time, our experiments showed that the average value of the position estimation error is stable and mainly depends on the variation in the relationship between the direct and quadrature inductances, while instant error depends on disturbance factors, such as cyclic mechanical load, non-sinusoidal back-emf, etc. Therefore, the previously developed seeking algorithm may operate properly if its calculation step contains an integer number of electrical revolutions. In that case, the average position error at consequent calculation steps will be the same, and the average current magnitudes may be compared. Stator resistance variation due to temperature change affects the average error value, but the seeking algorithm compensates for this error.
The number of electrical revolutions that are contained in one calculation step is denoted as
N. Then, the maximum calculation time is denoted as
. These parameters define the minimum motor speed
, where the proposed algorithm can operate. If the motor speed
n is less than the minimum speed
, the tuning algorithm must be stopped. Then, the length of the current calculation step
is defined and compared to the length of the previous calculation step
. If they are the same, the calculations at these intervals may be compared, otherwise they may not. If the consecutive calculation steps are different, the tuning algorithm calculates the squared amplitude of the stator current for the current measurement interval
and proceeds to the next step. If the length of the previous calculation step and the length of the current calculation step are the same, the tuning algorithm defines the new MTPA angle γ in the same manner as a basic algorithm, measures the squared amplitude of stator current
, and compares it to the same value from the previous iteration
. If the squared amplitude of the stator current at the current step is less, it means that the MTPA angle γ was modified in the correct direction, and the same disturbance value will be applied in the next step. If the MTPA angle γ was modified in the wrong direction, then the sign of disturbance value Δγ in the next step will be reversed. A flowchart of the proposed algorithm is shown in
Figure 4.
This algorithm is quite simple, and the most important things are the proper selection of N and , which define the errors, the dynamic response of the algorithm, and its minimum operating speed. The higher the number of electrical revolutions in the calculation step, the more reliable and stable the algorithm operates; however, at the same time, its dynamic response decreases. These parameters are suggested to be selected experimentally by monitoring the performance of the tuning algorithm.
4. Experimental Setup
The experimental motor used in the experiments is the mass production (MP) device, the parameters of which are given in
Table 2. However, these inductances strongly depend on the motor current and vary, as shown in
Figure 5.
The control system used in the experiment is the same as in MP versions described in [
23] (
Figure 6). It drives the IPM motor, using the sensorless control, which nowadays can be considered to be a standard for many appliances. This control is based on the back-EMF estimation methods discussed in [
24], which is enhanced by the initial position estimation necessary for excluding the reverse rotation while starting. The performance of the implemented estimation algorithm was verified using a quadrature encoder, which proved that the algorithm perfectly operates in the speed range over 10 Hz, with the estimation error being not more than several electrical degrees.
The inverter used for driving the motor is based on the smart power module FSAM10SH60 from “Fairchild” (10 A/600 V), which contains six IGBTs and embedded gate drivers. This drive was developed for a standard 220–240 V, 50/60 Hz supply source. The control system of the drive under test is based on a 60 MIPS Cortex-M3 microcontroller, which operates the inverter at 10 kHz PWM. This system is equipped with two current sensors and a DC-link voltage sensor, whose signals are processed by a 12-bit ADC of the microcontroller, with a sampling time of 100 μs.
The control system of the experimental drive is a conventional vector control system without the position encoder used in MP devices. It involves an outer speed loop and two inner current loops implemented in the dq reference frame, where the electrical position and speed are provided by the estimator. The experimental drive implements open-loop starting and acceleration with immediate closing and the reinitialization of the controllers.
The control system measures two phase currents and DC-link voltage, which are then transformed into phase currents and voltages, respectively. After that, the three phase values,
abc, are converted into two axis stationary reference frames αβ, using the Clarke transformation:
where
X denotes any converted value. The conversion gain of 2/3 provides equality of amplitudes in
abc and
αβ reference frames, which is easier for tuning. Then, the values are transformed into a synchronous
dq reference frame using the Park transformation:
where θ represents the angle of angular displacement.
The control system uses a field-weakening controller, which increases the maximum speed by up to +50% of the rated velocity by weakening the field of the rotor with current. The drive under test also includes an MTPA block for increasing efficiency and decreasing stator current. This MTPA block receives the stator current from the speed controller and then converts it into direct and quadrature components.
The only difference between the experimental and the conventional systems is the presence of the MTPA tuning block with the proposed algorithm, which outputs the MTPA angle of the decomposition of the commanded stator current. These changes, including additional block and corresponding connections, are shown in red in
Figure 6.