Motor Adaptive Active Disturbance Rejection ADRC Control Strategy for Sensorless Permanent Magnet Synchronous Motor

Tip: The self-adaptive active disturbance rejection control strategy of permanent magnet synchronous motor without speed sensor, the
road of life written at 23:00 on October 12, 2022 is really difficult, and many bad things happened around me , Regarding some research results and simulink code generation will also be delayed, I hope everyone will forgive me.

insert image description here

Overall Control Block Diagram

But I want to say something, the control here is the id=0 control, don’t worry about the piece on the picture, just give 0 directly


Article introduction and optimization results

1. Extended state observer (ESO) based sensorless control of permanent magnet synchronous motors has attracted extensive attention due to its satisfactory estimation performance and high robustness to disturbances.
However, traditional ESO usually uses a fixed high gain to achieve fast convergence. This may raise concerns about noise susceptibility. In addition, sensorless control of asynchronous motors mostly uses proportional-integral (PI) speed controllers, which may lead to unsatisfactory system dynamics. Aiming at these problems, an adaptive active disturbance rejection control strategy for a speed sensorless permanent magnet synchronous motor is proposed. The scheme first uses a third-order adaptive ESO (AESO) algorithm to estimate velocity, phase, and overall disturbance. Then, a speed controller based on state error feedback control rate (SEFCR) is designed to improve the dynamic performance of the system. In practical applications, disturbances like DC bias may further challenge the estimation performance, therefore, a closed-loop flux observer (CLFO) is employed to handle this issue. In addition, a parameter sensitivity analysis is performed on CLFO to evaluate the performance of the proposed scheme.

2. To put it bluntly, it is non-inductive control. The control observer is flux linkage control. The magnetic linkage is a third-order nonlinear ESO, and the gains β1, β2, and β3 are obtained based on self-adaptation. And this third-order nonlinear ESO is connected to the speed loop, which improves the speed loop.

3. Since I built it on the FOC algorithm, the model is deep layer by layer. There is no overall kind. Please watch it carefully. In addition, please read the parameters carefully. Every time, some students ask for models in the comment area parameter.
4. Control block diagram structure:
insert image description here
insert image description here
insert image description here
insert image description here
here w0min and w0max have to be adjusted according to the power of your own motor, because my motor is a small motor of several kilowatts, so it is only a few dozen. If you don’t want to adjust it, then draw the transfer function of this ESO. According to the transfer function, the Bode diagram is drawn, and different frequencies are given to obtain the compromise value of dynamic performance and anti-interference performance.
insert image description here
The input here is obtained from the output of the flux observer. AN is normalization. For example, the absolute value of a is under the root sign (the square of a + the square of b), and so is b. This is the control block
insert image description here
diagram of the speed loop estimation. Just look inside the blue box.
insert image description here
This is the flux linkage. Observer control block diagram
insert image description here
This is the overall control block diagram


1. Simulation block diagram

1. This is the outermost layer:
insert image description here
I will introduce 1, 2, and 3 first
. For 1:
insert image description here
the gain is 4199.
For 2:
it is in the matlab/simulink library. If you can’t find it, the version is low.
For 3:
insert image description here
TsBSP_MODEL is 2.5e-5
pole logarithm, can you understand the word, the pole logarithm is 5, the inductance
Ls is 0.000195185,
the flux linkage is 0.0109,
one of the k in the picture is 30/pi, and the other is 1/200
2. Below Introduce the FOC algorithm, the following is the inside of FOC, and it is also a layered introduction.
insert image description here
In the figure, 100 is a given speed, and the upper limit is 100, -100, and k is the
limit of 1/(2*pi)*60 theta. I will not explain it. Screenshots only.
insert image description here
insert image description here
insert image description here
insert image description here
The introduction is complete.
3. The FOC_CURRENT module is introduced below:
insert image description here

This is the speed loop estimation simulation block diagram:
insert image description here
in the figure b=5, c=1,
the CurrentLoop module is described below:
insert image description here
the park transformation, reverse park transformation, and Clark transformation in the above picture. SVPWM is not introduced, and I don’t know how to chat privately or post comments. Focus on the introduction of the observer and AESO (third-order adaptive ESO): the above block diagram from the above:
insert image description here
Flux linkage observer:
insert image description here
insert image description here
you will find that my gain gamma is particularly large, this depends on the situation, the larger the waveform is better.
AESO module:
insert image description here
Let’s talk about the integrator (discrete integral) module on the right first:
insert image description here
k is 0.0001
AESO internal:
insert image description here
You will find that I did not use the nonlinear fal function, because I don’t know what went wrong, I hope you can add it and run it, if you can Let's talk.
insert image description here


2. Waveform results

insert image description here
The above figure is the speed and angle waveform, it can be seen that it is still good


Summarize

1. The larger b is, the smaller the rise time is, and the better the response is.
2. What the size of k changes is that the period of the angle becomes larger.
3. AN (Normalization) is not added.
4. Non-linear fal is not added, and there is a mistake.
5. Who can add it and make it, please communicate.


Guess you like

Origin blog.csdn.net/weixin_44312889/article/details/127292475