I am using the MCSPTE1AK116 with the Linix motor used in many of the NXP motor control kits.
I updated the project with the motor parameters by copying the Linix profile to M1_params.txt, starting MCAT, and generating PMSM_appconfig.h.
When I run the FOC_1sh code, the motor will usually spin for 7-12 seconds, then stall. Sometimes it will stall within a second or two. One or two times it ran for 20-30 seconds before stalling. Changing the potentiometer value on the daughterboard doesn't help with the stalls. If I adjust it down, the stalls do get worse.
When it stalled, the fault was usually FOCFault or PDB_SeqErrFlags = 11. Sometimes the SeqErrFlags are set to 1000 or 01, but it's usually 11. Also, I notice the three phase outputs are always sending pulses, even when the motor is stalled.
When I run the FOC_2sh code, the motor runs fine without stalls as long as the speed is below ~1500 RPM. However, the Speed FOC loop never rises about ~1300. The Linix motor has a maximum speed of 4000 RPM, so it should be able to run faster. At 2000 RPM, I get the FOCFault and PDB_SeqErrFlag faults. Here, I see the phase outputs do not output anything unless the motor is enabled.
1. How come the FOC_1sh code constantly stalls while the 2sh code works fine?
2. Why does the the 1_sh code toggle the phase outputs even when the motor is not supposed to be moving?
3. How can I get the motor to run faster than 1500 RPM?
generally it should be enough to rename M1_params_Linix40.txt to M1_params.txt within a project used (either 1sh or 2sh). But it seems M1_params_Linix40.txt is not properly updated for given project. It should be fixed. Thanks for pointing to this.
You should keep original project's M1_params.txt and change only part which belongs to motor parameters, that is update below lines