Modelling of sensored speed control of BLDC motor using MATLAB/SIMULINK

ABSTRACT


INTRODUCTION
Brushless direct current (BLDC) variable speed drives are increasingly applied in many new industrial applications. Recent developments in power electronics and semiconductor technology have led to their widespread use [1]. This type of motor is now more popular in applications, such as for electric vehicles, due to its energy-efficent consumption [2]. Furthermore, the BLDC motor has many advantages over the induction motor and brushed DC motor, including better efficiency, power factor, less maintenance, longer life, and less rotor inertia. BLDC motor is also easier to control with its trapezoidal configuration. This study utilizes a three-phase BLDC motor with trapezoidal back EMF [3]. The brushes and commutators have been eliminated, and the windings are connected to the control circuits. Commutation is done electronically instead of using brushes [4]. Because such motors have no brushes, they need a solid state commutation circuit in order to supply the stator windings according to the rotor position [5]. Rotor position can be obtained by either a shaft encoder or, more often, by Hall Effect sensors [6].
The dynamic features and digital control of the BLDC motor furthered its wide utilization in different high and low power applications, compared with other types of motors. Moreover, these motors became one of the major components used to develop 3D printers due to its compatibility and easy integration with used digital controllers [7], which are digitally controlled through power electronic converters integrated with high speed microcontroller. The use of such devices enabled an easy adaption of BLDC motors in 3D printers and Internet of Things (IoT) devices [8]. Nowadays, real-time connection technologies, either at the residential or industrial level, is considered as the primary technology that established a wide range of IoT applications, such as smart homes and automated industrial applications [9]. A review of the variety of microcontroller-based applications shows the rapid developments in science and technology. The advantages in developing embedded microcontrollers in many industrial applications realized remote monitoring and using wireless/wired techniques of different systems [10]. A BLDC motor drive can be considered a digitally controlled drive system. Therefore, sensors are implemented to realize control and drive system [11]. This is mainly required for rotor position. The commutation process was accomplished using a digitally controlled inverter based on Hall-effect sensors signals. The BLDC motors are characterized by their rectangular current, which needs six discrete rotor positions [7].
Permanent magnets create the rotor flux, and the energized stator windings create electromagnet poles. By using the appropriate sequence to supply the stator phases, a rotating field on the stator is created and maintained. According to the rotor position, the phase windings are switched in a sequence to obtain the rotation [4]. The speed of a motor can be controlled using open loop control. However, accurate speed control is necessary in various applications, which can only be achieved by closed loop speed control [12]. The torque produced in a BLDC motor with trapezoidal back electromotive force (BEMF) is not constant due to torque ripples that appear on the delivered output torque. These torque ripples are an issue that could highly affect the BLDC drive system performance [7,11]. In this paper, digital closed loop speed control is used by implementing control algorithms in MATLAB/SIMULINK [13].
The performance of a BLDC motor control based on a single sensor for position detection is presented [14]. The proposed design, which replaces the three conventional sensors with a single one, reduces cost and complexity. In addition, the proposed drive system will be powered directly from the PV system, based on the designed high voltage-gain DC-DC converter. MATLAB/SIMULINK results showed a proper operation of BLDC motor for variable ramped up and down speeds with fixed torque [14]. Another study presented the speed control of BLDC motor control using Single Input Fuzzy PI Controller as a replacement for the commonly used conventional linear controller. The advantages of the proposed system include a single control configuration which combines the performance of different systems. The performance of the proposed system, compared with the conventional system, showed a better dynamic response [15].

CONSTRUCTION AND OPERATION PRINCIPLE 2.1. Motor construction
The BLDC motor is an AC synchronous motor. It is basically inside-out DC motor as it has the windings on the stator and the rotor is a permanent magnet, as shown in Figure 1 [16]. The main function of the brushes in the DC motor is to reverse the polarity of the electric current using the mechanical commutator. This process results in heating and sparks during the motor operation, in addition to electrical losses, which in return require periodic maintenance. The issue with current commutation can be overcome using electronic commutation. The polarity reversal in the brushless DC motor is performed by the semiconductor power switches. A group of hall-effect sensors is used to synchronize the switching with instantaneous rotor position. The most commonly used sensor control is the six step control. This control is based on capturing the rotor position at six angles using the hall sensors. The sensor signal is needed to align the applied voltage with the motor back-EMF. To validate this type of control, a power converter, with the control based on rotor position measurement, is required. The extra cost for power converter is compensated by the advantage the BLDC drive system offers over DC motors, and also by the decreasing prices of power components and control circuits. Other advantages include excellent performance and higher reliability with low maintenance requirement [17]. Figure 2 shows the motor circuit and its connection to the inverter.

Motor operation and control
The BLDC motor detects the position of the rotor using Hall sensors. Three sensors, HA, HB, and HC are required for position information. With three sensors, six possible valid commutation sequences could be obtained. Every 60 electrical degrees of rotation, one of the Hall sensors changes state. Therefore, it takes six steps to complete an electrical cycle [18]. Table 1 shows the switching sequence used to run the motor in the clockwise direction. Figure 3 shows the Hall sensor signals with respect to back EMF and the phase currents [3,19,20]. According to Table 1 and Figure 3, for sequence 1, S3 and S2 are switched on, and accordingly, Phase B current is positive, Phase C current is negative, and Phase A current is zero. In Figure 4, we can see the energized windings and the stator electromagnetic field (ST) resulting from this situation. In the same figure, we can see the rotor magnetic field (R) forming 120 electrical degrees with the stator electromagnetic field. For sequence 2, S1 and S2 are switched on, and accordingly, Phase A current is positive, Phase C current is negative, and Phase B current is zero. In Figure 5, we can see the energized windings and the stator electromagnetic field (ST) resulting from this situation. In the same figure we can see the rotor magnetic field (R) forming 120 electrical degrees with the stator electromagnetic field. For sequence 3, S1 and S6 are switched on, and accordingly, Phase A current is positive, Phase B current is negative, and Phase C current is zero.
In Figure 6, we can see the energized windings and the stator electromagnetic field (ST) resulting from this situation. In the same figure, we can see the rotor magnetic field (R) forming 120 electrical degrees with the stator electromagnetic field. For sequence 4, S5 and S6 are switched on. Accordingly, Phase C current is positive, Phase B current is negative, and Phase A current is zero. In Figure 7, we can see the energized windings and the stator electromagnetic field (ST) resulting from this situation. In the same figure, we can see the rotor magnetic field (R) forming 120 electrical degrees with the stator electromagnetic field. For sequence 5, S5 and S4 are switched on. Accordingly, Phase C current is positive, Phase A current is negative, and Phase B current is zero.  In Figure 8, we can see the energized windings and the stator electromagnetic field (ST) resulting from this situation. In the same figure, we can see the rotor magnetic field (R) forming 120 electrical degrees with the stator electromagnetic field. For sequence 6, S3 and S4 are switched on, and accordingly, Phase B current is positive, Phase A current is negative, and Phase C current is zero. In Figure 9, we can see the energized windings and the stator electromagnetic field (ST) resulting from this situation. In the same figure, we can see the rotor magnetic field (R) forming 120 electrical degrees with the stator electromagnetic field [21]. From the above considerations, we can see that the relative position between stator and rotor magnetic fields at the beginning of all the six sequences is 120 electrical degrees. If returned back to sequence 1, at the beginning of the sequence, the relative position between the stator and rotor fields is 120 electrical degrees, as shown in Figure 10. Assuming that after 30 electrical degrees the rotor position become as shown in Figure 11, this means that the stator magnetic field and the rotor magnetic field are now perpendicular. If the same considerations are made at the end of sequence 1 and before the beginning of sequence 2, then we still have the same stator field, whereas the rotor field has moved by another 30 electrical degrees in clockwise, as shown in Figure 12. The angle between stator and rotor magnetic fields is 60 electrical degrees.
By studying the relative position between stator and rotor magnetic fields during all the 6 sequences, it is found that it varies between 60 and 120 electrical degrees with an average value of 90 degree. Figure 10 shows the relative position of stator and rotor magnetic fields at the beginning of sequence 1 (120 o ). Figure 11 shows the relative position of the same magnetic fields in the middle of sequence 1 (90 o ). Figure 12 shows the relative position of the same two magnetic fields at the end of sequence 1 (60 o ).

Closed loop speed control
The closed loop speed control of BLDC is shown in Figure 13. The speed of the motor ω m is compared with the reference ω m * speed value, and speed error Δω m is processed by a proportional-Integrative PI controller. The output of this controller is considered as the reference current. A current limiter is put on the output depending on maximum permissible windings currents [4,[22][23][24]. Depending on the rotor position, the reference current generator block generates three-phase reference currents, Ia*, Ib*, and Ic*, by taking the value of the PI speed controller and limiter. The reference currents are fed to the Hysteresis current controller [4]. The hesteresis current controller contributes to the generation of switching signals for the inverter. Hesteresis-band PWM is basically an instantaneous feedback current control method of PWM, where the actual current continually tracks the command current within hysteresis-band, as shown in Figure 14. As current exceeds upper band limit (UBL), the upper switch turns off and the lower switch turns on. As the current exceeds the lower band limit (LBL), upper switch turns on and lower swich turns off [4]. The switching pattern for the proposed model is shown in Table 2 [25]. This clarifies the sequence needed to drive the power switches of the inverter in the appropriate manner. The sequence form the base to design the suitable algorithm to drive the BLDC motor. Activated switch IA ˃ UBL S1 is off and S4 is on IA < LBL S1 is on and S4 is off IB ˃ UBL S3 is off and S6 is on IB < LBL S3 is on and S6 is off IC ˃ UBL S5 is off and S2 is on IC < LBL S5 is on and S2 is off The closed loop speed control block, as shown in Figure 13, is implemented in MATLAB/SIMULINK, shown in Figure 15. The shown figure presents the complete system in the BLDC motor and its connection with the drive and control side, based on sensored operation.

SIMULATION RESULTS
The BLDC motor drive used for simulation is shown in Figure 15. The specifications of the BLDC motor are listed in Table 3. Different simulation parameters have been captured. In the following figures, some of the results, relative to a step speed of 1500 rpm and load torque of 10 Nm, are included. The speed response and reference speed are shown as in Figure 16. The electromagnetic torque developed by the motor is shown in Figure 17. The shown results of the proposed design revealed a satisfactory speed and torque response. In Figure 18, the steady-state reference currents are shown. In addition, in Figure 19, steady-state reference and real currents are shown. The three-phase trapezoidal back EMF (ea, eb, ec), are shown in Figure 20. Figure 21 shows the Hall Effect sensor, HA, BEMF ea, and phase A real current and torque. The different speed responses and references for different speed steps are shown in Figure 22. The presented results show a satisfactory response at various motor speeds. The output current and EMF generated by BLDC motor are shown in Figure 23. The results of the developed motor controller show a smooth output EMF and current.

CONCLUSION
In this paper, the main features of the BLDC motor were discussed and analyzed. A model of the digital speed control of BLDC Motor, in clockwise and counterclockwise directions, is presented. The presented model was successfully developed in Matlab/Simulink environment and tested at different speeds. The simulation results confirmed the validity of the proposed controller in terms of satisfactory operation. The proposed design exhibited a good dynamic performance and speed regulation.