SciELO - Scientific Electronic Library Online

vol.11 issue22Availability of nitrogen using two types of dairy cattle manure in forage corn and triticaleMolecular characterization of Trypanosoma cruzi isolates from the triatominos collected in the municipalities of the State of Hidalgo, Mexico author indexsubject indexsearch form
Home Pagealphabetic serial listing  

Services on Demand




Related links

  • Have no similar articlesSimilars in SciELO


Nova scientia

On-line version ISSN 2007-0705

Nova scientia vol.11 n.22 León May. 2019 

Natural Sciences and Engineering

Adaptive Speed Controller for a Permanent Magnet Synchronous Motor

Controlador de Velocidad Adaptativo para un Motor Síncrono de Imanes Permanentes

Omar Aguilar Mejía1  * 

Rubén Tapia Olvera2 

Iván Rivas Cambero3 

Hertwin Minor Popocatl1 

1Universidad Popular Autónoma del Estado de Puebla, Departamento de Posgrado. E-mail:

2Universidad Nacional Autónoma de México, Departamento de Energía Eléctrica

3Universidad Politécnica de Tulancingo, Departamento de Investigación y Posgrado


This paper presents a controller performance that is develop employing an adaptive B-spline neural network algorithm for adjusting the rotor speed of the permanent magnet synchronous motor. It includes a comparative analysis with three control strategies: conventional proportional integral, sliding mode and fuzzy logic. Also, gives a systematic way to determine the optimal control gains and improve the tracking error performance. A methodology for the adaptive controller and its training procedure are explained. The efficacy of the proposed method is analyzed using time simulations where the motor is subjected to disturbances and reference changes. The proposed control technique exhibits the best performance because it can adapt to every condition, demanding low computational effort for an on-line operation and considering the system nonlinearities.

Keywords: fuzzy logic; artificial neural network; motor drives; sliding mode; permanent magnet machines


En este trabajo se presenta el desempeño de un controlador adaptativo utilizando una red neuronal B-spline para ajustar la velocidad del rotor del motor síncrono de imanes permanentes. El análisis incluye una comparación de tres estrategias de control convencionales y no lineales: control proporcional integral, modos deslizantes y lógica difusa. Además, se proporciona una forma sistemática de determinar las ganancias óptimas del controlador para mejorar el desempeño del error de seguimiento. Dentro del trabajo se explica el diseño del controlador adaptativo y la metodología para realizar su entrenamiento. La eficiencia del controlador propuesto se demuestra mediante simulaciones en el tiempo donde el motor se somete a diferentes perturbaciones y cambios en el valor de la señal de referencia. El análisis de los resultados muestra que la técnica de control propuesta exhibe mejor rendimiento porque puede adaptarse a todas las condiciones operativas, presentando un bajo esfuerzo computacional para una operación en línea y considerando las no linealidades del sistema.

Palabras clave: lógica difusa; redes neuronales artificiales; control de máquinas; modos deslizantes; máquinas de imanes permanentes


The permanent magnet synchronous motors (PMSM) has paid and increased popularity in industrial and aerospace applications due the rapid advance in the development of semiconductor technology, new theories of electrical machines control and new magnetic materials that using rare earth. These machines are used in high performance applications for its excellent efficiency, no reactive power demand from the source, compact structure, low maintenance, low inertia and better dynamic performance compared with the induction motor (Omrane et al., 2015, Liu et al., 2018, Englert and Graichen, 2018). These benefits and performance are applied in electric vehicles, airplanes, nuclear power plants, submarines, robots, computer numerical control machines, elevators and propellers of ships (Englert and Graichen, 2018, Jun-Jien et al., 2015, Qutubuddin and Narri Yadaiah, 2018, Kumar et al., 2014). However, in some situations the PMSM dynamic performance is diminished significantly by some parametric disturbances (variations in temperature, magnetic saturation, etc.), external load torque variations and nonlinearities in the dynamic model. Recently, in the literature there are several studies, they use different control techniques to ensure robust performance despite this problem (Liu et al., 2018, Jun-Jien et al., 2015, Englert and Graichen, 2018, Kumar et al., 2014). Several advanced controllers use non-linear control techniques (Verrelli et al., 2017), adaptive schemes (Hu et al., 2017, Iqbal et al., 2014), linear control theory (Ortega et al., 2018), neural networks (Jon et al., 2017), sliding modes (Lu et al., 2017). These methods have been used in different applications where the main purpose is for regulating the PMSM rotor speed. In the industry, the proportional-integral-derivative (PID) controllers are widely utilized to manipulate the PMSM performance due to its simplicity and effectiveness. However, the linear controllers are sensitive to parametric variations, noise, and external disturbances, in most cases tuning is very difficult and tedious due that its performance is guarantee for some operation conditions. It is worth mentioning that the performance and efficiency of the entire control system depends not only on the efficient hardware software platform, also the control law robustness (Kumar et al., 2014).

To increase the robustness of the proportional-integral (PI) controllers it is possible to incorporate one or two innovative control techniques, such as: adaptive control, sliding mode, predictive control, robust control and intelligent control. Some problems in design procedure are the need to incorporate internal or external disturbances in the model, causing that this process become complex and difficult (Jun-Jien et al., 2015). Intelligent control techniques provide a good dynamic performance when parametric variations and external disturbances occur but its implementation requires known prior of several parameters before starting his training (Choi et al., 2015). In the literature, there are different techniques of robust control and auto-tuning used to improve system response and increase the robustness of the linear controllers (Jin-Woo et al., 2014). The auto-tuning techniques can be used in some applications where the dynamic plant model cannot represent in detail the physical system.

On many occasions, it is a common practice use expert systems when the model plant is incompletely modeled, for instance neural networks, fuzzy logic or a combination within the control schemes to regulate non-linear systems. However, during the design process of a fuzzy system there are significant problems associated with specialist expertise, accuracy and the correct application of the rules to regulate the plant (Chang et al., 2016). In (Choi et al., 2015) a fuzzy logic for updating the gains of a PID controller to regulate the PMSM rotor speed subject to different load torque conditions is used, but the details of how select the membership functions of the fuzzy system are not explained. Besides, artificial neural networks (ANN) are widely used in pattern identification, adaptive filtering, modeling and controlling complex systems due they are able of learning. Recently, (Beltran-Carbajal et al., 2018) is presented an adaptive PID controller using ANN to update on-line the gains of the controller structure, but the training process does not ensure stability in closed loop. The on-line learning process of the ANN is to update weights and base functions continuously throughout the operation of the control scheme. In most cases this process can take too many multiplications and divisions demanding hard computational effort or must have a microprocessor too fast (Nizami et al., 2017). To avoid these problems in literature there are ANN called B-spline (BSNN), which are a type of ANN that utilizes polynomial basis functions, known as B-spline basis functions. The BSNN has the ability to update only one or more weights of the network structure according to the input and desired output, resulting faster speed of convergence and lower computational complexity compared than backpropagation algorithm (Tapia-Olvera et al., 2016).

In this paper the dynamic performance of four different control schemes to regulate the rotor speed of a PMSM subject to different disturbances are compared. The first control scheme consists in tuning two PI controllers using a first order dynamic model of the PMSM. The simplified model is obtained disengaging the dynamic equations of the stator currents using two control variables, one for each of the stator currents in 𝑑𝑞 reference frame. The second controller is an adaptive regulator based in BSNN to update on-line the PI controller gains is proposed, using the first controller architecture. The controller gains are updated on-line using the gradient descent method and BSNN. The following proposed control system is based on fuzzy logic that depends on the membership and distribution functions, and user experience. Finally, a non-linear controller based on the technique of control by sliding modes is used. A nonlinear observer to estimate the corresponding external disturbance is applied, due that the control law require the load torque.

The paper is organized as follows: section 2 gives an introduction to the mathematical model of the PMSM in dq reference frame; the problem formulation, PI controller and estimator design are presented in section 3; in section 4 the conventional PI controller tuning, a proposed neural network controller, fuzzy logic and sliding mode control are analyzed. The comparison results of the four control schemes are discussed in section 5, they were performed in Matlab/Simulink®.

Dynamic model of PMSM

The vector control technique is used in the PMSM control, this scheme allows to decoupling the motor currents. Therefore, it is possible to consider its characteristics similar to a direct current (DC) motor because it works only with two currents, typically called excitation and torque currents.

The controller design needs that the dynamic equations must be transformed from the stator reference frame, abc, to a synchronous rotor reference frame, dq. First, the three-phase abc coordinate system is transformed to a two-phase reference frame αβ, where α-axis coincides with the a-axis phase and the β-axis leads by 90° relative to the α-axis in the clockwise direction. The permanent magnet mounted on the rotor of PMSM and the vector of flows are in the same position as the magnetic pole. Then, the αβ coordinate system is transformed to dq rotor reference frame using the Park transformation. With this transformation the d-axis is aligned in the same direction to the magnetic flux of the rotor and the q-axis leads by 90° to d-axis. The angle between d-axis and a-axis is the rotor electrical angle, θe. In this paper, the nonlinear dynamic model of the PMSM is used in a dq rotor stationary reference frame (Yazdani & Iravani, 2010, Krishnan, 2010). This model consist of a set of nonlinear differential equations that relate the electrical variables: currents, voltages and flow links with mechanical variables: torque and rotor speed. The electrical equations of the motor in dq rotor reference frame are:

Ld00Lqddtidiq=-rsωeLq-ωeLd-rsidiq-0-ωeφm+vdvq (1)

Te=1.5n2φmiq+Ld-Lqidiq (2)

Where vd and vq are the voltages applied to the stator in dq reference frame, respectively; id and iq are the currents in dq; rs is the stator resistance; Ld and Lq are the stator inductances in dq axis; ωe is the electrical angular speed of the rotor; Te is the electromagnetic torque; 𝑛 is the number of pole pairs and; 𝜑𝑚 is the magnetic flux in the rotor produced by the permanent magnet. The dynamic equations of the rotor position and rotor speed are:

dωrdt=Te-TlJ (3)

dθrdt=ωr (4)

Where ωr is the mechanical speed of the rotor; J is the inertia moment; θr is the rotor position and; Tl is the load torque applied to the motor. This paper considers a nonsalient PMSM with magnets mounted on the rotor surface (Omrane et al., 2015), whereby the d-axis and q-axis inductances are equal, consequently the electromagnetic torque now can be calculated by:

Te=0.75nφmiq (5)

Three control loops with negative feedback for speed regulation are used, this allows obtaining the desired rotor speed and improving steady state and transient performance of the motor. The control system includes a loop for the rotor speed, a control loop in d-axis current and one in q-axis. Figure 1 shows the block diagram of overall control system for PMSM drive system. The control system consists of an AC-DC voltage source converter, a PMSM, a DC-AC voltage source inverter, an automatic current control, a position sensor that determines the speed of the rotor and a speed regulator. Multiplying the rotor mechanical angle by the number of poles, the electric angle is calculated.

Figure 1 Block diagram of overall control system for PMSM drive system 

The speed reference 𝜔; the desired direct axis current id*; and the rotor speed 𝜔𝑟, are the inputs to the speed control system, Figure 1. The desired current iq* is determined from the electromechanical torque, which is proportional to the current in q-axis.

Field Oriented Control for PMSM

Design of the control scheme: The PMSM model (1), (3)-(5) is a dynamic system with two control inputs, vd and vq. If in some way can make the component of the direct axis current is equal to zero, a similar behavior to a DC motor with excitation constant flux is obtained (Choi et al., 2015). The equations indicate that the PMSM is a nonlinear system due to coupling between the different state variables (currents and rotor speed). We can also observe that the parameters depend on the operating conditions, mainly load torque and operating temperature. The control objective is to design an asymptotically stable speed controller for PMSM to make the rotor speed track the reference trajectory correctly under different parameter perturbations and load torque disturbances. Therefore, the main signal error can be defined as:

ew=wr*-wr (6)

Where 𝑒𝜔 is the rotor speed error, wr* is the desired rotor speed. Equation (1) has two independent control variables vd and vq, if the control signal vq regulates the motor speed; we have a freedom degree available, vd, and can take advantage. One advantage is to prevent the demagnetization of the permanent magnets, which is accomplished if the direct axis current is zero (Yazdani & Iravani, 2010, Krishnan et al., 2010). If the above condition is known, the stator current is equal to the q-axis current, and then the electromagnetic torque is proportional to 𝑖𝑞. Another advantage is that the constant flow links have a linear relationship with the current in the stator; thereby its values can be estimate in an easy way. We can define the tracking error of the d-axis current as:

ed=id*-id (7)

Where id* is the d-axis current reference value. In theory, the proposed controller forces the current 𝑖𝑑 to have a value of zero in a finite time, so that the electric torque is proportional to current 𝑖𝑞. Therefore, the current error in q-axis is defined as follows:

ed=id*-iq (8)

Where iq* is the q-axis current reference value. The proposed control system is based on a sinusoidal pulse width modulation (SPWM) scheme; mq and md are the modulating signals in dq reference frame, Figure 1. The modulation signals are transformed to abc system using the Park transformation and rotor position θr, for comparison with high-frequency carrier signal.

Calculation of the desired current iq*: The desired q-axis current requested for closed loop control system is determined by differentiating (6) with respect to time and substituting the derivative of 𝜔𝑟:

e˙ω=ω˙r*-ω˙r=ω˙r*-0.75nφmiq-Tl1J (9)

The speed tracking error can be defined as:

e˙ω=-ceω (10)

Where c>0, and the convergence speed of (10) depends of the constant c. Equaling (9) and (10) and solving for iq, the desired current iq* is obtained for the quadrature axis current controller:

iq*=J0.75nφmω˙r*+TlJ+ceω (11)

We can see that the desired current value is a function of three variables: derivative of the desired reference speed trajectory, the rotor speed and the load torque, so it is necessary to measure or estimate.

Estimated load torque: In practice, the load torque is unknown, therefore, it is necessary to design an estimator to know its value. The nonlinear estimator is described by (Moreno & Osorio, 2008):

dω^rdt=iqkω-T^lJ-l1es (12)

dT^ldt=l2es (13)

Where 𝑒𝑠 is the estimation error, ω^r is the estimated mechanical rotor speed; T^l is the estimated mechanical torque; es is the estimated error speed; l1 and l2 are the estimator gains; 𝑘𝜔 = 0.75𝑛𝜑𝑚. Combining (12) and (13) and the dynamic equation of the rotor speed, we can obtain a set of equations describing the dynamic tracking error estimator:

ω-˙rT-˙l=-l1-1Jl20ω-rT-l (14)

The system (14) is an autonomous linear system, asymptotically stable with the appropriate choice of the l1 and l2 parameters (Aguilar-Mejía et al., 2016).

The control scheme for PMSM is exposed in previous section, however, a proper operation requires robust strategies or adaptive control that ensure safe and reliable performance also must respond quickly and appropriately to various scenarios that it can endure. In this paper, three schemes for tuning and implementation of field-oriented control are proposed, by comparing the performance with an adaptive PI controller.

Design of conventional PI controller for PMSM

For regulating the PMSM rotor speed and improve its dynamic performance first a conventional PI control scheme is designed, Figure 2. Considering (1) as in (Heng et al., 2010) the following new control signals are defined:

vd=Vq-Lqiqωe (15)

vq=Vq-Ldidωe+ωeφm (16)

Figure 2 Block diagram for regulating the PMSM speed using two conventional PI controllers 

Substituting (15) and (16) in (1), the following dynamic first order system is obtained:

Lddiddt+rsid=Vd (17)

Lqdiqdt+rsiq=Vq (18)

The PMSM speed control using two conventional PI controllers, two different closed loop control systems are necessary to regulate 𝑖𝑑 and 𝑖𝑞, Figure 2. The controller consists of two inner loops, which regulate the stator currents in the 𝑑𝑞 stationary reference frame. Figure 2 shows that the controller for 𝑖𝑑 handle the error signal ed=id*-id and calculates 𝑣𝑑. The desired current value (id*) is to improve the performance and avoid physical damage to the magnetic components of the machine (Krishnan, 2010).

Similarly, the controller for 𝑖𝑞, process the error signal ed=id*-id and computes 𝑣𝑞. The desired current value (id*) is determined by the electromagnetic torque control loop, that it is a function of the reference speed.

Assuming that the transfer functions of the closed loop (17) and (18) are the first degree and similar, the PI controllers are:

Vd(s)Ed(s)=kp+kis (19)

Where 𝑉𝑑(𝑠) is the Laplace transform of the control signal, 𝐸𝑑(𝑠)is the Laplace transform of the error signal, 𝑘𝑝 = 𝐿𝑑 ⁄𝜏 and 𝑘𝑖 = 𝑘𝑝(𝑟𝑠⁄𝐿𝑑). The τ coefficient is the time delay of the controller response. The control signals that provide the current controllers are transformed to abc reference frame, for comparison with a triangular signal. The pulses generated by the two signals comparison are sent to the power semiconductor devices in the voltage source inverter for feeding the PMSM.

Adaptive control using B-spline neural networks

Proposition: The controller design is one of the major advantages of the artificial neural networks. In this section an adaptive velocity trajectory tracking control scheme for nonlinear PMSM subjected to variable mechanical load torque disturbances is used. Artificial neural networks is employed in the synthesis of the adaptive motor control scheme based on velocity tracing. Thus, the tracking control approach has the capability to adapt or learn on-line from diverse operating scenarios. A different perspective for control synthesis based on output signal modeling into arbitrary small intervals of time is adopted. The independence of some detailed mathematical model of the nonlinear electromechanical system is also achieved by the B-spline neural networks (BSNN) control approach. In addition, a priori knowledge or real time estimation of disturbances is unnecessary. Furthermore, BSNN have important desirable features for efficiently controlled physical systems due to them can update their response on-line, considering a simple structure and a small number of basic mathematical operations. Their adaptive nature allows learning by means of examples, where a representative set of measured data, providing a relationship between inputs and outputs, is enough. This characteristic makes them suitable in application domains where there is little or incomplete understanding of the system to be controlled, but where training data are available.

Neural Network Structure: The (BSNN) are a particular case of neural networks useful for online controlling and modeling, taking into account the system non-linearities. Some control parameters must be specified, such as the shape of the basic functions, Figure 3, and the learning rate. Despite the fact that the BSNN structure is specified, it can be adapted to achieve a satisfactory performance over a wide range of operating conditions, since its weighting vector is updated on-line over each sampling time. That is, the BSNN can adaptively be updated for output tracking when the system operating point is modified or an external disturbance arises.

Figure 3 Proposed B-spline neural network structure  

This ANN exhibits better characteristics compared with other intelligent neural network, for example: the ANN backpropagation and ANN radial base function. BSNN in this case consists of three layers, namely: 1) a l-dimensional input space standard; 2) a set of basis functions p; and 3) the output function of the network, Figure 3.

Through parameters 𝑘𝑝 and 𝑘𝑖, the major task of the adaptive controller is to regulate the rotor speed control, Figure 3. Three error signals are employed to calculate 𝑘𝑝 and 𝑘𝑖. 𝑒𝑑,𝑞 are the difference between the dq-axis currents references and the measured currents 𝑖𝑑 and 𝑖𝑞, 𝑒𝜔 is the difference between desire and actual speed, finally, its derivative, Figure 3. A similar structure for each control gain is used. For determining the output value has as inputs: past and actual inputs and outputs, based on those values determine the optimal value of the controller gains, so that the error approaches to zero.

The BSNN output can be described by (Brown & Harris, 1995), Figure 2:

y^=i=1PHiMi=HTM(t) (20)

Where ℎ𝑖 is the weight connecting the i-th hidden neuron to the output neuron, 𝑚𝑖 is the output of the i-th hidden neuron and p is the number of weights. M(t) can be expressed as:

Mi(t)=bi+i=1pwiej+wi+1Mi-1 (21)

Where bi is the bias of ith hidden neuron, wi is the weight connecting ith input to the jth hidden neuron and ej is the jth input. The proposed adaptive controller is composed by two BSNN, one to update 𝑘𝑝 and another to update 𝑘𝑖, for each PI controller. Thus, the networks are described as follows:

kpd=NNieq,ed,eω,wj,Hi,Mi (22)

kid=NNieq,ed,eω,wj,Hi,Mi (23)

Where i=1,2,3; 𝑁𝑁𝑖 denotes the BSNN which is used to calculate 𝑘𝑝 and 𝑘𝑖 in d-q axis, respectively.

Learning Rule: To design the proposed controller it is decided that the learning rule is a gradient descent that is suitable for BSNN, instead of recursive algorithms based on least squares that are more complicated. For updating the weights Δw an instantaneous learning rule is used (Brown & Harris, 1995):

w(t-1)=yex(t)a(t)22a(t) (24)

Where γ is the learning ratio; a is the vector containing the outputs of the basis functions; w is the weight vector and, ex is the desired B-spline output and the actual one difference.

Convergence analysis: The instantaneous learning rule requires the minimization of the following cost function, J = E2 (Kumar et al., 2014) where E(E=R-Y) is the error between the reference input (R) and desired output (Y):

||E||2=(R-MH)T(R-MH) (25)

||E||2=RTR-2MTH+M2HTH (26)

The objective of the learning rule is to find H and M so that ||E||2 is minimized:

||E||2M=-2RTH+2MQHTH (27)

||E||2M=-2MHTwRT+2M2HTxH (28)

The optimum value of H and M is obtained when (27) y (28) are iqual to zero. From (27), the output weight matrix is calculated as H=RTHHTH. The calculate of output weights in a single step can make learning speed at least 10-1000 times faster as compared to the gradient based methods where error has to back propagate recursively. Once the parameters of the output layer are obtained, for each incoming data on line least square sequential learning is employed (Serre, 2002). First the layer wi is calculated, and then the output weight is determined analytically using orthogonal projection method M0=(HTH)-1HTY. For the next portion of data, the following function is minimized:

H0H1M-Y0Y1 (29)

From (29) and (24), considering both data samples, the output weight is:

M1=K1-1H0H1TY0Y1 (30)


K1H0H1TY0Y1 (31)

H0H1TY0Y1=K1M0-H1TH1M0+-H1TY1 (32)

For sequential learning we have to express M1 as a function of M0. From (31) K1 can be expressed as:

K1=H0THH0H (33)

K1=K0+H1TH1 (34)

M1 can be written using (30) and (32):

M1=M0+k1-1H1TY1-H1M0 Usin (35)

From (34), the value of K for (k + 1)th data sample is derives as:

Kk+1-1=Kk+Hk+1THk+1-1 (36)

Using Woodbury formula (Golub & Loan, 1996), for each incoming data samples the can be updated using the next equation:

Kk+1-1=Kk-1-Kk-1Hk+1TI+Hk+1Kk-1Hk+1THk+1Kk-1 (37)

Using Vk+1=Kk+1-1 (30) and (31) can be written in a simpler form as:

Vk+1=Vk-VkHk+1TI+Hk+1VkHk+1T-1Hk+1Vk (38)

Mk+1=Mk-Vk+1Hk+1TYk+1-Hk+1Mk (39)

Sequential implementation of least square solution the convergence analysis is applied here. Figure 4 shows the block diagram for the motor control where the control law depends on adaptive controller based on neural networks scheme. The tuning methodology can be developing in two stages off-line and on-line training, Figure 5.

Figure 4 Block diagram of the adaptive controller 

Figure 5 Training procedure for B-spline neural network 

Off-line training: Previously, an off-line training was made to get the initial conditions to the on-line learning, Table 1 presents some experiments of the ANN response, for example: three types of basis functions with different orders were analyzed. As a result we proposed to use monovariable functions of third order, because it presents an adequate performance. Since some values are used in actual units in this system it can be concluded that the interval corresponding to the network input values is -5% ≤ i ≤ 5%; therefore, a good consideration for vector control point is [-1.5 -0.5 0.5 1.5]. Respect to the learning rate, it takes as initial value one point within the interval [0, 2] due to stability purposes. This value is adjusted by trial and error; with a value close to zero the training becomes slow. However, if such value is large, oscillations can occur; in this application it settles down in 0.01, with this value it seeks to have a smooth and robust control as results shown (Brown & Harris, 1995, Tapia-Olvera et al., 2016, Wang & Zou et al., 2014). This training procedure is showed in Figure 5.

Table 1 Previous operating conditions to off-line neural network training 

Load torque Tl Rotor speed ωr
0.95 Nm 30 rpm
3.3 Nm 150 rpm
2.25 Nm -20 rpm
3.03 Nm 85 rpm
0.32 Nm 33 rpm
1.75 Nm -74 rpm

In the proposed scheme, some control parameters have to be specified as the basis functions and the learning rate; but once the BSNN is specified it is adaptive enough to achieve a good performance over a wide range operating conditions. This is because the weights are trained online and therefore the output of the ANN adapts to input changes at each time step. BSNN stores and adapts information locally and those weights mainly participating on the output are easily identified.

Fuzzy logic speed controller for PMSM

A Mamdani scheme with 5 membership functions is employed to design the fuzzy controller (FC). The tracking error e and the error change de are defined by:

e(k)=ωr*(k)-ωr(k) (40)

de(k)dt=e(k)-e(k-1) (41)

The FC in this study uses singleton fuzzifier, triangular and trapezoidal types of membership function, product-inference rule and central average defuzzifier method (Feng, 2010). In Figure 6 some groups are presented: {high negative, low negative, zero, low positive, high positive}. The design procedure of FC algorithm is as follows. Firstly, the linguist values for the membership functions are:

Na=-,A',μNa;Nb=B',0, μNb ;C=A',A,μc;Pb=0,B,μPb;Pa=A,,μPa (42)

Secondly, the computation of the membership degree for e and de are done. The grade of membership for the fuzzy set, is obtained by:

μNa(εƒ)=maxminA'- εƒA'-B',1,0 (43)

μNb(εƒ)=maxminεƒ-B'A'-B',0-εƒεƒ-A',0 (44)

μC(εƒ)=maxminεƒ-A'0-A',A-εƒA-0,0 (45)

μPb(εƒ)=maxminεƒ-0A-0,B-εƒB-A,0 (46)

μPa(εƒ)=maxminB-εƒB-A,1,0 (47)

In the defuzzification stage, the control action described in linguistic form, is transformed into a precise value to calculate a new value for the control output S, which is obtained through the centroid of the membership function and it is represented by:

S=ΣjμBjδjδjΣjμBjδjfor jNa,Nb,Nc,NPb,NPa, (48)

Where 𝜇𝐵𝑗(𝛿𝑗) is the degree of membership. Thirdly, the selection of the initial FC rules refers to the dynamic response characteristics. The value of parameters {ai, bi} changes according to the error, and accordingly generates the linguistic value of each membership function.

Figure 6 Membership functions for error and its derivative 

Figure 7 show the control surfaces for the iq and id current, respectively. The block diagram for regulating the PMSM speed using the fuzzy logic control technique is incorporated in Figure 8, changing only the sliding modes controller.

Figure 7 Control surfaces for iq and id current 

Figure 8 Block diagram for speed control by sliding modes 

Design of the sliding mode control

Sliding Mode Current Control: Using Eq. (1), (7), (8) and (11) the switching law by nonlinear sliding mode controller for PMSM is designed (Utkin et al., 2009), being as follows:

vd=vd0signed (49)

vq=vq0signeq (50)

Where 𝑣𝑞0 and 𝑣𝑑0 are the maximum values of the control signals, respectively. The sliding mode controller block diagram is shown in Figure 8. The condition of existence of sliding mode is equivalent to the stability condition, thus two positive definite Lyapunov functions are selected:

Vd=12ed2 (51)

Vq=12eq2 (52)

Existence condition of sliding mode: Differentiating with respect to time on the path of (7-8) and (51-52), respectively, and substituting results:

V˙d=ede˙d=eddid*dt+rsLdid+LqLdωeiq-vdoLd|ed| (53)

V˙q=eqe˙q=eqdiq*dt+rsLqiq+idωd+φmLqωe-vqoLq|eq| (54)

Where |𝑒𝑖| = 𝑒𝑖sign 𝑒𝑖 for i=d, q. The derivatives of the Lyapunov functions are negative if:

vd0Ld>did*dt+rsLdid+LqLdωeiq;for ed (55)

vq0Lq>diq*dt+rsLqiq+ωeid+φmLqωe;for eq (56)

Therefore, ed, eq and eω are zero after a finite time interval.

Results and discussion

In this section the simulation results were performed to verify and compare the performance of different control schemes for rotor speed regulation. These results are used to examine the dynamic response of adaptive control (PI NN) compared with three different control schemes: PI controller (PI FIX), sliding mode controller (SM) and fuzzy controller (Fuzzy). Different operation conditions of the motor, Figure 1, are taking into account. The implementation of the four control laws is performed in Matlab/Simulink, Figure 1. The PMSM parameters are assumed known, Table 2.

Table 2 Parameter of dynamic model of the permanent magnet synchronous motor 

Parameter Symbol Value and units
Inertia coefficient J 3.5e-5 N.m
Nominal voltage v 120 volts
Stator resistance rs 2.6 Ohms
Stator inductance in d-axis L d 6.73 mH
Stator inductance in q-axis Lq 6.73 mH
Stator leakage inductance Lls 0.1 Lq
Magnetic flux from the magnet φm 0.319 Wb
Pole pairs n 2

A comparative performance in two different cases, considering its dynamic response is analyzed. In all cases the same algorithm to estimate the load torque is used. The convergence rate of the estimator is determined by the choice of system eigenvalues expressed by (12)-(13). The proposed values are λ1,2=-440, the estimator gains are: l1 =880 and l2 =-6.776; and the speed coefficient of desired dynamics convergence for the error in (10) is c=500.

Case 1: In this case the simulation of the control scheme is done to know their performance to external disturbances, speed requirements and load torque, Table 3. Figures. 9-10 show the dynamic response of the rotor speed and stator currents for the PMSM control scheme. These results present the comparison of the adaptive PI control (PI NN), sliding mode controller (SM), Fuzzy controller and conventional control (PI FIX).

Table 3 Operating conditions, case 1 

Load torque Tl Time Rotor speed ωr
0.0 Nm if t < 0.15 sec 50sin(2πt) rpm if t ≤ 1.25 sec
1.0 Nm if t > 0.15 sec & t ≤ 0.37 sec
0.5 Nm if t > 0.37 sec & t ≤ 0.60 sec
2.0 Nm if t > 0.60 sec & t ≤ 0.80 sec
1.0 Nm if t > 0.80 sec & t ≤ 1.00 sec 50cos(4πt) rpm if t > 1.25 sec
3.5 Nm if t > 1.00 sec & t ≤ 1.30 sec
0.0 Nm if t > 1.30 sec & t ≤ 1.60 sec
2.0 Nm if t > 1.60 sec

Figure 9 Dynamic performance PMSM for the first case study: a) Closed-loop speed reference trajectory tracking and b) Dynamic performance of the currents in dq frame 

Figure 10 Tracking errors for reference profile under load torque disturbance for the case 1: a) dq axis current tracking error, b) Speed tracking error 

In Figure 9 different overshoot caused by external disturbance in load torque are observed, first the motor is subject to a load increase from 0 Nm to 1 Nm, Table 3. We can see that the neural network helps decrease the magnitude of the overshoot appearing in the transient speed response, achievement the steady state condition more smoothly and sometimes faster than the response of the system, that only has a conventional PI controller, sliding mode or fuzzy scheme, Figure 9(a). For example, the overshoot is less than 3 rad/sec.; on the other hand, with fixed parameters, it is about 8 rad/sec.; the settling time is 7 msec with respect to 10 msec with PIFIX, in t=0.8sec.

To appreciate in greater detail the change in motor response by different controllers a zoom section of the variable is added when the disturbance is presented. The line in red exhibits the neural network impact in motor speed control. The error evolution reveals how the gains updated in controller PI by BSNN, Figure 10(b). The performance evaluation of each controller is determined according to: ISE, IAE and ITAE. Table 4 shows the performance parameters of the MSIP for case 1.

Table 4 Controller performance indices, case 1 

Controller ISE IAE ITAE
PIFIX 4.7701 0.9660 0.9303
PINN 2.5842 0.7127 0.7314
FUZZY 6.1231 1.2717 1.4392
SM 8.9817 1.7872 1.9865

Regarding the dynamic performance of the stator currents (iq, id),Figure 9(b) shows that the evolution is suitable for all control strategies. Figure 9(b) exhibit that id = 0 except in the fuzzy controller and sliding modes techniques. The response id obtained by sliding mode controller varies within a range between 0.25 and -0.2 Amp.

The updates gains 𝑘𝑖 and 𝑘𝑝 of PI controllers provide by the neural networks have the ability to adapt to the new desired operating condition of the PMSM, Figure 11.

Figure 11 𝑘𝑖 and 𝑘𝑝 gains evolution of the PI controllers attained by the neuro-controller, case 1 

Case 2: In this case the requirements depends of the desired speed (ω*) under changes in load torque, Tl, Table 5.

Table 5 Operating conditions, case 2 

Load torque Tl (Nm) Rotor speed ωr (rpm)
0 Nm if t < 0.10 sec 0 rpm if t < 0.05 sec
0.8 Nm if t > 0.10 & t ≤0.19 sec 150 rpm if t > 0.05 & t ≤ 0.15 sec
1.5 Nm if t > 0.19 sec 220 rpm if t > 0.15 & t ≤ 0.25 sec
60 rpm if t > 0.25 sec

Figures 12-14 present satisfactory performance for all control schemes. However, in Figure 12 it’s clear that the performance of three controllers is poorer than BSNN. The steady state condition is improved when BSNN is included, Figure 12(a). The picture 12(a) depicts the rotor speed performance when the system is in face with different disturbances, Table 4, which exhibits positive interaction between the BSNN and the conventional PI controller.

Figure 12 Dynamic performance PMSM for the second case study: a) Closed-loop speed reference trajectory tracking and b) Dynamic performance of the currents in dq frame 

Figure 13 Tracking errors for reference profile under load torque disturbance for the second case: a) dq axis current tracking error, b) Speed tracking error 

Figure 14 KP and KI gains evolution of the PI controllers attained by the neuro-controller, case 2 

In Figure 14 the evolution of the 𝑘𝑖 and 𝑘𝑝 gains of the two PI controllers updating by the B-spline neural network is presented. For the controller gains of iq current at the first samples their magnitude radically changes respect to the initial condition, reaching a value close to 1.5 and 0.71 Amp., respectively, (Figure 12(b)). Subsequently, the neural network is still learning about the motor operation, the values are updating to reach other steady state. The clearest changes are presented in the transient period, which helps that the dynamic response has better characteristics. The on-line learning rule operates faster when the parameters of interest are far from the optimal value, Figures 12-13.

The results illustrate the impact of various design and nonlinear control techniques in the PMSM performance, the study was considered high operating requirements. The performance of control techniques is in accordance with case 1 and 2. The BSNN exhibits better performance adapting itself easily to the new circumstances. This helps to maintain the operation within safer regions, preventing from an instability scenario. Table 6 shows the performance parameters of the MSIP for case 2.

Table 6 Controller performance indices, case 2 

Controller ISE IAE ITAE
PIFIX 5.8197 0.1122 0.0171
PINN 3.1278 0.0985 0.0150
FUZZY 30.3829 1.5991 1.1748
SM 41.3698 1.8149 1.2014

Table 7 presents the initial conditions for kp and ki of each current controller for both cases 1 and 2, these were obtained by off-line training. The final values that were reached after the on-line training have also been shown, the upper and lower limits refine the search space in the tuning process for PI controllers.

Table 7 Initial conditions and evolution of the gains of pi controllers 

Signal Initial PI + NN
kP kI kP kI
max min last max min last
Case 1 id 3.766 1.078 4.885 3.766 4.651 1.078 1.078 1.082
iq 5.152 0.386 6.684 5.152 6.350 0.781 0.386 0.695
Case 2 id 1.148 1.576 1.172 0.163 1.131 1.576 1.575 1.576
iq 0.784 1.615 0.801 0.111 0.772 1.664 0.224 1.594

The two cases validate the appropriate system evolution under severe and sudden changes in load torque and rotor speed, respectively. The proposed tuning technique based on BSNN has better performance with respect to fixed parameters and other controllers’ performance presented in this section, considering the transient and steady-state conditions.


The results exhibit that all controllers are designed and proved for tracking the rotor speed reference. Three control strategies (PI, sliding mode and fuzzy) are compared vs the adaptive Bspline neural network algorithm, it is concluded that while the proposed neural controller can adapt itself to different operating conditions, the conventional controller’s performance tends to be poorer under such circumstances, especially for changes in system conditions for which their parameters were tuned. We can conclude that the adaptive neural controller with on-line learning has a good interaction with conventional control techniques achieved superior performance for permanent magnet synchronous motor control. The proposed adaptive control has outperformed the rest of the controllers in analysis.


Accetta A., Cirrincione M. and Pucci M., (2012), TLS EXIN based Neural Sensorless Control of a High Dynamic PMSM, Control Engineering Practice, (20): 725-732. [ Links ]

Aguilar-Mejía O., Tapia-Olvera R., Valderrabano-González A. & Rivas I., (2016), Adaptive neural network control of chaos in permanent magnet synchronous motor, Intelligent Automation & Soft Computing, (22), 499-507. [ Links ]

Alonge F., D’Ippolito F., Giardina G. and Scaffidi T., (2007). “Design and low-cost implementation of an optimally robust reduced-order rotor flux observer for induction motor control,” IEEE Trans. on Industrial Electronics, (54): 3205-3216. [ Links ]

Beltran-Carbajal F., Tapia-Olvera R., Lopez-Garcia I., and Guillen D., (2018), Adaptive dynamical tracking control under uncertainty of shunt DC motors, Electric Power Systems Research, (164), 70-78. [ Links ]

Brown M., Harris C., (1995). Neurofuzzy Adaptive Modeling and Control, Prentice Hall. [ Links ]

Chang Y., Chen C., Zhu Z. and Huang Y., (2016), "Speed Control of the Surface-Mounted Permanent-Magnet Synchronous Motor Based on Takagi-Sugeno Fuzzy Models," IEEE Transactions on Power Electronics, (31), 6504-6510. [ Links ]

Chih-Hong L. and Chih-Peng L., (2013). The hybrid RFNN control for a PMSM drive electric scooter using rotor flux estimator, International Journal of Electrical Power & Energy Systems, (51): 213-223. [ Links ]

Choi H. H., Jin-Woo J., (2011). Takagi-Sugeno fuzzy speed controller design for a permanent magnet synchronous motor, Mechatronics, (21): 1317-1328. [ Links ]

Choi H., Yun H. and Kim Y., (2015), "Implementation of Evolutionary Fuzzy PID Speed Controller for PM Synchronous Motor," IEEE Transactions on Industrial Informaics, (11), 540-547. [ Links ]

Englert T. and Graichen K., (2018), Nonlinear model predictive torque control of PMSMs for high performance applications, Control Engineering Practice, (81), 43-54. [ Links ]

Feng G., (2010). Analysis and Synthesis of Fuzzy Control Systems: A Model-Based Approach, CRC Press. [ Links ]

Golub, G. H., & Loan, C. F. V. (1996). Matrix computations (3rd ed.). Baltimore, MD: The Johns Hopkins Univ. Press. [ Links ]

Hamida M. A., Glumineau A., de Leon J., Loron L., (2014). Robust adaptive high order sliding-mode optimum controller for sensorless interior permanent magnet synchronous motors, Mathematics and Computers in Simulation, (105): 79-104. [ Links ]

Han Ho C., Hong Min Y., Yong K., (2013). Implementation of Evolutionary Fuzzy PID Speed Controller for PM Synchronous Motor, IEEE Trans. on Industrial Informatics, (11): 540-547. [ Links ]

Heng D., Dipti S., Ramesh O., (2010). A B-spline network based neural controller for power electronic applications, Neurocomputing, (73): 593-601. [ Links ]

Hu J., Qiu Y., Lu H., (2016), Adaptive robust nonlinear feedback control of chaos in PMSM system with modeling uncertainty, Applied Mathematical Modelling, (40), 8265-8275. [ Links ]

Iqbal A., Abu-Rub H., Nounou H., (2014). Adaptive fuzzy logic-controlled surface mount permanent magnet synchronous motor drive, Systems Science & Control Engineering, (2): 465-475. [ Links ]

Jin-Woo J., Quoc V., Duc T., Eun-Kyung K., Ho H., (2014). Adaptive PID Speed Control Design for Permanent Magnet Synchronous Motor Drives, IEEE Trans. on Power Electronics, (30): 900-908. [ Links ]

Jon R., Wang Z., Luo C., Jong M., (2017), Adaptive robust speed control based on recurrent elman neural network for sensorless PMSM servo drives, Neurocomputing, (227), 131-141. [ Links ]

Jun-Jien R., Yan-Cheng L., Ning W., Si-Yuan L., (2015). Sensorless control of ship propulsion interior permanent magnet synchronous motor based on a new sliding mode observer, ISA Transactions, (54): 15-26. [ Links ]

Khanchoul M., Hilairet M., Normand-Cyrot D., (2014). A passivity-based controller under low sampling for speed control of PMSM, Control Engineering Practice, (26): 20-27. [ Links ]

Krishnan R., (2010). Permanent Magnet Synchronous and Brushless DC Motor Drives, CRC Press. [ Links ]

Kumar V., Gaur P., Mittal A. P., (2014). ANN based self-tuned PID like adaptive controller design for high performance PMSM position control, Expert Systems with Applications”, (41): 7995-8002. [ Links ]

Liu X., Yu H., Yu J. and Zhao L., (2018) Combined Speed and Current Terminal Sliding Mode Control With Nonlinear Disturbance Observer for PMSM Drive, IEEE Access, (6), 29594-29601. [ Links ]

Lu E., Li W., Yang X., Xu S., (2017), Composite Sliding Mode Control of a Permanent Magnet Direct-Driven System for a Mining Scraper Conveyor, IEEE Access, (5), 22399 - 22408. [ Links ]

Marufuzzaman M., Ibne M. B., Farzana L., Gyu T T., (2014). A high speed current dq PI controller for PMSM drive, Tehnički vjesnik - Technical Gazette, (21): 467-470. [ Links ]

Moreno J. A., Osorio M., (2008). Lyapunov Approach to Second-Order Sliding Mode Controllers and Observers, In Proc. 47 th IEEE Conf. on Decision and Control, 2856-2861. [ Links ]

Nizami T., Chakravarty A. and Mahanta C., (2017), Design and implementation of a neuroadaptive backstepping controller for buck converter fed PMDC-motor, Control Engineering Practice, (58), 78-87. [ Links ]

Omrane I., Etien E., Dib W., Bachelier O., (2015). “Modeling and Simulation of Soft Sensor Design for Real-Time Speed and Position Estimation of PMSM,” ISA Transactions, (57): 329-339. [ Links ]

Ortega R., Monshizadeh N., Monshizadeh P., Bazylev D., and Pyrkin A., (2018), Permanent magnet synchronous motors are globally asymptotically stabilizable with PI current control, Automatica, (98), 296-301. [ Links ]

Öztürk N., and Çelik E., (2012). Speed control of permanent magnet synchronous motors using fuzzy controller based on genetic algorithm, International Journal of Electrical Power & Energy Systems, (43), 889-898. [ Links ]

Qutubuddin M. D. and Yadaiah N., (2018), A new intelligent adaptive mechanism for sensorless control of permanent magnet synchronous motor drive, Biologically Inspired Cognitive Architectures, (24), 47-58. [ Links ]

Serre, D. (2002). Matrices: Theory and applications. New York: Springer. [ Links ]

Tapia-Olvera R., Beltran-Carbajal F., Aguilar-Mejia, O. and Valderrabano-Gonzalez A., (2016), An Adaptive Speed Control Approach for DC Shunt Motors, Energies, (9), 961. [ Links ]

Tapia-Olvera Ruben., Aguilar-Mejía Omar., Minor-Popocatl H., Santiago C., (2012). Power System Stabilizer and Secondary Voltage Regulator Tuning for Multimachine Power Systems, Electric Power Components and Systems, (40): 1751-1767. [ Links ]

Thi-Thuy N. V., Choi H. H., Jung J. W., (2012). “Certainty equivalence adaptive speed controller for permanent magnet synchronous motor,” Mechatronics, (22): 811-818. [ Links ]

Utkin V., Guldner J., Shi J., (2009). Sliding Mode Control in Electro-Mechanical Systems, CRC Press. [ Links ]

Verrelli C. M., Tomei P., Lorenzani E., Migliazza G., Immovilli F. (2017), Nonlinear tracking control for sensorless permanent magnet synchronous motors with uncertainties, Control Engineering Practice, (60), 157-170. [ Links ]

Wang H., Zou Q., (2014). “B-Spline-Decomposition-Based Approach to Multiaxis Trajectory Tracking: Nanomanipulation Example,” IEEE Trans. on Control Systems Technology, (22): 1573-1580. [ Links ]

Yazdani A. and Iravani R., (2010). Voltage-Sourced Converters in Power Systems Modeling, Control, and Applications, Wiley. [ Links ]

Zhang Y., Song J., Song S., Yan M., (2010). Adaptive PID Speed Controller Based on RBF for Permanent Magnet Synchronous Motor System, in Proc. 2010 IEEE International Conf. Intelligent Computation Technology and Automation, Changsha, 425-428. [ Links ]

Zhengyu L., Reay D. S., Williams B. W., Xiangning H., (2006). Torque Ripple Reduction in Switched Reluctance Motor Drives Using B-Spline Neural Networks, IEEE Trans. on Industry Applications, (42), 1445-1453. [ Links ]

Received: August 08, 2018; Accepted: January 10, 2019

*Autor para correspondencia: Omar Aguilar Mejía, E-mail:

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons