Embedded Development--Brushless Motor Learning 1--Introduction to FOC

written in front

I just learned FOC motor control recently, and mistakes in the article are inevitable. Comments and corrections are welcome, and you are welcome to leave a message for discussion in the comment area.

FOC meaning

Ordinary DC motors (DC MOTOR) are driven by carbon brush commutation. Friends who can read this article should not need me to repeat the working principle of DC motors. The disadvantage is obvious, there is a carbon brush commutation, and there will be an induced electromotive force impact when commutating. The angle between the magnetic field generated by the motor and the stator magnetic field cannot be maintained at 0 degrees (or 180 degrees, which means the same meaning, and is represented by 0 degrees below), the driving force will fluctuate, and the maximum driving torque cannot be generated, nor It is high energy consumption. Carbon brush commutation also limits the life of the motor. The advantage is that the structure is simple and there is no driving circuit.

In response to the above shortcomings, BLDC brushless DC motors have been produced.

There is a 6-step commutation method. For a 1-pole pair motor, the Hall element generates a commutation signal every time the motor rotates 60 degrees. The drive circuit drives the motor to commutate according to this signal, saving carbon. brush, which improves the life and reliability of the motor.

Another way is FOC (Field Orientation Control), which can keep the magnetic field of the stator and rotor close to 0 degrees at all times, so as to obtain a constant and maximum driving force and make the motor work most efficiently.

Brief description of the control process

The figure below shows the complete process of FOC controlling the motor. Regardless of how it is implemented, just learn and understand.

The red box is the process of the open-loop state, that is, without obtaining the position of the motor, the motor is driven to rotate by forcibly outputting the control information of each time node. As for whether the motor is moving or not, it is left alone. If the parameters are set correctly, the speed is not high, and the motor can still rotate under the condition of no load. Otherwise the motor may shake in place.
insert image description here

Before driving the motor, it is assumed that we know the parameters of the motor, which can be tested in advance, and we also know the maximum voltage and current that the power supply can provide.
Then in the case of a given driving torque, due to the existence of friction and air resistance, the motor will rotate at a constant speed.

We control the motor for the stator coil, and the rotor is driven by the change of the magnetic field. During the open-loop operation, we can not care about the state of the rotor. Only when the closed-loop control is performed, the encoder starts to read the position of the rotor. . All the following discussions therefore revolve around the stator coils in the open loop state.

First, we use two orthogonally placed coils to replace the three-phase coils distributed at 120 degrees in the motor stator, and project the three-phase current to the α and β axes, and use Iα and Iβ to equivalent the three-phase current ia of the motor, ib, ic, so that the pair of quadrature coils can be driven by the two currents of Iα and Iβ, and the three-phase coils can be driven equivalently. This method was first proposed by Ms. Clark and is called the Clark transformation.

When the motor is running, if the direction of the magnetic field generated by the stator does not change, then this magnetic field will attract the rotor to a fixed position and no longer rotate, and the motor will be locked in this position, similar to the positioning of a stepper motor. If you rotate the magnetic field by a small angle, the rotor is also attracted by the magnetic field to this new angle.

The magnetic field generated by the three coils of the stator is equivalent to a magnetic field in a certain direction, and this magnetic field can also be generated with two orthogonally arranged coils. This process is called Park transformation.

insert image description here

Obviously, there is a certain correspondence between these two transformation processes. The Clarke transformation uses the current, and the Park transformation uses the magnetic field, and the current multiplied by the inductance is the magnetic field, so these two transformations can be connected, so that we can use the magnetic field direction and strength to drive the motor.

What SVPWM realizes is how much voltage is given to each phase. Since the phase resistance and phase inductance are fixed values, the current control of each phase is realized, so that the motor rotates at a small angle, and then repeats this process. turned up.

Normalized Motor Coordinate Map

insert image description here
As shown in the figure above,
the black ABC represents the three phases of the stator coil of the motor, which is the most basic coordinate system of the motor, and its current is ia, ib, ic
. Intersecting coils are used to simulate the three phases, and the coordinate system is α and β. Correspondingly, its current is Iα and Iβ.
The blue is the rotor coordinate system d, q, which originally represents the magnetic field, and the current multiplied by the inductance is the magnetic field, so it can also be equivalent to id, iq, because the rotor is It is constantly rotating, so there will be a θ angle to indicate the position of the rotor.

Torque Control or Torque Loop

When FOC drives the brushless motor, for the three-phase brushless motor, it is driven by 3-way sine waves, as shown in the figure below.

insert image description here

Here is a background knowledge. For a real motor system, due to the existence of frictional resistance and air resistance, given a fixed torque, the motor will maintain a fixed speed. This is the most fundamental nature of motor control, also known as Torque control, or torque ring.

How does this torque come from? It comes from the driving current of UVW or ABC three-phase. For example, if we drive the MOS tube half-bridge at a frequency of 1KHz, then we need to calculate the value of Y 1000 times per second, the value of X is 0 seconds, 0.001 seconds, 0.002 seconds...until 0.999 seconds, and calculate the value of Y accordingly. To drive the 3-phase coils, so that the magnetic field generated by the stator at each moment is parallel to the magnetic field that the rotor should reach in the next step, so that the maximum driving force can be obtained.
What has just been described is the open-loop working state, and the closed-loop is actually similar, except that the actual position of the motor at any time is given by the encoder instead of calculated by time.

Obviously, at any moment, if the drive current does not change anymore, the magnitude of the current determines the strength of the magnetic field generated by the stator, and this will not change the rotation speed of the motor, but only change the holding torque of the motor, that is, the torque, and the unit is Nm. The motor will stop at the current position and remain locked. What determines the rotational speed of the motor is the product of the stator magnetic field strength and the speed at which the magnetic field changes.

This method of driving the motor to rotate by controlling the torque is called torque control, which is the most frequently controlled and core loop in motor control, also called the torque loop.

Guess you like

Origin blog.csdn.net/13011803189/article/details/130305309