DOI QR코드

DOI QR Code

PSO-Based Optimal PI(D) Controller Design for Brushless DC Motor Speed Control with Back EMF Detection

  • Received : 2015.04.10
  • Accepted : 2015.10.27
  • Published : 2016.05.01

Abstract

This paper proposes a design of optimal PI(D) controller for brushless DC (BLDC) motor speed control by the particle swarm optimization (PSO), one of the powerful metaheuristic optimization search techniques. The proposed control system is implemented on the TMS320F28335 DSP board interfacing to MATLAB/SIMULINK. With Back EMF detection, the proposed system is considered as a class of sensorless control. This scheme leads to the speed adjustment of the BLDC motor by PWM. In this work, the BLDC motor of 100 watt is conducted to investigate the control performance. As results, it was found that the speed response of BLDC motor can be regulated at the operating speed of 800 and 1200 rpm in both no load and full load conditions. Very satisfactory responses of the BLDC system can be successfully achieved by the proposed control structure and PSO-based design approach.

Keywords

1. Introduction

Brushless DC (BLDC) motor is a new-type motor of mechanical and electrical integration. It has been increasingly accepted into practice because of its high efficiency and good controllability. The BLDC motor uses permanent magnets for excitation. Rotor position sensors of such the motor are needed to perform electrical commutation. Usually, three Hall Effect sensors are used as rotor position sensors for a BLDC motor. However, the rotor position sensors cause several disadvantages from the standpoint of total system such as cost, size and reliability. For these reasons, it is desired to eliminate these sensors from the motor. This leads the sensorless control.

In recent years, sensorless BLDC motor has been studied [1],[2]. The rotor position signal of the motor can be detected by motor voltage and current, etc. Among the methods of rotor position estimation, the Back EMF estimation is one of the major approaches [3]. However, the Back EMF is very small in the process of motor starting, and the commutation point is not easily achieved. For these reasons, the conventional sensorless drive needs a complicated starting procedure [1-3].

Design and implementation of the BLDC motor drive by PI(D) controller based on TMS320F28335 DSP board [4] interfacing to MATLAB/SIMULINK [5] is proposed in this paper. In order to obtain the optimal PI(D) controller, the particle swarm optimization (PSO), one of the powerful metaheuristic optimization search techniques [6-8], is applied to achieve the optimal tracking and regulating responses. The trapezoidal Back EMF waveforms are modeled as a function of rotor position, while the switching function concept is adopted to model the voltage source inverter (VSI). In this work, the genetic algorithm (GA) and tabu search (TS) are conducted to design the PI(D) controller for comparison in simulation results. By the proposed experimentation, speed and current waveforms of the controlled system can be easily obtained.

 

2. BLDC Model and DSP Board

2.1 Mathematical model of BLDC

In practice, the commutation of the brushless DC motor is done electronically. The position of rotor is very important for electrical commutation. Usually, the Hall sensors are placed in 120-degree intervals and the common operation of BLDC motor is achieved by six-section. The Back EMF and Hall sensor signals are depicted in Fig. 1.

Fig. 1.Back EMF and Hall-Effect sensor signals

Once the magnetic poles of rotor come to Hall sensor, the sensory signals are generated. According to the six-step in Fig. 1, the commutation sequence is performed. The motor phases are supposed to conduct for 120 electrical degrees two times per cycle. The two phases are only conducted at one time. The Hall sensor signal has the rising and falling edges for each phase. This means that the six-trigger signals are generated per one cycle. Using these trigger signals, motor control is carried out. The switching sequence for commutation phase is given in Table 1. For forward and reverse directions of rotor, switching sequence is different.

Table 1.Switching sequence

Modeling of BLDC motor is similar to three-phase synchronous machine. Since there is permanent magnet mounted on the rotor, some dynamic characteristics are different. Model of BLDC motor can be formulated through the electrical equivalent circuit represented in Fig. 2 [9-12].

Fig. 2.Equivalent circuit of BLDC motor

The voltage equation in (1) consists of resistance, inductance and Back EMF voltages for a, b and c phases, where vx is the input voltage, ix is the current, R is the resistance, L is the inductance and ex is the Back EMF, respectively. The subscript x stands for a, b and c phases. In upper voltage equation, L is the difference between self-inductance Ls and mutual-inductance Lm. That is, L = Ls–Lm.

In the 3-phase BLDC motor, the Back EMF ex in (2) is related to a function of rotor position, where Kw is Back EMF constant of one phase, θe is the electrical rotor angle and ωm is the rotor angular velocity. The subscript x presents a, b and c phases. If x is a, b and c phase, n is 0, 1 and 2, respectively.

Unlike the induction motor or synchronous motor control, phase variables are used directly without any transformation equation in BLDC motor. The physical properties as current, flux and Back EMF perform rectangular forms. This implied that the coordinate transformation is not needed. The output power Pe and the torque Te of the BLDC motor are expressed in (3) and (4), respectively.

If a motor is operated with two-phase conduction type, the torque equation is modified. In S1 mode as shown in Table 1, the current (ia = I, ib = –I and ic = 0) and Back EMF ea = E and eb = –E. The torque Te of the BLDC motor can be expressed in (5).

The total output torque is a simple equation of Back EMF E and current I. Regarding to (5) for producing an electromagnetic torque, the sum of eaia, ebib and ecic is constant as far as a certain speed is concerned. As shown in Fig. 2, this means that the rectangular phase currents with the corresponding Back EMF are required [3].

2.2 DSP controller board

The DSP controller board used in this work is the Texas Instrument TMS320F28335 [4] consisting of a 32-bit CPU and a single-precision 32-bit floating-point. The 150 MHz system clock is provided by an on-chip oscillator including the MATLAB/SIMULINK software platform [5]. The module board includes 3-phase PWM inverter 90V, 5A upto 25 kHz PWM frequency and measurement of motor currents in all 3 phases with DC voltage supply of 5Vdc.

The BLDC motor speed control system based on TMS320F28335 DSP board can be represented in Fig. 3. The MATLAB/SIMULINK platform is integrated to monitor communication program and DSP applications. Using the PC communication module, it can accessible to the TMS320F28335 DSP controller board and execute any application program in order to analyze and evaluate the overall system performance.

Fig. 3.DSP-based BLDC motor speed control system

 

3. PSO Algorithm and PI(D) Design Problem

3.1 PSO algorithm

In 1995, Kennedy and Eberhart first introduced the particle swarm optimization (PSO) method [6-8] as one of the population-based optimization techniques and a kind of evolutionary computation technique. The method has been found to be robust in solving problems featuring nonlinearity and nondifferentiability, multiple optima, and high dimensionality through adaptation, which is derived from the social-psychological theory. The features of the method are as follows: the method is developed from research on swarm such as fish schooling and bird flocking and it can be easily implemented, and has stable convergence characteristic with good computational efficiency.

The PSO uses a population of potential solutions called particles that are flown through the search space. In PSO’s algorithm, the particles have an adaptable velocity that determines their movement in the search-space. Each particle also has a memory and hence it is capable of remembering the best solution in the search-space ever visited by it. The position corresponding to the best fitness is known as pbest and the overall best out of all the particles in the population is called gbest.

Consider that the search-space is d-dimensional and i-th particle in the swarm can be represented by Xi = (xi1, xi2, …, xid) and its velocity can be represented by another d-dimensional vector Vi = (vi1, vi2,…, vid). Let the best previously visited position of this particle be denoted by Pi = (pi1, pi2,…, pid). If g-th particle is the best particle and the iteration number is denoted by the superscript, then the swarm is modified according to (6) and (7), respectively, where w is inertia weight, c1 is cognitive acceleration, c2 is social acceleration, r1 and r2 are random numbers uniformly distributed in the range [0, 1].

The constants c1 and c2 represent the weighting of the stochastic acceleration terms that pull each particle toward pbest and gbest positions. Low values allow particles to roam far from the target regions before being tugged back. On the other hand, high values result in abrupt movement toward, or past, target regions. Hence, the acceleration constants c1 and c2 were often set to be 2.0 [6, 7].

Suitable selection of inertia weight w in (6) provides a balance between global and local explorations, thus requiring less iteration on average to find a sufficiently optimal solution. As originally developed, w often decreases linearly from about 0.9 to 0.4 during a run. In general, the inertia weight w is set according to the (8) [7],[8], where wi is weight function for velocity of ith agent, wmin=0.4 is the minimum weight, wmax=0.9 is the maximum weight, k is the current iteration and kmax is the maximum iteration.

3.2 PSO-based PI(D) design problem

The use of proportional-integral (PI), proportional-integral-derivative (PID) controllers for industrial applications was first introduced in 1939 [13, 14]. Due to ease of use and simple realization, PI-PID controllers have been increasingly employed in the control system over decades. The PI(D) control loop can be represented by the block diagram in Fig. 4. The PI(D) controller receives the error signal, E (s), and generates the control signal, U (s), to regulate the output response, C(s), referred to the input, R(s) and to reject the disturbance signal, D (s), where Gp(s) and Gc(s) are the plant and the controller transfer functions, respectively. The theoretical function of the PI controller Gc(s) is stated in (9) and, where Kp and Ki are the proportional and integral gains. While the theoretical function of the PID controller Gc(s) is stated in (10) and, where Kp, Ki and Kd are the proportional, integral and derivative gains, respectively.

Fig. 4.PI(D) control loop

In this work, the PSO is applied to design an optimal PI(D) controller in order to gain the optimal response of the BLDC system. The PSO-based PI(D) controller design for BLDC system can be represented by the block diagram in Fig. 5, where C(s) and C*(s) stand for actual and desired responses. The sum-squared error (SSE) between R(s) and C(s) set as the objective function J stated in (11) will be fed back to the PSO block to be minimized to obtain an appropriate PI(D) parameters, i.e. Kp, Ki of PI controller and Kp, Ki, Kd, of PID controller giving a satisfactory response.

Fig. 5.PSO-based PI(D) controller design

 

4. Results and Disscussions

4.1 BLDC model identification

The open-loop responses of the BLDC system (without controller) at the speed of 800 rpm and 1200 rpm can be obtained by experiment as depicted in Fig. 6 and Fig. 7. The plant Gp(s) of the BLDC can be identified via MATLAB and system identification toolbox [15]. The third-order transfer function model obtained by this approach can be expressed in (12).

Fig. 6.Open-loop speed response at 800 rpm

Fig. 7.Open-loop speed response at 1200 rpm

4.2 Simulation results

Regarding to Fig. 5, the PSO is applied to design the PI(D) controller for the BLDC system. The PSO algorithm is coded by MATLAB running on Intel Core2 Duo 2.0 GHz 3 Gbytes DDR-RAM computer. For this application, the number of particles is set of 100. c1 = c2 = 2.0, r1 and r2 are random numbers uniformly distributed in the range [0, 1], wmin = 0.4, wmax = 0.9 and kmax = 1,000 is maximum iteration set as the termination criteria for each trial.

For comparison, the GA and TS are conducted to design the PI(D) controller for the BLDC system. Search parameters of the GA and TS are set as the original ones. Both GA and TS will be terminated when the generation or iteration reaches 1,000. Algorithms of the GA and TS are omitted. Readers can find the details of GA in [16-17] and TS in [18-20], respectively. Those algorithms are coded by MATLAB running on the same platform.

For the PI controller design, the boundaries of the PI parameters are set to perform the search space as follows: Kp ∈ [0, 10] and Ki ∈ [50, 100]. The design performs the search of 50 trials with different initial solutions in order to obtain the best solution. After the search process stopped, the PI controller parameters are successfully obtained by GA, TS and PSO as expressed in (13), (14) and (15), respectively. The simulation results of the controlled system are also depicted in Fig. 8.

Fig. 8.System responses of BLDC with PI controller designed by GA, TS and PSO

Referring to Fig. 8, the system responses of the BLDC motor system and the search time can be summarized in Table 2, where Tr is the rise time, Mp is the maximum percent overshoot, Ts is the settling time and ess is the steady state error. From the Table 2, with the smallest search time consumed the PSO can provide the optimal PI controller for the BLDC motor controlled system giving the fastest response with shortest rise time and settling time.

Table 2.System responses by PI controller

For the PID controller design, the boundaries of the PID parameters are set to perform the search space as follows: Kp ∈ [0, 10], Ki ∈ [50, 100] and Kd ∈ [0, 1]. The design performs the search of 50 trials to obtain the best solution. The PID controllers are successfully obtained by GA, TS and PSO as expressed in (16), (17) and (18), respectively. The simulation results are also depicted in Fig. 9.

Fig. 9.System responses of BLDC with PID controller designed by GA, TS and PSO

Referring to Fig. 9, the system responses of the BLDC motor controlled system and the search time consumed can be summarized in Table 3. From the Table 3, it was found that with the smallest search time consumed the PSO can provide the optimal PID controller for the BLDC motor controlled system giving the fastest response with shortest rise time and settling time as well as smallest overshoot.

Table 3.System responses by PID controller

4.3 Experimental results

The BLDC motor speed control system is implemented by using the 100 watt, 2000 rpm BLDC motor as shown in Fig. 10. The speed of motor ranging from 0 to 2000 rpm can be measured by tacho-generator of 0.825V/500 rpm. A speed transformed to be a voltage ranging from 0 to 3.3 V will be sent to A/D convertor. This scheme enables the user can adjust the speed of the motor by the power amplifier. The performance of implemented BLDC motor based on TMS320F28335 DSP board with the MATLAB/SIMULINK can be tested by sampling rate of 0.0001 sec.

Fig. 10.BLDC motor experimental setup

In this work, the operating speed of 800 and 1200 rpm is specified because this speed range is suitable for designed Back EMF detecting circuit. At lower speed, it is neglected because the performance of the BLDC motor controlled system is decreased due to low level of Back EMF. The reversed direction control is also omitted because it performs the same characteristic (with opposite sign). Therefore, the measurements will be divided into two groups. The first is a step change of the speed reference at constant load torque, while the second is a step change of the load torque at constant speed reference. Speed responses of the system via the step change from 800 to 1200 rpm of speed reference without and with rated load torque are investigated. The Simulink block diagram of control system is represented in Fig. 11. The experimental results are measured by a digital storage scope YOKOGAWA DL1540C in which the ratio of a voltage sensor is 100V/DIV and a current sensor is 2.0A/DIV.

Fig. 11.Simulink block diagram of BLDC motor control system

For the PI control as the experimental results shown in Fig. 12 - 13, it was found that the speed responses from 800 to 1200 rpm both no load and full load conditions are very satisfactory. The phase current and DC current are distorted by noise which can be completely corrected by appropriated low-pass filters. Referring to Fig.12 - 13, the entire performance of the BLDC motor system controlled by PI controller can be summarized in Table 4.

Fig. 12.Step change from 800 to 1200 rpm by PI controller (no load)

Fig. 13.Step change from 800 to 1200 rpm by PI controller (full load)

Table 4.Entire system performance by PI controller

Referring to Table 4, it was found that at the speed from 800 rpm to 1200 rpm the system response reaches to desired steady state level. In case of no load, the step response declares values of Tr, Mp, Ts and ess almost as same as the those values obtained from simulation as can be observed in Fig. 8 and Table 2. However, Tr and Ts of the full load is a little bit slower than that of no load condition. Also, Mp of the full load is lower than that of no load condition. At both conditions, the BLDC system responses have no steady state error. Responses of load rejection by PI controller at 800 rpm and 1200 rpm can be observed in Fig. 14 - 15, respectively. It was found that the fast regulation responses once load torque is occurred can be successfully achieved by the proposed scheme.

Fig. 14.Load regulation at constant speed of 800 rpm by PI controller

Fig. 15.Load regulation at constant speed of 1200 rpm by PI controller

For the PID control as the experimental results shown in Fig.16 - 17, it was found that the speed responses of the BLDC controlled system from 800 to 1200 rpm both no load and full load conditions are very satisfactory. The distortion due to unpredictable noise in phase current and DC current can be completely rejected by appropriated low-pass filters. Referring to Fig. 16 - 17, the entire performance of the BLDC motor system controlled by PID controller can be summarized in Table 5.

Fig. 16.Step change from 800 to 1200 rpm by PID controller (no load)

Fig. 17.Step change from 800 to 1200 rpm by PID controller (full load)

Table 5.Entire system performance by PID controller

Like the PI control when referring to Table 5, it was found that at the speed from 800 rpm to 1200 rpm the system response reaches to desired steady state level. In case of no load, the step response declares values of Tr, Mp, Ts and ess almost as same as the those values obtained from simulation as can be observed in Fig. 9 and Table 3. However, Tr and Ts of the full load is a little bit slower than that of no load condition. Also, Mp of the full load is lower than that of no load condition. At both conditions, the BLDC system responses have no steady state error.

Responses of load rejection by PID controller at 800 rpm and 1200 rpm can be observed in Fig.18 - 19, respectively. It was found that the fast regulation responses once load torque is occurred can be successfully achieved by the proposed approach. For overall system performance, it can be noticed that the BLDC motor speed control system by the PI(D) controllers designed by the PSO can provide very satisfactory responses in both no load and full load conditions as well as tracking and regulating responses in both speed levels.

Fig. 18.Load regulation at constant speed of 800 rpm by PID controller

Fig. 19.Load regulation at constant speed of 1200 rpm by PID controller

 

5. Conclusions

Designing an optimal PI(D) controller for brushless DC (BLDC) motor speed control based on the PSO has been proposed in this paper. By using back EMF detection based on TMS320F28335 DSP board, the proposed control structure has been interfaced to MATLAB/SIMULINK. The PSO has been applied to design the PI(D) controller to obtain the optimal tracking and regulating responses. Performance of the proposed system has been evaluated against the BLDC motor of 100 watt. As simulation results comparing with the GA and TS, it was found that with the shortest search time consumed the PSO could provide the optimal PI(D) controller giving the fastest response with shortest rise and settling times as well as smallest overshoot. As experimental results, it was found that the satisfactory tracking and regulating speed response of BLDC motor can be achieved from 800 and 1200 rpm with no load and full load conditions. Experimental results strongly agree to simulation ones. This can be concluded that the proposed design approach and control structure are most efficient and alternative to control the BLDC motor effectively.

References

  1. V. K. S. Patel and A. K. Pandey, “Modeling and simulation of brushless DC motor using PWM control Technique,” IJERA, vol. 3(3), pp. 612-620, 2013.
  2. P. Alaeinovin and J. Jatskevich, “Hall-sensor signals filtering for improved operation of brushless DC motors,” IEEE International Symposium on Industrial Electronics (ISIE), pp.613-618, 2011.
  3. S. Y. Yun, H. J. Lee, J. H. Han and J. Lee, “Position control of low cost brushless DC motor using hall sensor,” The 6th International Conference on Electromagnetic Filed Problems and Applications (ICEF), pp. 1-4, 2012.
  4. TMS320F28335, Digital Signal Controller, Texas Instruments, 2007.
  5. The Math Works Inc., MATLAB/SIMULINK User’s Guide, Natick, MA, 1998.
  6. J. Kennedy and R. Eberhart, “Particle swarm optimization,” in Proc. IEEE Int. Conf. Neural Networks, vol. IV, pp. 1942-1948, 1995.
  7. Y. Shi and R. Eberhart, "A modified particle swarm optimizer," in Proc. IEEE Int. Conf. Evol. Comput., pp. 69-73, 1998.
  8. Y. Shi and R. C. Eberhart, "Empirical study of particle swarm optimization," in Proc. IEEE Int. Conf. Evol. Comput., pp. 1945-1950, 1999.
  9. T. J. Sokira and W. Jaffe, Brushless DC motors: Electronic Commutation and Control, Tab Books, USA, 1989.
  10. R. Krishnan, Electric Motor Drives Modeling, Analysis, and Control, Prentice-Hall International Inc., New Jersey, 2001.
  11. P. C. Krause, O. Wasynczuk, S. D. Sudhoff, Analysis of Electric Machinery and Drive Systems, IEEE Press, Piscataway, NJ, 2002.
  12. P. P. Acarnley, J. F. Watson, “Review of position-sensor less operation of brushless permanent-magnet machines,” IEEE Trans. Industrial Electronics, vol. 53(2), pp. 352-362, 2006. https://doi.org/10.1109/TIE.2006.870868
  13. N. Minorsky, “Directional stability of automatically steered bodies,” Journal of the American Society of Naval Engineering, vol. 34, p. 284, 1922.
  14. S. Bennett, “Development of the PID controller,” IEEE Control System Magazine, pp. 58-65, 1994.
  15. MathWorks, "System Identification Toolbox," User's Guide, Version 7.2, 2008.
  16. D. E. Goldberg, Genetic Algorithm in Search, Optimization, and Machine Learning. Addison-Wesley Publishing, 1989.
  17. D. E. Goldberg, “Genetic and evolutionary algorithms come of age,” Communication of the ACM, vol. 37(3), pp. 113-119, 1994. https://doi.org/10.1145/175247.175259
  18. F. Glover, “Tabu search - part I,” ORSA Journal on Computing, vol. 1(3), pp. 190-206, 1989. https://doi.org/10.1287/ijoc.1.3.190
  19. F. Glover, “Tabu search - part ii,” ORSA Journal on Computing, vol. 2(1), pp. 4-32, 1990. https://doi.org/10.1287/ijoc.2.1.4
  20. F. Glover, “Parametric tabu-search for mixed integer programs,” Journal of Computers and Operations Research, vol. 33, pp. 2449-2494, 2006. https://doi.org/10.1016/j.cor.2005.07.009

Cited by

  1. PI Controller of Speed Regulation of Brushless DC Motor Based on Particle Swarm Optimization Algorithm with Improved Inertia Weights vol.2019, pp.1563-5147, 2019, https://doi.org/10.1155/2019/2671792