This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28035: Sensored HVPM Rotor Lock with Resolver Feedback

Part Number: TMS320F28035
Other Parts Discussed in Thread: TMS320F28069M, TMDSHVMTRINSPIN, CONTROLSUITE,

Hi everyone,

I am having some difficulties controlling a 3-phase IPMSM motor (rated nominally for 350V, 300A, 8 poles).  To begin prototyping my inverter design, I have purchased a TMDSHVMTRINSPIN development kit and to start, was able to successfully spin the motor in a sensorless configuration using InstaSpin-FOC on the TMS320F28069M microcontroller.  Unfortunately for the loading conditions of my application, I still need to rely on having the resolver position feedback of the motor.

To do this, I switched my ControlCARD to use the TMS320F28035 microcontroller, and am using the HVPM_Sensored example under controlSUITE for the HVMotorCtrl+PFCKit v2.1 on this microcontroller as a starting point for my development.

I was able to get Level 1 and Level 2 systems working, and found the SVPWM signals look as expected and the currents were sinusoidal as expected.

To get Level 3 working, I had to add in the position feedback from the 8-pole resolver on the motor.  Using a third party resolver-to-digital converter development board (which has been verified functional), I used the available SPI and GPIO ports to feed in the position feedback data to the control algorithm.

I have written a function to update the current rotor position, factor in the necessary electrical angle offset, and normalize to an angle IQ value between 0 and 1.  I then feed this into the Clarke Transform in the MainISR function to process this angle accordingly (Based off of sensored FOC resolver-based code examples I found for the IDDK development kit).

When I run the system in level 3, I can align and lock the rotor by commanding Id current, but when I try to spin the motor with Iq, the rotor moves to the next pole and then the rotor locks again.  I have tried different offset angles and different combinations of Id/Iq and cannot get the rotor to spin properly in this example application.

If anyone has any help or suggestions, or requires further clarification on the problem, please let me know.  Your advice is greatly appreciated.

  • Make sure the sense of rotation of motor and that of angle feedback are not opposite. They should be same. In level2, plot the angle used to generate SVPWM and the feedback angle from resolver. They should have the same slope.

  • Hi Ramesh, 

    Thank you very much for your quick response and giving me a couple of pointers to try.

    I realized I had an error in my SPI configuration that was producing incorrect position feedback from my resolver.  I haven't had the opportunity to test again with the motor and development board, but this can be marked closed for now and if I still have this issue in my testing I will reach back out to the forums.

    Thanks again!

    -Graison