Sensorless Saliency-Based Control of Dual Induction Machines Under Dynamic Load Imbalances Using Three Current Sensors

To perform vector control of single-inverter dual induction motors, drives are standardly equipped with current and position sensors. In medium-power railway applications, a shaft encoder is usually mounted on each motor, and the inverter output current is measured using two current sensors. Yet, this configuration features some disadvantages. First, torque-sharing cannot be computed because stator current of each motor is unknown. Similarly, saliency extraction of each motor is not achievable since individual current drawn by each motor is not measured. An option that achieves torque-sharing calculation is to attach two current sensors to each motor, provided that both rotor positions are known. However, industrial inverter/control platforms considered offer a maximum of three input channels for current sensors. Besides, some industry fields tend towards encoderless speed control. Therefore, this article proposes to use three current sensors in total and no shaft encoders. Thanks to a special current sensor arrangement and a voltage step excitation method, saliency-based encoderless control is achieved. In addition, a method is presented to estimate torque-sharing. Experimental measurements, taken on a dual induction motor test bench, will show the capability of the proposed methodology to identify individual loading as well as excellent encoderless control performance.

size, and decreased maintenance needs. If both induction motors and their speeds were identical, the parallel condition would result in identical torque levels in each machine. However, this does not occur in railway applications due to some factors, such as unequal wheel diameter, driving in a curve, or sudden wheel slipping [1]. In addition, motor parameters may differ to some extent. In this sense, motors operate typically under unequal load. Unawareness of torque-sharing and machine speed may lead to instabilities and decreased drive performance [2]. Therefore, accurate acquisition of torque-sharing and machine speed may be crucial to ensure stable operation under heavy load imbalances. Yet, the ability of the control structure to calculate flux and torque-sharing depends on the selected sensor configuration, regarding both current and position sensors.
It is possible to attach two current sensors in total at two inverter output phases, and attach a position sensor to each motor. This configuration is widespread in medium-power railway applications. Vector control strategies, such as field oriented control (FOC) or direct torque control that use this sensor configuration often assume a symmetrical distribution of torque and flux since only sum current of both motors is available. Consequently, torque-sharing is not identifiable, which can worsen drive performance [2].
By attaching two current sensors at two phases of each machine and having a position signal of each machine, flux, and torque-sharing can be identified. This information has been used in literature to increase drive robustness and stability by adjusting the flux magnitude in case of load imbalances [2], [3], [4].
Alternatively, this article proposes to use three current sensors as in [15] (two attached to the first motor "M1" and one to the second "M2"). A method will be presented to calculate the flux and torque of each motor despite the reduced amount of current sensors in the drive.
In addition, this article will calculate the rotor position without the need of any position sensor, with special focus to the proximity to zero frequency. In this speed region, fundamental-wave models and observers become unstable due to parameter uncertainty and inverter nonlinearities. Such models have been deeply investigated in the context of encoderless dual motor drives [5], [6], [7]. However, saliency extraction can provide meaningful information in the very low speed region [12], using either high frequency injection [8], [9], [10] or voltage step excitation [11], [12], [13], [14], [15], [16].
In this article, rotor-slotting saliency (also named slotting saliency in this article) will be extracted for encoderless control using voltage step excitation. Voltage steps are applied through inverter switching in order to calculate the resulting phase current slopes. Since saliencies are reflected at the transient leakage inductance, calculated current slopes contain the desired information about the saliencies. Two different signal processing methods are used, since the current sensors are not symmetrically arranged (two in first motor and one in the second). Besides, since both machines exhibit multiple saliencies, feedforward saliency compensation is used [11]. Each noncontrol-saliency signal is identified for some torque and flux levels and stored in a look-up table (LUT) that is accessed during online operation. The result is a rotor-slotting saliency signal for each machine that is transformed into a rotor position given the rotor slot number.
The proposed torque-sharing calculation method and rotor slotting extraction method are implemented on a single-inverter dual 11 kW motor test stand using the proposed three current sensor arrangement and the voltage step excitation of [15]. To extract rotor-slotting saliency, a feedforward compensation method is used, which requires flux and torque of both M1 and M2. Besides, a new technique to compute individual torque and flux level is presented. Experimental results show accurate torque and flux calculation under dynamic operation as well as excellent rotor position acquisition based on the rotor-slotting saliency of both motors at unbalanced dynamic load operation.

II. CONTROL OF DUAL INDUCTION MOTOR DRIVES
In dual induction motor drives, two induction machines are connected in parallel and supplied by a single inverter. It is a common practice in several industry applications such as traction drives for rolling stocks. Dual motor drives present less weight, volume and cost compared to the standard drive where one inverter feeds a single motor.

A. Vector Control
For applications where high-performance dynamic operation is required, vector control is often used. One of the most used vector control methods is called FOC and relies on decoupled current control in a coordinate system that is fixed to the rotor flux angle. The x-axis points in the direction of the rotor flux angle and the y-axis is 90°shifted. The motor model involved in FOC is usually the so-called inverse-Γ motor model. It is shown in Fig. 1.
Where R S is stator resistance, i S stator current, U S stator voltage, L σ leakage inductance, L µ magnetizing inductance, and R R rotor resistance. Ψ denotes flux.
The rotor flux equation becomes as in (1) when rotor-fixed coordinates are used As seen in (1), rotor flux can be calculated from the stator currents and rotor position. By controlling the x and y current components, rotor flux ψ R and torque T can be indirectly controlled as In this article, rotor flux and torque are estimated using (1)-(3) for each motor individually to allow estimation of torquesharing. The flux and torque current components (x-y) of each motor are averaged and used for the common FOC.

B. Typical Current Sensor Configurations
The simplest and most economical current sensor configuration, in the field of dual motors, relies on two current sensors placed at two inverter output phases. They measure the sum current since motors are switched in parallel. Therefore, this configuration assumes that both motors are equal and does not allow torque-sharing calculation. Having information on the torque-sharing can improve drive stability and performance [1], [2], [3], [4]. Xu et al. [1], [3] utilize a weighing factor to relieve torque difference. Xu et al. [2] utilizes a weighting factor to shift the control towards most-loaded motor in order to improve dynamic response. Bouscayrol et al. [4] employs a weighting factor to improve speed performance under load imbalances.

C. Proposed Current Sensor Configuration
In this article, a configuration consisting of three current sensors is proposed [18]. As shown in Fig. 2, sensors 1 and 2 measure phase currents A and B of M1 (depicted in red) and sensor 3 measures phase current C of M2 (depicted in blue).
Note that, in Fig. 2, each motor is represented by a simplified transient model, characterized by three parameters. This model will be used later for pulse excitation. R S is the stator resistance, L is the transient leakage inductance, and E back EMF induced by fundamental-wave currents. The three motor phases are indexed with letter ABC. Within the inverter, the eight switching states for a two-level three-phase inverter are represented in three-bit notation.

A. Motor M1
Considering the sensor arrangement of Fig. 2 and assuming a balanced three-phase system, the stator current phasor of M1 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply. can be calculated as usual by means of sensor_1 and sensor_2. Phase C current i C,M 1 and the stator current phasorī S,M 1 can be calculated as in (4), (5), a being e j2π/3

B. Motor M2
In this motor, only phase C current is measured. This article presents a signal processing that obtains the stator current phasor of M2 with the given reduced amount of sensors. As sensor_3 is available, and considering (4), a factor that links both stator currents is derived.
Sinusoidal current is assumed, leading to where I is the sinusoid amplitude, w e electrical frequency, and δ phase shift. Assuming unbalanced load or nonidentical parallel motors, (8)-(10) hold true Due to the parallel connection, the electrical speed of both currents is equal and the factork can be defined as a polar variablē Oncek is acquired, sinceī S,M 1 is known,ī S,M 2 can be calculated asī

C. Block Diagram
This section describes the method used for calculatingk. The block diagram of the calculation is shown in Fig. 3, together with the average FOC control scheme and encoderless rotor angle extraction. A phase-locked loop (PLL) is used for calculating and filtering the electrical speed, as well as for calculating the electrical wave period (equal for both motors). The PLL receives the angle of the stator current phasor of M1 (θ e ) as this phasor can be straightforward calculated using (4) and (5). The block diagram of the PLL is shown in Fig. 4. PD denotes phase detector, which is implemented as sin(θ e −θ e ).
Since the critical speed range for encoderless control is around standstill, up to a few Hz, k p and k i are chosen to produce a time constant of 50 ms for a 0→5 Hz frequency step.
To calculate the phase shift difference of (11), in contrast to the PLL of [18], a zero crossing detector is implemented for each motor, which requires less computational resources. Note that, for the calculation ofk, only angle difference is required, and not the individual phase shifts. The calculation is carried out using the number of samples per period of the estimated speed and the samples passed between the zero crossings.
The amplitude of the C current wave is calculated by estimating its maximum and minimum. Afterk is estimated, the current phasor of each motor is sent to the motor flux and torque estimator based in (1)-(3). At electrical standstill, torque-sharing can be calculated using mechanical speed difference of both motors. However, this falls outside the topic of this article. In this article, it is preferable to shift control from average FOC towards FOC of M1 (where two current sensors are available) during electrical standstill.
As stated in (1)-(3), the rotor position is needed for flux and torque calculation. In this article, encoderless control based on pulse excitation is used.

A. IM Saliencies
The machine geometric and magnetic construction characteristics define the inherent machine saliencies. Due to these asymmetries, a deterministic modulation of the airgap flux occurs, which contains information about the rotor magnetic and mechanical position. This effect is reflected in the transient leakage inductances L A , L B , L C (see Fig. 2), which can be evaluated thanks to the stator voltage equation. For an arbitrary motor phase N, (13) holds true  The transient leakage inductance of (13) can be described as in (14)- (16), considering N_sal saliencies present in the motor where L 0 denotes the transient leakage inductance offset, and L m · sin(γ m ) one sinusoid originated by this single saliency, L m being saliency amplitude, and γ m saliency angle. In induction motors, certain designs can lead to the appearance of several spatial saliencies. They appear superposed in the transient leakage inductance defined in (14)- (16).
The most common saliencies in induction motors are the magnetic saturation and rotor-slotting. The magnetic saturation is caused by the local saturation of the leakage paths due to the fundamental wave flux, and the fundamental-wave angle γ m,sat is proportional to the electrical angle θ e . Rotor-slotting saliency is caused by the effective air-gap length variation due to the rotor bars, and its fundamental-wave angle γ m,slot is proportional to the mechanical angle θ mech . In addition, a third saliency will be considered, originated by the interaction of the saturation and slotting, and often named intermodulation. As a result, intermodulation fundamental-wave angle γ m,inter is proportional to the electrical and mechanical angle. The exact formulation for the fundamental-wave angle of the considered saliencies is given in Table I. Where N R represents the amount of rotor slots.

B. Saliency Extraction Using Voltage Pulses
As (13) shows, the phase current derivative is directly related to the transient leakage inductance if the stator resistance voltage drop and back EMF are eliminated, assuming a constant dc-link voltage. In this article, current slopes are calculated using leastsquare linear regression method [10]. Moreover, as formulated in (14)- (16), the phase transient leakage inductance reflects the effect of the motor saliencies. To eliminate the stator resistance voltage drop and back EMF from (13), a phase current slope difference originated from two different voltage steps is often done [15]. In this sense, after two different voltage steps are applied through the inverter, the resulting current slope difference delivers information on the transient leakage inductance, where motor saliencies are reflected.
In this article, given the sensor arrangement of Fig. 2, only phase C current is available at M2, while A and B currents are available at M1. Therefore, two different saliency vectors are obtained, one for each motor.
The switching sequence used for machine excitation in this article consists of the three sets of antiparallel inverter states: (100&011, 010&101, and 001&110).

C. M1 Saliency Vector
In order to transform phase current slopes into a saliency vector, a combination of the estimated current slopes can be carried out. Phase-C current is obtained as in (4). An example of phase current slope vector combination is shown in (17) and (18) for excitation with 100 and 011 inverter states In the same way, di 010 M 1 − di 101 M 1 and di 001 M 1 − di 110 M 1 are also calculated from the three phase current slopes.
Finally, for M1, an offset-less saliency vectorv sal,M 1 is created. Due to the signal processing of (17), (18), the effect of the transient leakage inductance offset L 0 (which results from the symmetrical machine only) is mathematically compensated. Note that, in (18) only one single saliency L m is represented for clarity reasons where the term cst is

D. M2 Saliency-Offset Vector
The signal processing used for M2 as well as the output differs from those of M1 since M2 is only equipped with one current sensor, attached at phase C. Under 100 and 011 voltage steps, the phase current difference of (20) is done In the same way, di 010 M 2 − di 101 M 2 and di 001 M 2 − di 110 M 2 are also calculated from the C current slope scalar subtraction used in (18). A vector sum of the resulting C current slope differences is further performed in (21) to transform saliencies into a vector v sal,M 2 = di 100 As observed in (21), the reduced amount of current sensors in M2 leads to a vector where the effect of the transient leakage inductance offset L 0 appears superposed to the saliency L m .

E. Offset Elimination
In order to access saliencies, the offset of the saliency vector must be previously eliminated. M1 saliency vector has no offset, as seen in (18). However, the saliency vector of M2 contains an offset whose amplitude varies depending on the actual flux and torque in the motor. In induction motors, the transient leakage inductance offset is many tens of times bigger than the amplitude of the saliencies. Therefore, accurate compensation must be performed.
In this article, the offset is estimated during a commissioning for multiple flux and torque levels using a mean function on the saliency vectorv sal,M 2 stored for several electrical revolutions. The result is a three-dimensional LUT which outputs the actual vector offset at a given torque and flux, named "LUT offset" in Fig. 3. Offset is feedforward compensated.

F. Saliency Separation
After eliminating the vector offset, a signal containing only motor saliencies superposed remains. It is then the task of the saliency separation scheme to compensate all motor saliency harmonics from the saliency vector except one, from which the rotor information will be extracted. In this article, the slotting saliency is used as the feedback control signal, as it can directly be transformed into a rotor position given the rotor slot number.
As with the offset, saliencies are estimated during a commissioning for multiple flux and torque levels using a cost function as explained in [13]. The noncontrol saliencies are feedforward compensated during normal operation using the "LUT saliencies" of Fig. 3. In contrast to [15], saliencies and offset ofv sal,M 1 andv sal,M 2 are evaluated not only at different torque levels, but also difference flux levels.

G. Block Diagram
The block diagram of the encoderless saliency-based rotor position extraction is shown in Fig. 3. As observed, initially the current slopes are estimated. In this article, linear regression with 2 MS/s sampling is employed. These current slopes are combined as described in Section IV-C and Section IV-D, leading tov sal,M 1 andv sal,M 2 . After offset elimination and saliency separation, the rotor-slotting saliency remains, from which the rotor position is calculated knowing the rotor slot number N R.

A. Electrical Parameters
The drive consists of a single insulated gate bipolar transistor (IGBT)-based inverter that supplies two four-pole parallelconnected induction motors whose design was chosen as identical as possible. There are, however, still some small deviations between the parameters of each motor. Each rotor is unskewed. The stator slot number is 36 and the rotor slot number is 44. The rated parameters of both motors are given in Table II.

B. Mechanical Parameters
In order to keep speed constant, a load machine is mechanically coupled to M1. Besides, a toothed belt wraps two toothed belt wheels of different diameter mounted on M1 and M2, in contrast to [15]. The experimental test stand is shown in Fig. 5. The belt drive dimensions are given in Table II. Since the motors are supplied by a single inverter and connected in parallel, they are fed with the same stator voltage and thus share the same electrical speed. Besides, due to the preset belt drive transmission ratio 40/55 (see Table II), scenarios of load imbalance are created as soon as rotor speed is not zero. The presented results (see Figs. 6 and 8) are covering the low speed range where both machines are acting as motor.
The FOC scheme, saliency extraction and torque estimation are programmed in a real-time system from National Instruments. The computational time added by the saliency extraction and torque estimation is approximately 30% compared to dual machine control with four current sensors and two shaft encoders.

VI. EXPERIMENTAL RESULTS
This section shows the experimental results measured at the described test stand. During the experiments, average FOC technique of Fig. 3 is performed. The above-mentioned load The M2 stator current phasor acquisition explained in Section-III will be firstly shown. Afterward, motor saliencies and M2 offset using the strategy proposed in Section-IV will be shown. Finally, encoderless rotor position acquisition will be shown.
The switching sequence used for machine excitation in this article consists of the three sets of antiparallel inverter states: (100&011, 010&101, and 001&110). The excitation time for each active state is 60 μs. Current is sampled at 2 MS/s.

C. Stator Current Phasor Acquisition
This section shows the results of thek factor estimation strategy presented in Section III-C. During the experiment of Fig. 6, FOC is carried out by the two induction motors at rated average rotor flux and variable torque. The speed of M1 is kept constant by the attached load motor at 82.4 r/min. Due to the implemented belt drive, the speed of M2 results in 60 r/min. Fig. 6(b) shows the computedk, in terms of amplitude and angle. Fig. 6(c) shows ψ R,M 1 , calculated using two current sensors; ψ R,M 2 , calculated using a single current sensor and the presented current phasor estimation of Section III-B.; ψ * R,M 2 , calculated using two current sensors (attached to A and B phases, for comparison reasons). The difference ψ R,M 2 − ψ * R,M 2 is also shown. Fig. 6(d) shows T M 1 , calculated using two current sensors; T M 2 , calculated using a single current sensor and the presented current phasor estimation of Section III-B.; T * M 2 ,  calculated using two current sensors (attached to A and B phases, for comparison reasons). The difference T M 2 − T * M 2 is also shown. Fig. 6 is not intended to show how the current is exactly distributed in an industrial dual motor application. Yet, it serves as a demonstration of the capability of the proposed method to compute the actual torque and current of each motor.
A scenario of dynamic heavy load imbalance has been shown in Fig. 6. As it can be observed, the proposed current sensor configuration in combination with the presented signal processing successfully computes the torque and flux of both motors, even at M2 where only one current sensor is available. To guarantee accurate torque-sharing calculation during transients, additional measures will be required. Fig. 7 shows the saliencies and offset from M1 and M2, calculated as explained in (18) and (21). The amplitudes of the saturation and intermodulation saliencies, which act as distortions, are plotted in Fig. 7 for multiple flux and torque levels. For the generation of the curves, multiple operating points were measured and an interpolation was carried out. Note that the saliency amplitude of M2 is approximately three times smaller than that of M1, as it was derived in (18) and (21). The saliency amplitudes show a deterministic shape and can thus be eliminated by the mentioned saliency separation method. It is worth to mention that M1 does not present an offset due to the mathematical elimination shown in (18). It is worth to note that the offset amplitude of M2 is tenths of times greater than the amplitude of the saliencies.

D. Offset and Saliencies
The phase shift of the rotor-slotting saliency due to motor loading is in this article negligible. As an example, at rated flux, experimental results show that the rotor-slotting angle increases by up to 10 slot degrees (or 10/44 mechanical degrees) when torque is increased from 0% to 50%.

E. Unbalanced-Load Encoderless Operation
During the experiment shown in Fig. 8, the rotor speed of M1 and of M2 are kept constant by the attached load motor and belt drive as in previous experiment. It results in M1 rotating at 13.5 r/min and M2 at 10 r/min. The control scheme is set to average FOC, where torque points are commanded. The average flux command is set to rated average rotor flux. The average torque command is varied in two dynamic load steps of 15% rated torque. Fig. 8 shows the performance of each motor regarding rotor angle acquisition.
As observed in Fig. 8, a scenario of heavy unbalanced load is achieved resulting from the electrical parallel connection and to the belt drive implemented.
During the whole experiment of Fig. 8, M1 and M2 rotor angles are successfully extracted from the corresponding slotting saliencies. The zoomed-in view of Fig. 8(d) shows the resulting rotor-slotting saliency for about 0.5 s. A dominant harmonic (rotor-slotting) is observed, whose period T_slot_M1 and T_slot_M2 are shown. The period of the slotting signal is that of the rotor speed divided by N R . Thus, rotor angle can be computed. The resulting angle deviation, computed as the difference between encoder and slotting-based rotor angle, remains for M1 within ±1.5°and for M2 within ±3°.

VII. CONCLUSION
This article presented an encoderless dual-motor drive that was equipped with three current sensors arranged in a special configuration. Two current sensors were attached to two phases of M1 and the remaining one is attached to one phase of M2. A signal processing scheme was proposed to estimate stator current of M2, where only one sensor is available. Acquiring M2 stator phasor is necessary in order to compute flux and torque of M2. In addition, a voltage step excitation method was implemented, which extracted rotor-slotting saliency and thus estimated the rotor position of each motor individually. As a result, full encoderless control in the critical operating range around zero frequency/speed could be achieved. By means of the encoderless rotor position and the stator currents phasors of M1 and M2, torque-sharing could be calculated. The proposed drive was tested on a dual induction motor test bench. An implemented belt drive ensured that both motors rotate with a preset gear ratio, producing significant unbalanced load situations. The experimental results showed accurate torque-sharing estimation, which enabled excellent encoderless control performance under heavy unbalanced loads even in the critical operating range around zero mechanical speed.