To implement the IFOC scheme for the drive, the accurate estimation of the required ECPs is the most challenging task as these ECPs get changed with the running conditions of the motor.
The ECPs depend mostly on the slip, supply frequency, loading, and inside temperature of the motor, the accurate measurement of which are very much essential to get better control performance of the IFOC. Accordingly, an MRAS model [5, 7] for ECPs estimation is developed as shown in Fig. 4. In the form of BPANN, the Reference model and BPANN-based plant model are the two basic building blocks of the controller.
Formulation for reference model M
R
This model is used to generate ECPR set, i.e. the reference values of ECPs namely Rs1, Rr1, Lm1, Ls1, Lr1 during the pre-start and post-start transition period up to the steady-state running condition of the induction motor. This ECPR set is utilized to train the gains in the plant model during this entire transition period i.e. till the steady-state running of the motor up to the desired speed is achieved.
ECPR generation before start
The H-G diagram method, IEEE 112, and the NEMA specification are used to generate the ECPR set based on the nameplate data before starting the motor. The stator voltage Vs, stator current Is (Ia, Ib), rotor speed Nr, input power factor pf, and output power Pout are the nameplate data to be provided. The H-G diagram is represented by an operating circle in the complex plane to analyze the power consumption scenario of an IM. The G and H functions [27] are having the dimension of inductance to represent the active and reactive power consumption status, respectively. The G function is directly related to developed torque and the H function is concerned with the magnetizing flux. The per-phase equivalent circuit impedance of Eq. (1) is modified by ignoring Rc and is expressed as in Eq. (12). The ECPR set is evaluated using the equations derived as follows:
$$ Z_{{{\text{eqR}}}} = \frac{{V_{{\text{s}}} }}{{I_{{\text{s}}} }} = R_{{\text{s}}} + \omega_{{\text{s}}} G(\omega_{{{\text{sl}}}} ) + j\omega_{{\text{s}}} H(\omega_{{{\text{sl}}}} ) $$
(12)
Following the construction method of the H-G diagram, the operating points on the diagram are a function of slip ωsl and can be expressed as
$$ G(\omega_{sl} ) = \frac{{L_{m1} \omega_{sl} R_{r1} }}{{R_{r1}^{2} + L_{r1}^{2} \omega_{sl}^{2} }}L_{m1} $$
(13)
$$ H(\omega_{sl} ) = L_{s1} - \frac{{L_{m1}^{2} \omega_{sl}^{2} }}{{R_{r1}^{2} + L_{r1}^{2} \omega_{sl}^{2} }}L_{r1} $$
(14)
Since G(ωsl) and H(ωsl) represent active and reactive power consumption, their locus describes a circle in the so-called H-G plane for the variation in load or even change in the ECPs for any other reasons [17]. This circle is graduated with the ωsl increasing from the purely synchronous point H0 to its point H∞, from which stator inductance Ls and the total leakage coefficient σ can be derived using Eq. (15)
$$ L_{{\text{s}}} = H_{0} = \frac{{\phi_{{{\text{nl}}}} }}{{I_{{{\text{nl}}}} }} = \frac{{V_{{\text{s}}} }}{{I_{{{\text{nl}}}} \omega_{{\text{s}}} }}, \, \sigma = \frac{{H_{\infty } }}{{H_{0} }} $$
(15)
where the current Inl can be evaluated from the nameplate data and NEMA specification without performing the real hardware test. It is assumed that σ is quite small for which H∞ ≈ 0, circle diameters become directly a function of the stator flux ψs as shown in Eq. (16). The H-G diagram identifies the parameters in the (α, β) reference frame. The P and Q power components are estimated from the dot and cross product of the Vs and Is vectors in the (α, β) reference frame using Clarke Transformation. The values of P and Q are obtained as
$$ \left. \begin{aligned} P & = V_{{{\text{s}}(\alpha ,\beta )}} \cdot I_{{{\text{s}}(\alpha ,\beta )}} = V_{{{\text{s}}\alpha }} I_{{{\text{s}}\alpha }} - V_{{{\text{s}}\beta }} I_{{{\text{s}}\beta }} \\ Q & = V_{{{\text{s}}(\alpha ,\beta )}} \times I_{{{\text{s}}(\alpha ,\beta }}) = V_{{{\text{s}}\alpha }} I_{{{\text{s}}\beta }} - V_{{{\text{s}}\beta }} I_{{{\text{s}}\alpha }} \\ \end{aligned} \right\} $$
(16)
The values of G(ωsl) and H(ωsl) at any instantaneous point i can also be calculated from given P and Q as
$$ G_{i} = G(\omega_{{{\text{sl}}}} ) = \frac{1}{{\omega_{{\text{s}}} }}\left( {\frac{P}{{I_{{{\text{s}}(\alpha ,\beta )}}^{2} }} - R_{{\text{s}}} } \right) $$
(17)
$$ H_{i} = H(\omega_{{{\text{sl}}}} ) = \frac{{Q_{i} }}{{\omega_{{\text{s}}} I_{{{\text{s}}(\alpha ,\beta )}}^{2} }} $$
(18)
$$ R_{{{\text{r}}1}} = \frac{{\frac{P}{{I_{{{\text{s}}(\alpha ,\beta )}}^{2} }}}}{{\left( {1 - \frac{{H_{i} }}{{H_{0} }} + k} \right)}},R_{{{\text{s}}1}} = kR_{{{\text{r}}1}} $$
(19)
where k is obtained from NEMA guidelines. The stator and rotor resistance Rs1 and Rr1 and rotor time constant τr can then be estimated from G(i) and H(i) as,
$$ \tau_{{\text{r}}} = \frac{{L_{{{\text{r}}1}} }}{{R_{{{\text{r}}1}} }} = \frac{{H_{0} - H_{i} }}{{\omega_{{{\text{sl}}}} G_{i} }}\;\;{\text{and}}\;{\text{thus}}\;\;L_{{{\text{r}}1}} = L_{{{\text{s}}1}} \, $$
(20)
Thus the value of rotor inductance Lr1 can be estimated from τr and Rr1. The mutual inductance can thus be evaluated as
$$ L_{{{\text{ml}}}} = \sqrt {\left( {\frac{{(L_{{{\text{s}}1}} - H_{i} )(R_{{{\text{r}}1}}^{2} + L_{{{\text{r}}1}}^{2} \omega_{{{\text{sl}}}}^{2} )}}{{L_{{{\text{r}}1}} \omega_{{{\text{sl}}}}^{2} }}} \right)} $$
(21)
The gain parameters of IFOC K1, K2, and K3 as shown in Eqs. (2)–(4) are evaluated using the ECPR set from the nameplate data before starting.
ECPR generation during the transition phase
It is evident from Eq. (2) that the value of ψr is dependent on the mutual inductance. But the mutual inductance varies on variations in resistances and both of them vary due to variations in motor temperature during the running condition. This in turn causes a change in ids and IFOC logic accordingly. Thus though the H-G diagram method is efficient enough for estimating the ECPs during the pre-start condition, its use is not suggested during the running condition. Accordingly, during the transition phase, the feedback values like Vs, Ia, and Ib are provided as input to the reference model on basis of which the ECPR is generated using equations are (16)–(21) to tune the plant model ECPp. The value of Isαβ (iα,iβ) and the Vsαβ (Vα, Vβ) are evaluated using Clarke transformation as shown in figure vii7.
Formulation for plant model M
P
The estimated ECPR set, using the above-described method, provides accurate results so long the operating conditions, i.e. load demand, slip, temperature, supply frequency remain unaltered. But, as the values of Rs1, ωsl varies with change in motor temperature and slip, the estimated ECPR set, Lm value in particular, from the H-G method produces an erroneous result. This needs a switchover of the ECPs estimation from the reference model to the plant model during the running condition of the motor. The plant model is built based on the backpropagation principle where ANN with an input layer of three neurons and three hidden layers of five, four, and two neurons respectively, and one output neuron model (3-5-4-2-1) is used in its forward path as shown in Fig. 5. The value of each of the ECPs, i.e. Rs, Rr, Lr, Ls, and Lm, have been evaluated accurately during steady state. For working of BPANN, an input matrix [A]3×5 is constituted where each row contains three values of one of the parameters and each column represents each of the parameters of Rs, Rr, Lr, Ls, and Lm. Out of the three values of each row j, one value (aj) is calculated by using the respective equations from (22) to (24) and the other two values are estimated considering a deviation range of ± €. This creates a set of values like [aj−ε, aj, aj+ε] for each row j of [A]3×5 and is treated as the input neurons for the ANN module to estimate the parameter corresponding to that row j. As j can vary from 1 to 5 to represent Rs, Rr, Lr, Ls, and Lm, respectively, the ANN structure is to be utilized four times to estimate all the ECPs in a one-time step. The entire operation of the plant model can be divided into two subparts—namely (i) starting, i.e. start of the motor from standstill to the set speed achievement and (ii) running conditions of the motor. The functioning of ECPs under these conditions is described below.
ECPs evaluation during the transition period
Before start, the ECPR values are utilized for input matrix [A]3×5 and the weight updation procedure begins offline so that the overall time of convergence can be minimized. After the offline training is done the IM is started with the parameters obtained from MR. During this period, ECPs copy the values of ECPR to generate the triggering pulses following IFOC schemes. It is considered that the value of Ls and Lr are assumed to be the same for small to medium motors whereas the ratio between these two parameters can be taken as per NEMA specifications for larger motors for their evaluation. The value of Rs and Rr is estimated using (22) where vssi and issi are the voltage and current signals derived from the SSI method as illustrated in “Estimation of Rs using small signal injection method” section.
$$ R_{{\text{s}}} = \, \frac{{v_{{{\text{ssi}}}} }}{{i_{{{\text{ssi}}}} }},R_{{\text{r}}} = R_{{\text{s}}} /k $$
(22)
Therefore the inductances can be evaluated as
$$ L_{{\text{s}}} + L_{{\text{r}}} = \frac{1}{2\pi f}\sqrt {\left( {\frac{{V_{{\text{s}}} }}{{I_{{\text{r}}} }}} \right)^{2} - \left( {R_{{\text{s}}} + \frac{{R_{{\text{r}}} }}{s}} \right)^{2} } $$
(23)
where slip s is changing with the estimated speed
$$ L_{{\text{m}}} = \frac{1}{2\pi f}\frac{{P_{{{\text{nl}}}} }}{{V_{{\text{s}}} I_{{{\text{nl}}}} \sqrt {1 - p_{{{\text{fnl}}}}^{2} } }} $$
(24)
Considering the inputs of each BPANN topology as
$$ a_{j1} = a_{j} - \varepsilon , \, a_{j2} = a_{j} , \, a_{j2} = a_{j} + \varepsilon $$
(25)
three such inputs for each j are mapped to the four neurons of the first hidden layer by their corresponding weight factor w. The selection of the weights is done in a random manner such that the neurons of this layer are initialized as in Eq. (26)
$$ \left[ {\begin{array}{*{20}c} {h_{11j} } \\ {h_{12j} } \\ {h_{13j} } \\ \begin{gathered} h_{14j} \hfill \\ h_{15j} \hfill \\ \end{gathered} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {w_{1j} } & {w_{6j} } & {w_{11j} } \\ {w_{2j} } & {w_{7j} } & {w_{12j} } \\ {w_{3j} } & {w_{8j} } & {w_{13j} } \\ {w_{4j} } & {w_{9j} } & {w_{14j} } \\ {w_{5j} } & {w_{10j} } & {w_{15j} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {a_{j1} } \\ {a_{j2} } \\ {a_{j3} } \\ \end{array} } \right] $$
(26)
The BPANN structure is designed in such a way that the vanishing gradient and exploding gradient problems are minimum. For simplicity, the number of the hidden layer is considered to be two where Leaky Relu and Adam activation function is used for optimization. But in some work [30, 31] use of three hidden layers has also been considered to improve accuracy. The use of three hidden layers poses the problems like: (i) increase in network complexity, (ii) increase in convergence time, as well as the number of iterations to converge, (iii), increases the processor’s computational overhead, and accordingly, high power processors are required for its implementation. Whereas with the use of two hidden layers, these problems are very less and the system with two hidden layers can easily be implemented with a low-power processor. But considering the accuracy aspects for the evaluation of ECPs of IM, three hidden layer system control structure is considered in this work. The activation function used here is Leaky Relu which is defined as Sir(h) = hir for hir ≥ 0 or Sir(h) = 0.01hir for hir < 0 where i represents the number of hidden layers and r represents the number of neurons in that particular hidden layer. For this design, i and r maybe 1 to 2 and 1 to 4, respectively. The second hidden layer neurons are represented similarly as given by
$$ \left[ {\begin{array}{*{20}c} {h_{21j} } \\ {h_{22j} } \\ {h_{23j} } \\ {h_{24j} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {w_{16j} } & {w_{20j} } & {w_{24j} } & {w_{28j} } & {w_{32j} } \\ {w_{17j} } & {w_{21j} } & {w_{25j} } & {w_{29j} } & {w_{33j} } \\ {w_{18j} } & {w_{22j} } & {w_{26j} } & {w_{30j} } & {w_{34j} } \\ {w_{19j} } & {w_{23j} } & {w_{27j} } & {w_{31j} } & {w_{35j} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {s_{11j} } \\ {s_{12j} } \\ {s_{13j} } \\ {s_{14j} } \\ {s_{15j} } \\ \end{array} } \right] $$
(27)
$$ \left[ {\begin{array}{*{20}c} {h_{31j} } \\ {h_{32j} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {w_{36j} } & {w_{38j} } & {w_{40j} } & {w_{42j} } \\ {w_{37j} } & {w_{39j} } & {w_{41j} } & {w_{43j} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {s_{21j} } \\ {s_{22j} } \\ {s_{23j} } \\ {s_{24j} } \\ \end{array} } \right] $$
(28)
The output of the ECPpj is expressed as
$$ {\text{ECP}}_{{{\text{p}}j}} = \left[ {\begin{array}{*{20}c} {w_{44j} } & {w_{45j} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {s_{31j} } \\ {s_{32j} } \\ \end{array} } \right] $$
(29)
Besides, the BPANN algorithm is designed in such a way that the weight factors are trained during the speed transient period and/or starting period of the motor while these periods are identified till the desired set speed is achieved from the very start i.e. stopped or stalled condition of the motor.
For the training purposes, each of the output parameters from MP is compared with the respective reference parameters coming out from MR i.e. the error between the parameters of the MR and MP are Ej = (ECPRj-ECPPj) are evaluated such that The loss or error functions are then generated following Eqs. (35) which are minimized using Adam rule to recalculate the weights in backpropagation manner,
$$ b_{j} = \frac{1}{2}E_{j}^{2} ,j = [R_{{\text{s}}} = {\text{ECP}}_{{{\text{Rs}}}} ,R_{{\text{r}}} = {\text{ECP}}_{{{\text{Rr}}}} ,L_{{\text{s}}} = {\text{ECP}}_{{{\text{Ls}}}} ,L_{{\text{m}}} = {\text{ECP}}_{{{\text{Lm}}}} ] $$
(30)
where bj is the loss function for each of the jth parameters. Thus the weight updation process or the training process continues until the difference between the output of all the elements of MR and MP will be less than or equal to the tolerance limit δ,
$$ E_{j} = {\text{ECP}}_{{\text{R}}} - {\text{ECP}}_{{{\text{P}}j}} = \pm \delta $$
(31)
The basic weight updation rule as stated in the gradient descend (GD) method is expressed as in Eq. (32). This weight updation method is modified as per the ADAM rule as described in Eq. (35–38). This ADAM rule is a combined form of the Adagrad and RMSProp adaptive GD method, the details of which are explained in reference (25), and hence the description is not included in this paper.
$$ w_{(n + 1)} = w_{(n)} - \eta \frac{\partial E}{{\partial w_{n} }},g_{n} = \frac{\partial E}{{\partial w_{n} }} $$
(32)
$$ w_{(n + 1)} = w_{(n)} - \frac{\eta }{{\sqrt {\gamma + r_{n}^{*} } }} \times m_{n}^{*} $$
(33)
where mn is the momentum term and the value of mn and rn is given by
$$ m_{n} = \beta_{n} \times (m_{n - 1} - 1) + (1 - \beta_{1} ) \times g_{n} ,g_{n} = \frac{\partial E}{{\partial w_{n} }} $$
(34)
$$ r_{n}^{*} = \beta_{n} \times (r_{n - 1} - 1) + (1 - \beta_{2} ) \times g_{n}^{2} $$
(35)
and
$$ m_{n}^{*} = \frac{{m_{n} }}{{1 - \beta_{1}^{n} }},r_{n}^{*} = \frac{{r_{n} }}{{1 - \beta_{2}^{n} }},\beta_{1} = 0.9,\beta_{2} = 0.999 $$
(36)
The BPANN gain tuning procedure continues till the weight updating rule is satisfied, the duration of which is well within the starting transition period of the motor.
ECPs evaluation during running
Once the training period is over, the ECPs estimation is started with the plant model by making a switch over to the selection of input towards sampled feedback of (Vs, Is(Ia, Ib)). The parameters are calculated using Eqs. (22)–(24) to form the input matrix of BPANN and then this [A]3×5 is used to evaluate ECPP. The values of K1, K2, and K3 are also evaluated following Eq. (37), and all the IFOC d-q voltage, current, flux, slip frequency, etc., are calculated using Eq. (2)–(11).
$$ K_{1} = \frac{1}{{{\text{ECP}}_{{L_{{\text{m}}} }} }},K_{2} = \frac{{4{\text{ECP}}_{{L_{{\text{r}}} }} }}{{3p{\text{ECP}}_{{L_{{\text{m}}}^{2} }} }},K_{3} = \frac{{{\text{ECP}}_{{R_{{\text{r}}} }} }}{{{\text{ECP}}_{{L_{{\text{r}}} }} }} $$
(37)