Share this

Modeling and Simulation of Brushless DC Motor Based on PWM-ON-PWM Modulation using MATLAB

2026-04-06 06:20:37 · · #1

Abstract : The mathematical model of a brushless DC motor is analyzed in detail. Based on the characteristics of PWM-ON-PWM modulation, an S-function is written. A system model under PWM-ON-PWM modulation is built using Matlab/Simulink and simulation is performed. The simulation results show that the method is simple and reliable, providing a new method for simulating brushless DC motors under different modulation methods.

Keywords : brushless DC motor; PWM-ON-PWM; Matlab; simulation

1 Introduction

The following modulation methods are commonly used for brushless DC motor control: no chopper (no modulation or other modulation methods with a duty cycle of 1), H-PWM-L-PWM, H-ON-L-PWM, H-PWM-L-ON, PWM-ON, ON-PWM[1]. The PWM-ON-PWM modulation method can completely eliminate the freewheeling phenomenon on the non-conducting phase during non-commutation, thus effectively suppressing torque pulsation during non-commutation. It also has the same effect as the PWM-ON method during commutation, thus playing a positive role in stabilizing torque during commutation. Moreover, its switching loss is the same as that of the traditional PWM-ON or ON-PWM modulation method. From the perspective of comprehensive performance, it is a more superior modulation method than the traditional PWM modulation method and has been favored in recent years.

The term PWM-ON-PWM refers to the switching transistor being PWM modulated for the first 30° and the last 30° during its 120° conduction period, while remaining constantly on for the middle 60°, as shown in Figure 1.

Figure 1 PWM-ON-PWM modulation method

Based on the analysis of the mathematical model of the brushless DC motor, this paper proposes a method for establishing a simulation model of the brushless DC motor system under PWM-ON-PWM modulation mode based on Matlab/Simulink, taking advantage of Matlab's powerful simulation modeling capabilities [2].

The Simulink toolbox was used to build a computer simulation model of the BLDC control system and to perform simulations of the control system.

2 Mathematical Model of Brushless DC Motor

Assuming that the brushless DC motor operates in a two-phase star-connected three-phase six-state state with no neutral line, the back EMF waveform is a trapezoidal wave with a flat top width of 120° electrical angle. During the operation of the motor, the magnetic circuit is not saturated, eddy current and hysteresis losses are ignored, the three-phase windings are completely symmetrical, the air gap magnetic field is a square wave, the stator current and rotor magnetic field distribution are symmetrical, the armature winding is uniformly and continuously distributed on the inner surface of the stator, there is no damping winding on the rotor, and the permanent magnet does not play a damping role [3]. The equivalent circuit diagram of the brushless DC motor is shown in Figure 2.

Figure 2 Equivalent circuit diagram of a brushless DC motor

Let UA , UB , UC be the stator phase winding voltages, iA , iB , iC be the stator phase winding currents, eA , eB , eC be the stator phase winding back electromotive force, and D be the differential operator, D = d/dt . RA , RB , RC are the resistances of each phase winding, L is the inductance of each phase winding, and M is the self-inductance of each phase winding. Then the voltage balance equation of the three-phase winding can be expressed as: (1)

(2) (3)

The back electromotive force of each phase is related to the velocity as follows:

(4)

Ke is the electromotive force coefficient, and ω is the rotor mechanical angular velocity.

The electromagnetic torque of a brushless DC motor is generated by the interaction between the current in the stator windings and the magnetic field produced by the rotor magnets. The electromagnetic torque equation can be expressed as:

(5)

Let TL be the load torque and J be the moment of inertia of the motor, then the mechanical equation of motion can be expressed as:

(6)

Establishment of system model under 3PWM-ON-PWM modulation mode

This system adopts dual closed-loop modulation, and its control system block diagram is shown in Figure 3:

Figure 3. Block diagram of brushless DC motor control system

The implementation of these modules in MATLAB/SIMULINK results in the simulation system block diagram, as shown in Figure 4.

The implementation of each module is explained in detail below.

3.1 DC Power Supply and Inverter Module

This module can be constructed by directly calling the DC power supply and inverter bridge in Simulink, as shown in Figure 4.

3.2 Motor Body Module

The motor body module mainly realizes the relationship between voltage, current and back electromotive force. The module shown in Figure 5 can be obtained according to formulas (1), (2) and (3).

Figure 5 Motor stator module

It employs a controlled voltage source module, which uses the input of back electromotive force to replace the back electromotive force.

As can be seen from Figure 1, the back EMFs of the three windings are 120° apart and have a relationship with the rotational speed ω according to formula (4). Therefore, the back EMF calculation module shown in Figure 6 can be obtained.

Figure 6 Back EMF Calculation Module

This module uses Simulink's LookupTable module. By simply looking up the table based on the motor position, the unit back electromotive force (EMF) of each phase winding can be obtained. Multiplying this back EMF by ke and the rotational speed ω yields the actual back EMF. The parameters of the LookupTable can be set according to Figure 1. The functions of a, b, and c will be explained later.

3.3 Torque Calculation Module

The torque can be obtained from formula (5), but since it must be divided by the rotational speed ω, and the rotational speed ω is 0 at the initial moment, it will be infinite. Although this can be solved by setting an initial value for the integral element, it will affect the accuracy of the simulation. We can consider transforming formula (5), that is, first dividing each opposite electromotive force by the rotational speed ω. a, b, and c in Figure 6 are the results after division. Finally, multiply it by the current, as shown in Figure 7.

Figure 7 Torque Calculation Module

3.4 Mechanical Angular Velocity Calculation Module and Rotor Position Calculation Module

The mechanical angular velocity can be calculated using formula (6), as shown in Figure 8.

Figure 8 Mechanical angular velocity calculation module

The rotor position can be obtained by integrating the mechanical angular velocity to get the mechanical angle through which the motor rotates, multiplying it by the number of pole pairs P to get the electrical angle through which the motor rotates, and then taking the absolute value after taking the remainder of 2π to get the rotor position, as shown in Figure 9.

Figure 9 Rotor position calculation module

3.5 PWM module

Since the brushless DC motor is a PWM-ON-PWM modulation method [4], the modulation method of each switch will be different at different time periods. As can be seen from Figure 1, the switch of each phase changes every 30°. We take every 30° from 0° in Figure 1 as an interval and summarize the switching action rules in Table 1. The first column is the switch, the first row is each interval, and the rest are the switching action states. Among them, P represents PWM modulation, 0 represents constant off, and 1 represents constant on.

1

2

3

4

5

6

7

8

9

10

11

12

T1

P

1

1

P

0

0

0

0

0

0

0

0

T2

0

0

0

0

0

0

P

1

1

P

0

0

T3

0

0

0

0

P

1

1

P

0

0

0

0

T4

1

P

0

0

0

0

0

0

0

0

P

1

T5

0

0

0

0

0

0

0

0

P

1

1

P

T6

0

0

P

1

1

P

0

0

0

0

0

0

Table 1 Switching behavior rules

This module is mainly implemented through two S-function modules, namely the constant-current and modulation modules in Figure 4. The constant-current module determines which interval the input is in based on its position, and then sets the switching transistors in the modulation state in Table 1 to 1 and the rest to zero according to the different intervals, that is, the output is six pulse quantities; similarly, the constant-current module sets the switching transistors in the constant-current state to 1 and the rest to zero according to the motor position.

The reference speed is compared with the actual speed and then fed into the PI controller to form a reference current. This reference current is then compared with the actual maximum current of each phase. The current is then passed through the relay module to form a PWM pulse, which is combined with the output of the modulation module and added to the output of the constant current module to form the trigger pulse required by the inverter.

4 Simulation Results

This paper establishes a simulation model of a BLDC control system under PWM-ON-PWM modulation based on Matlab/Simulink, and simulates the BLDC dual closed-loop control system of the model. In the simulation, the BLDC motor parameters are set as follows: stator phase winding resistance R = 1Ω, stator phase winding self-inductance L = 0.02H, mutual inductance M = -0.061H, moment of inertia J = 0.005kg.m2, rated speed n = 1000r/min, number of pole pairs p = 1, and 220V DC power supply.

The discrete PI controller has three parameters: Kp=5, Ki=0.01, and the amplitude of the saturation limiting module is limited to ±35. The sampling period is T=0.001s. To verify the static and dynamic performance of the designed BLDC control system simulation model, the system was started under no-load. After reaching steady state, a load TL=5 N·m was suddenly applied at t=0.3s, and the load was suddenly removed at t=0.65s. The simulation curves of system speed, torque, three-phase current, and three-phase back EMF are shown in Figures 10-13.

Figure 10 Speed ​​response curve

Figure 11 Torque response curve

Figure 12 Waveforms of currents Ia, Ib, and Ic

Figure 4 Block diagram of BLDC simulation system

Figure 13 Waveforms of back electromotive force Ea, Eb, and Ec

in conclusion

Based on the analysis of the mathematical model of a brushless DC motor, and considering the characteristics of PWM-ON-PWM modulation, this paper proposes a novel Matlab-based simulation modeling method for BLDC control systems. This method, combined with S-functions, is then used to construct a brushless DC motor simulation model in the Simulink environment. Using this BLDC simulation model, the control algorithm can be easily implemented and verified, and modifying or improving the control strategy is also very simple. The simulation modules provided by this model are universal; simply adjusting the S-functions according to the specific application allows for application to systems with different modulation methods.

References

[1] Zhang Xiangjun, Chen Boshi. Influence of PWM modulation mode on commutation torque ripple in brushless DC motor control system [J]. Journal of Electrical Machines and Control, 2003, 7(2): 87-91.

[2] Qiushi Technology. MATLAB 7.0 from Beginner to Expert [M]. Beijing: Posts & Telecom Press, 2006: 248-312.

[3] Sun Jianzhong, Bai Fengxian. Special motors and their control [M]. Beijing: China Water Resources and Hydropower Press, 2005: 23-27.

[4] Wei Kun, Hu Changsheng, Zhang Zhongchao. A new PWM modulation method to eliminate non-conducting continuous current in brushless DC motors [J]. Proceedings of the CSEE, 2005, 25(7): 104-108.

First Author Biography : Chang Bo, born in 1985, holds a Master's degree in Power Electronics and Electric Drives from the University of Electronic Science and Technology of China. Phone: 15008415123

Read next

Introduction to reference membranes for air permeability testing calibration

Abstract: This article provides a comprehensive overview of the sources, requirements, and applications of reference mem...

Articles 2026-02-22