demo: MCSXTE2BK142_PMSM_FOC_2Sh
I learned the acquisition time and method according to the above figure, and modified it.
First, I used ADC0 to collect DC bus current at 0 ticks, and collected phase a current and phase B current at 2000 ticks and 2150 ticks respectively. ADC1 is only used to take DC bus voltage at 0 ticks.
Secondly, I exchanged pdb0 and pdb1 in logic and code.
Now, when the motor is running, I find that the motor can run to the closed loop, but the position deviation and locked rotor will be triggered after running for about 5 seconds. After understanding the program and principle, I find that the parameters affecting the position deviation are: α/β electric current, α/β Voltage, back EMF parameters and PI parameters.
By monitoring the variable parameters, I found that in the three-phase current, the current value of one phase often approaches 0. I don't know whether this is reasonable.
So I guess that I modified the acquisition time and acquisition method of phase current, resulting in inaccurate current acquisition and affecting the later position deviation calculation, but I'm not sure, so I hope to get help.
Solved! Go to Solution.
Hi,
obviously both phase currents are sampled at the same time at specific PWM interval, that's why sampling are triggered by PBD to get it at precise time. So you should not modify this.
If you need to add some measurement, modify the given implementation, but keep existed sampling as was.
BR, Petr
Hi,
obviously both phase currents are sampled at the same time at specific PWM interval, that's why sampling are triggered by PBD to get it at precise time. So you should not modify this.
If you need to add some measurement, modify the given implementation, but keep existed sampling as was.
BR, Petr