Abstract
This paper proposes a servo controller design method for speed control of Brushless DC (BLDC) motors using polynomial differential operator method. To do this task, the followings are done. Firstly, modeling for a BLDC motor is introduced and an extended system incorporating the internal model principle to construct the servo system is shown using polynomial differential operator in case that the types of reference inputs are differential polynomials. Secondly, a state feedback control law for the servo system to track the given reference input is designed by a well known regulator design method. The implementation of the proposed servo controller for a BLDC motor are completely carried out using a dSPACE DS1104 digital signal processor (DSP). The simulation and experimental results are shown to verify the effectiveness and the applicability of the proposed controller compared to the conventional PI controller for speed control of the BLDC motor with a step type of disturbance and 3 types of the references such as step, ramp and parabola.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
BLDC motor has been used extensively in industrial automation, aerospace, instrumentation and automotive industry since 1970’s. BLDC motor has the following advantages over brushed DC motors and induction motor such as high torque to inertia ratio, high efficiency, better speed versus torque characteristics, compact size, less maintenance [1]. However, the disadvantages of the BLDC motor have high cost and the necessity of a more complex controller because of its nonlinear characteristics [2].
For controlling the speed of BLDC motor, several controllers are used. The most widely used controller of them is a conventional PI controller because it is facile and easy to understand [3]. The PI controller is simple to realize but difficult for applying to obtain sufficiently high performance in the tracking application. It is, however, well known that the tracking controller problem can be simply solved by using state variable feedback with the extension of the state variables using the output error [4]. For the unknown and inaccessible inputs, the observer technique was studied by [5]. To solve robust servomechanism problem for SISO system, Kim et al. [6] introduced a servo control method with disturbance rejection and reference signal tracking by adopting the internal model principle and bilinear transformation method. In [6], there was not show for the explicit condition and its proof for the controller existence to achieve the robust control objectives. Kim [7] proposed a new concept of MIMO servo design method by extending the results of [6] and introducing a polynomial differential operator.
In this paper, a robust servo controller proposed by [7] is applied for speed control of BLDC motors. To do this task, the followings are done. Firstly, modeling for a BLDC motor is introduced and an extended system incorporating the internal model principle to construct the servo system is shown using polynomial differential operator in case that the types of reference inputs are differential polynomials. Secondly, a state feedback control law for the extended system to track the given reference input is designed by a well known regulator design method. The implementations of the proposed servo controller for a BLDC motor are completely carried out using a dSPACE DS1104 DSP. The simulation and experimental results are shown to verify the effectiveness and the applicability of the proposed controller compared to the conventional PI controller for speed control of the BLDC motor with a step type of disturbance and 3 types of the references such as step, ramp and parabola.
2 Modeling of BLDC Motors
Figure 1 shows the circuit diagram of a BLDC motor. Assuming that the stator resistances \( R_{s} \) of all of the windings stators, self inductances \( L_{s} \) and mutual inductances \( M \) are equal and constant, \( L = L_{s} - M \), the voltage equation of the BLDC motor with three phases can be expressed as
where \( {\mathbf{v}} = \left[ {\begin{array}{*{20}c} {v_{a} } & {v_{b} } & {v_{c} } \\ \end{array} } \right]^{T} ,\,\,{\mathbf{i}} = \left[ {\begin{array}{*{20}c} {i_{a} } & {i_{b} } & {i_{c} } \\ \end{array} } \right]^{T} ,\,\,{\mathbf{e}} = \left[ {\begin{array}{*{20}c} {e_{a} } & {e_{b} } & {e_{c} } \\ \end{array} } \right]^{T} , \)
\( {\mathbf{v}},\,\,{\mathbf{i}},\,\,{\mathbf{e}},\,\,{\mathbf{L}},\,\,{\mathbf{R}} \) are the stator phase voltage matrix, the stator phase current matrix, the stator phase back-electromagnetic forces (back-emfs) matrix, the phase stator inductance matrix and stator phase resistance matrix, respectively.
The electromagnetic torque is given by
where \( \omega_{m} \) is the mechanical angular velocity of the rotor.
The equation of motion for the rotor of BLDC motor is
where \( J,\,\,T_{L} \) and \( \beta \) are the moment of inertia, load torque and the viscous damping coefficient of the rotor, respectively.
For the estimation of the rotor position, the motor is equipped with three hall sensors \( H_{1} ,\,\,H_{2} ,\,\,H_{3} \). With these sensors, 6 different commutations are possible. Figure 2 shows the waveforms of back-emfs, phase currents and electromagnetic torque of BLDC depending on hall sensor values. With right synchronized commutations, the torque remains nearly constant.
The trapezoidal back-emfs vector is modeled as a function of rotor position as
where
- \( E \) :
-
is the amplitude of the phase back-emfs and proportional to the rotor speed
- \( K_{e} \) :
-
is back-emfs constant
- \( \theta_{e} \) :
-
is the electrical rotational angle related to the rotor rotational angle \( \theta_{m} \) and the number of pole pairs \( p \) by \( \theta_{e} = \frac{p}{2}\theta_{m} \).
The function \( F\left( \cdot \right) \) gives the trapezoidal waveform of the back-emfs as shown in Fig. 2.
The function for one period \( F\left( \cdot \right) \) can be written as
The electromagnetic torque can be expressed from Eqs. (2) and (4)–(6) as:
where \( K_{T} \) is torque constant and it is assumed that \( K_{T} = K_{e} = K \) for this paper.
The rotor rotational angle is obtained by integrating the mechanical angular velocity of the rotor:
where \( \theta (0) \) is the initial angle of rotor.
There are six commutation steps for one complete cycle. To simplify the problem, one of the six steps will be modeled. The remaining steps are considered to be similar. The voltage relation in each step following line-to-line equation in Figs. 1 and 2 and Eqs. (4) and (5) gives
where \( V_{dc} \) is a DC bus voltage, \( u \) is a duty cycle value and \( i = i_{a} = - \,i_{b} \).
During each interval of \( \pi /3 \) in Fig. 2, the electromagnetic torque can be expressed from Eqs. (6) and (7) and \( i_{a} ,\,i_{b} ,\,i_{c} \) in Fig. 2 as:
By substituting current obtained from Eqs. (9) and (10) in Eq. (3), a second order differential equation is derived with \( \omega_{m} \) as state variable
where constants \( a_{1} ,\,\,a_{2} ,\,\,b_{1} \) and \( b_{2} \) are defined as
An inaccessible \( T_{L} \) can be considered as disturbance term to be unknown and assumed to be a constant.
The state dynamic equation of a given system Eq. (11) with disturbance \( \varepsilon \) can be expressed as follows:
where
\( {\mathbf{x}} \in R{}^{n} \) is the state vector (n = 2), \( y \in R^{p} \) is the output vector (\( p \) = 1), \( u \in R^{m} \) is the input vector (m = 1), \( {\varvec{\upvarepsilon}} \in R^{n} \) is an un-measurable disturbance vector, \( A \in R^{n \times n} \) is the system matrix,\( B \in R^{n \times m} \) is the input matrix, \( C \in R^{p \times n} \) is the output matrix. It is assumed that \( (A,B) \) is controllable and \( (A,C) \) is observable.
3 Servo Controller Design Using Polynomial Differential Operator
The output error for a SISO system (\( m = 1,p = 1 \)) is defined by
where \( y_{r} \) is the reference output and \( e \) is the output error.
It is assumed that the following homogeneous differential equation forms for reference and disturbance using linear polynomial differential operators of \( L_{r} (D) \) and \( L_{\varepsilon } (D) \) are satisfied, respectively:
where \( D = d/dt \) is the differential operator, \( \rho_{i} ,\mu_{i} \) are constant coefficients and \( \sigma ,l \) are orders of differential polynomials.
\( R\left( D \right) \) is defined as the greatest common divisor of \( L_{r} \left( D \right) \) and \( L_{\varepsilon } \left( D \right) \) as follows:
where \( U(D),V(D) \) are factors of \( L_{r} \left( D \right) \) and \( L_{\varepsilon } \left( D \right) \), respectively.
\( L\left( D \right) \) is defined as the least common multiple of \( L_{r} \left( D \right) \) and \( L_{\varepsilon } \left( D \right) \) and can be obtained from (17) as the following polynomial differential operator:
where \( \dim \{ V(D)\} = q - \sigma \) and \( \dim \{ U(D)\} = q - l,\,\,\dim \{ R(D)\} = l + \sigma - q \) and \( \dim \{ L(D)\} = q \ge \dim \left\{ {L_{r} \left( D \right)} \right\}\,\,{\text{or}}\dim \left\{ {L_{\varepsilon } \left( D \right)} \right\} \).
By operating \( L\left( D \right) \) of Eq. (18) for \( \varepsilon_{i} \) and \( y_{r} \), the following are obtained:
where the dimension of \( q \) holds \( q \ge l\;or\;q \ge \sigma \).
The adaptation of the internal model principle (IMP) to the servo control system design is attempted by 3 steps [7]:
-
[Step 1] by operating the polynomial differential operator to the given system of Eq. (12) and also the output error of Eq. (14).
-
[Step 2] an extended system is obtained by using the operated system and output errors obtained through the step 1
-
[Step 3] for the extended system, a regulator problem is solved based on the well known design method such as pole assignment or optimal control.
Firstly, to eliminate the effect of disturbance in Eq. (12), by operating the polynomial differential operator of \( L(D) \) to both sides of Eq. (12) using Eq. (19) as follows:
Secondly, by operating \( L(D) \) to Eq. (14) and using the property of Eq. (18), the followings can be obtained.
Equation (22) can be described into the matrix form as follows:
where
By combining Eqs. (20) and (23), an extended system can be obtained as follows:
where
\( x_{e} \) is an extended system state variable vector, \( v = L(D)u \in R^{1} \) is a new control law for the extended system and \( z \) is an error variable vector for the extended system.
A new control law for the extended system is defined by the following form:
where \( F = \left[ {\begin{array}{*{20}c} {F_{x} } & {F_{z} } \\ \end{array} } \right] \in R^{1 \times (n + q)} \) is a feedback control gain matrix, and \( F_{x} \in R^{1 \times n} \) and \( F_{z} \in R^{1 \times q} \) are feedback control gain matrices for \( L(D)x \) and \( z \), respectively.
A new error variable vector for the extended system can be defined as
where \( \zeta = \left[ {\begin{array}{*{20}c} {\zeta_{1} } & {\zeta_{2} } & \cdots & {\zeta_{q} } \\ \end{array} } \right]^{T} \in R^{q} \), and \( \zeta_{i} \in R^{q} \;{\text{for}}\;i = 1, \ldots ,q. \)
Using Eqs. (25) and (26), the control law of Eq. (12) can be obtained as follows:
where \( x_{\zeta } \in R^{n + q} \) is a new extended system variable vector.
Controllability of the extended system Eq. (24) can be easily checked [7].
The closed loop system of the extended system Eqs. (24) using (25) is obtained as
The closed loop system of Eq. (28) is asymptotically stabilized by designing the feedback control law of Eq. (27) with a feedback control matrix \( F \) so as to be \( \text{Re} \left\{ {\lambda_{i} (A_{e} - B_{e} F} \right\} < 0 \).
There exists a gain matrix \( F = \left[ {\begin{array}{*{20}c} {F_{x} } & {F_{z} } \\ \end{array} } \right] \) so that the following matrix is asymptotically stable [8, 9].
When the feedback control law of the extended system of Eq. (24) is designed based on the above regulator design problem [4, 6], the output error of (14) becomes \( e(t) \to 0 \) as \( t \to \infty . \)
Since \( x_{e} \to 0 \) by regulator design result, that is \( x_{e} \to 0 \) means \( \left[ {\begin{array}{*{20}c} {Lx^{T} } & {z^{T} } \\ \end{array} } \right]^{T} \to 0 \) as follows:
As the result, the error \( e(t) \to 0\;as\;t \to \infty . \)
Using the new control input \( v \), the extended system of Eq. (24) can be written by
where \( L(D)\varepsilon = 0 \) from Eq. (19) and \( I_{\xi } = \left[ {\begin{array}{*{20}c} 0 & 0 & \cdots & 1 \\ \end{array} } \right]^{T} \in R^{q} \).
By operating the inverse polynomial differential operator \( L^{ - 1} (D) \) for Eq. (31), the following equations can be obtained due to \( L^{ - 1} (D)\left( {L(D)\varepsilon } \right) = \varepsilon \) by \( L(D)\varepsilon = 0 \):
The servo compensator \( \dot{\zeta } = \frac{d}{dt}\zeta \) of Eq. (32) includes the model of reference and disturbance signals since the matrix \( N \) is composed of the least common multiple model of two signals. It proposes the internal model principle based on the polynomial differential operator.
The configuration of the proposed servo control system can be described as shown in Fig. 3.
4 Simulation and Experimental Results
In this section, and implementation for a BLDC motor are completely carried out using a dSPACE DS1104 digital DSP and MATLAB/Simulink environment to verify the effectiveness and applicability of the proposed servo system and controller as show in Fig. 4. Table 1 shows the parameters values of BLDC motor for this paper.
Three reference inputs are chosen: reference of step type \( y_{r} = 1000\,{\text{rpm}} \), reference of ramp type \( y_{r} (t) = 200t \), and reference of parabola type \( y_{r} (t) = 10t^{2} \). It is assumed that the disturbance is given as step type model of the following:
Using the parameter values from Table 1 to the BLDC motor mathematical model of Eqs. (12) and (13), the following can be obtained:
Table 2 shows the initial state variable values of BLDC motor for this paper
Typical PI tuning method is used by Ziegler-Nicholas tuning method.
The parameters, controller gains and servo compensators for 3 types of reference signals are obtained by using the proposed servo controller design method as shown in Table 3.
4.1 Step Input
Figure 5 shows simulation and experimental results for the reference step input of \( y_{r} (t) = 1000\,{\text{rpm}} \) using both the proposed control method and the conventional PI control method.
Figure 5a shows the control laws of both control methods. It shows that both control laws converge to 0.816 after about 1.5 s. Figure 5b shows the outputs for both control methods. It shows that both outputs of motor speed converge to the reference step input of 1000 rpm. The outputs for PI converges to the reference step input after about 1.5 s, while the outputs for the proposed method converges to the reference step input smoothly after about 0.7 s. Figure 5c shows the output errors for both methods. The output error for PI converges to zero after about 1.5 s, while the output error for the proposed method converges to zero smoothly after about 0.7 s.
4.2 Ramp Input
Simulation and experimental results using reference ramp input for the proposed method and the PI controller are shown in Fig. 6. Figure 6a shows the control laws using both methods. Figure 6b shows that only the outputs of the controller using the proposed method can track the reference ramp signals and stabilize the plant after finite time. The outputs of the controller using the PI controller cannot track the reference ramp signal. Furthermore, Fig. 6c shows that the output errors of the controller using the proposed method converge to zero and stabilize the plant after finite time. On the other hand, in the controller using the PI, the steady state errors of 65.78 rpm exists.
4.3 Parabolic Input
Simulation and experimental results using reference parabolic input for the proposed method and the PI controller are shown in Fig. 7. Figure 7a shows the control inputs using both methods. Figure 7b, c shows the same results as shown in the case of ramp for the parabolic type of reference signal, that is, PI controller has steady error for the given parabolic signals is increasing
5 Conclusion
This paper proposed a servo controller design for speed control of BLDC motors using polynomial differential operator method. Firstly, modeling for an BLDC motor was introduced and extended system incorporating the internal model principle to construct the servo system was shown using polynomial differential operator in case that the types of reference inputs were polynomials. Secondly, a state feedback control law for the servo system to track the given reference input was designed. The implementations of the proposed controller were completely carried out using a dSPACE DS1104 DSP. The simulation and experimental results were shown to verify the effectiveness and the applicability of the proposed controller compared to conventional PI controller. It showed that the proposed method could overcome the problem for more high order types of reference signals under disturbance.
References
Tibor B, Fedak V, Durovsky F (2011) Modeling and simulation of the BLDC motor in MATLAB GUI. In: 2011 IEEE International Symposium on Industrial Electronics (ISIE), Gdansk, pp 1403–1407
Pearson WR, Sen PC (1984) Brushless DC motor propulsion using synchronous motor for transit system. IEEE Trans Ind Electron 31(4):326–351
Lin CT, Hung CW, Liu CW (2007) Fuzzy PI controller for BLDC motors considering variable sampling effect. In: 33rd Annual Conference of the IEEE industrial electronics society (IECON 2007), Taipei, pp 5–8
Davison EJ (1972) The output control of linear time-invariant multivariable systems with unmeasurable arbitrary disturbances. IEEE Trans Autom Control 17(5):621–630
Meditch JS, Hostetter GH (1973) Observer for systems with unknown and inaccessible inputs. In: 1973 IEEE Conference on decision and control including the 12th symposium on adaptive processes, San Diego, CA, USA, pp 120–124
Kim SB, Oh SJ, Jung YG, Kim HS (1991) Application of bilinear transformation method to servo system design and position control for a cart system. Trans KIEE 40(3):290–298
Kim DH (2015) Servo controller design using polynomial differential operator method and its applications. PhD thesis, Pukyong National University
Furuta K, Kim SB (1987) Pole assignment in a specified disk. IEEE Trans Autom Control 32(5):423–427
Kim SB, Furuta K (1988) Regulator design with poles on a specified region. Int J Control 47(1):143–160
Acknowledgments
This research was supported by a grant (code 15LRP-B079281-02) from Transportation & Logistics Research Program funded by Ministry of Land, Infrastructure and Transport of Korean government.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Nguyen, T.H. et al. (2016). Servo Controller Design for Speed Control of BLDC Motors Using Polynomial Differential Operator Method. In: Duy, V., Dao, T., Zelinka, I., Choi, HS., Chadli, M. (eds) AETA 2015: Recent Advances in Electrical Engineering and Related Sciences. Lecture Notes in Electrical Engineering, vol 371. Springer, Cham. https://doi.org/10.1007/978-3-319-27247-4_31
Download citation
DOI: https://doi.org/10.1007/978-3-319-27247-4_31
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27245-0
Online ISBN: 978-3-319-27247-4
eBook Packages: EngineeringEngineering (R0)