Part Number: TMS320F28379D
I would like to preface this with the reason why I'm using Control Suite instead of MotorControlSDK - I have to use a BiSS encoder and MCSDK doesn't support it yet.
In relation to my problem itself - I have tested my motor in levels 1, 2, and 3 and everything works correctly as far as I can tell. The encoder position graph matches rg1.Out, the Alpha and Beta signals are 90deg out of phase and Alpha is exactly the same as phase A current.
However, when I try to run the motor in Level4, the motor gets locked and I cannot move it by hand. Below is the debugging I've tried to do. Please let me know if there are additional steps I should try
If I reduce the Umax/min of the pid_Spd module so that the motor holding torque isn't too high, I'm able to manually force the motor past the point that it gets locked, but it gets locked at the next pole(I know this because it gets locked to 14 distinct positions which is the number of poles). This seems to imply that the phase currents are stuck at one angle and not moving forward.
If I lower the Umax/min further, to just 0.05, I'm able to rotate the motor by hand faster and more easily, and that causes the motor to spin a little before getting stuck again. Now, it rotates "backward" in a jerky movement and then gets locked at the same mechanical angle. It stops at exactly the same mechanical angle every time when configured like this. If I move it a little beyond this angle, it will do almost a full rotation and get stuck at the same angle again.
If I flip the direction of the encoder by doing 1-ElecTheta, the motor is still stuck but now doesn't rotate at all as I mentioned above, simply gets stuck at the closest pole.
On a different note, for redundancy/flexibility of manufacturing, I would like to use any 2 current sensors instead of just phase A and B sensors. How do I specify this in the code? I have already made the necessary changes and confirmed that I am able to measure all 3 current sensors but am unsure how to request the software to use a different set of current sensors. For now, I will choose manually which 2 current sensors to use before compilation. Also, how do I confirm that the motor has been wired with the correct wires connected to A, B, and C?
Thanks
Chai


