1. Introduction
Brushless Direct Current (BLDC) motors are currently one of the most used motors in the industry, covering several applications. The torque control of BLDC motors is particularly useful in systems, like manipulator robots, elevators, and electric vehicles, among others. BLDC motors stand out for two fundamental characteristics: the first one is that the magnetic field of the rotor is generated through permanent magnets, allowing a considerable reduction in heating due to losses of Joule effect, as well as allowing the reduction of its size without the risk of failure; the second one is that the commutation of the stator windings is done electronically, using power transistors, which allows elimination of the disadvantages of the mechanical commutation, reducing the maintenance cycles, as well as the elimination of the losses and of the electromagnetic interference generated by the commutation. In order to improve BLDC performance, four areas of research are currently being pursued: improvement on manufacturing materials, power electronic drivers, feedback sensors, and control techniques. The main purpose of this work was centered on the study of control techniques for simultaneous control of speed and torque.
Simultaneous control of motor speed and torque are required in a variety of applications. For instance, robotic joints need to move to a controlled pace, while at the same time keeping torque regulated when carrying a load [
1]. Another example of a simultaneous speed and torque control are CNC machines. The cutting speed at which the tool spins is set accordingly to the material being processed, while the feeding rate, the speed at which the tool is pressed against the material, requires control of the torque exerted by the cutting tool on the material. Propellers on a drone need to rotate at a high rate to produce a stream of air powerful enough to force the drone to hover or to fly. However, faster rotation of the propellers implies a higher torque load on the motor. Therefore, simultaneous control of speed and torque may be required for sustained thrust in hover mode. In general, for simultaneous speed and torque control, an important requirement is to keep the speed error close to zero, i.e., without offset, even when change of torque load occurs, which actually happens in many practical applications.
A common method for simultaneous control of speed and torque consists of a double loop control, one of which involves a PI controller with a speed feedback loop; the other one is made up of a controller for torque. Both of these controllers are set up in a cascaded configuration [
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22]. Belov [
1] presents a triple control loop in cascade, considering position, speed, and torque, with an ANN compensator for torque.
In this work, two algorithms for simultaneous speed and torque control that were studied are presented. The first of these controllers consists of a double loop, similar to the controllers just described in the paragraph above [
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22]. The second controller consists of two independent control loops, in which both outputs are added up and constitute the control signal. The proposed configuration consisting of two parallel loops seems to have not been considered in previous works, and the authors assume this to be one of the contributions of the present work.
Lad [
5] realized an experimental scheme with a cascaded loop, in which can be seen that the actual speed do not match the set point speed. In each change of set up speed, the steady state speed shows an steady state error. Gao [
10] experimented with a cascaded control. For a sudden increase in the torque load, speed decreases, increasing the steady state error for speed. On the one hand, when the load is decreased, the steady state error is smaller. On the other hand, when the load is increased, the steady state error for speed increases. Additional examples of speed error, due to a change in the torque load, are found in Reference [
21,
23]. Our simulations show that the cascaded controller possess such disadvantage. However, the parallel configuration presented here significantly reduces the steady state error on speed when the load changes.
The main contribution of this work consists on the design and application of a parallel loop for simultaneous torque-speed control. The simulation results of the parallel loop controller are compared with the results from a conventional cascaded loop controller. The results presented here show that the parallel loop controller presents an improvement over the cascaded loop controller when the torque load is changed.
One of the objectives pursued is the reduction of the mechanical torque ripple that is generated on the shaft as a result of the switching phenomena, including the constructional nature of the motor and the commutation of transistors. For that purpose, Direct Torque Control (DTC) was chosen as the commutation technique applied for the motor driver. In conventional DTC, the electromagnetic torque and stator flow are controlled in a direct fashion, where each transistor is commuted optimally [
4,
24,
25]. The commutation sequence of the transistors can be read in order from a look-up table [
24]. Other works report DTC control using only electromagnetic torque feedback, neglecting the stator flow [
11,
26]. This last approach was used in this work. We determined that the DTC-2+3P is the most appropriate method because it combines the benefits of DTC-2P and DTC-3P.
The rest of the paper is organized as follows: In
Section 2, the non-linear model of a BLDC motor is described in detail.
Section 3 presents the description of the two control loops, namely, cascaded loop and parallel loop.
Section 4 illustrates the DTC commutation technique used. In
Section 5, the simulation setup is described, the comparison conditions are defined, and simulation results are presented. Finally,
Section 6 summarizes the conclusions of the work.
2. Mathematical Model of a BLDC Motor and Driver
Consider a BLDC motor wired in a star configuration, as shown in
Figure 1.
The angular position of the rotor is related to the electrical phase by
where
p is the number of pole pairs of the rotor. In a similar way, the angular velocity of the rotor is related to the rate of change of the electrical phase by
Assuming that the switching MOSFETs and the flyback diodes can be modeled as ideal switching devices [
27,
28], then, a general network equation for the motor is found to be
where subindex
x denotes either phase
a,
b, or
c. Here,
is the voltage applied to each phase of the stator,
is the intrinsic resistance of the wiring per phase, and
is the current per phase. Finally,
is the back-EMF per phase. The total coupling flux results from the vector addition of the magnetic flux produced by the currents in the stator and the magnetic flux generated by the permanent magnets in the rotor. For example, observing phase
of the motor from
Figure 1, the magnetic flux can be described by
The terms, , , and represent self-inductance of the wiring in phase , the two mutual inductances between the wiring of phases and , and phases and , respectively. The term represents the magnetic flux produced by the permanent magnets, which is coupled to the phase . For the purpose of the present analysis, it is assumed that the motor is perfectly balanced; thus, , , , and .
Insert Equation (
4) into Equation (
3) and simplify the analysis based on Reference [
27]:
Here, the term
is known as the back-EMF of the phase (either
a,
b, or
c), and it is denoted as
in the rest of this work. In vector form, Equation (
5) becomes
The back-EMF in phase
a can be computed from
where
is a constant value, and
represents the back-EMF waveform function of phase
a (see
Figure 2). Taking advantage of the symmetry of the waveforms, we have
and
.
Separating the time derivative of the current in Equation (
6) and replacing the terms
as in Equation (
7), we get
The electrical portion of the motor is related to the mechanical part as described by the well known equation
and inserting the back-EMF terms defined in Equation (
7) into Equation (
9) results in
Finally, the mechanical torque of the motor is modeled by
where
is the electromagnetic torque;
is the torque produced by the load attached to the shaft of the rotor;
is the angular velocity of rotation;
J is the overall inertia moment of the rotor and load; and
is the viscous friction coefficient of the rotor and load. Rearranging Equation (
11) and replacing
with the right side of Equation (
10) leads to
In general, the electromechanical operation of the motor can be represented in state equation form as
which is constructed by rearranging Equations (
8) and (
12).
In this case, the state vector is defined as
and the input vector is
Function
is defined as
and the matrix
is
The resulting state Equation is
4. Direct Torque Control (DTC)
In the DTC method, the electrical parameters of the motor must be transformed into a stationary reference frame known as the
plane. The horizontal axis
is fixed alongside the
a axis and the vertical axis
, which leads axis
by
. The transformation is carried out analytically, by means of the Clarke’s transformation matrix [
7], as follows:
For a single switching device, it is needed to:
Define voltage vectors and work sectors in the plane.
Study the effect of the voltage vectors on the magnetic flux of the stator on each sector of the plane, and define a look-up table for the angular position of the rotor.
Using a measurement of the actual angular position of the rotor and the control error as entry readings of the look-up table, we find the voltage vector, which is to be applied to the phases of the motor.
Keeping in mind that each phase is electrically excited from a half-bridge arrangement, there are a total of six switching transistors, therefore, six logical states, which define the corresponding switching state of each transistor. Each switching state is associated to a voltage vector in either the
or the
plane. For the DTC-2+3P, twelve voltage vectors and twelve operation sectors are defined for the
plane. Both voltage vectors and sectors for DTC-2+3P are illustrated in
Figure 5.
Rotor torque is a function of angular velocity of the flux vector of the stator [
30]; thus, directly affecting this parameter, torque can be made to increase or decrease accordingly. This is achieved by applying the appropriate voltage vector to the stator when the vector flux is pointing at a previously determined sector.
A DTC-2+3P was implemented based on the effect just described. The flux control was not implemented, and the control signal was processed in a two-level hysteresis block to produce the control action.
Table 1 illustrates the operation modes, required by each sector, for a DTC-2+3P control. The operation vectors
are shown in
Figure 5.
Figure 6 illustrates in a block diagram, the combination of the mathematical model of the motor, the control loops shown in
Figure 3 and
Figure 4, and the look-up table to implement DTC-2+3P control.