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.

PI settinig for FOC motor control

Other Parts Discussed in Thread: C2000WARE

Hi, community!

I have studied the InstaSPIN-FOC and InstaSPIN-MOTION user's guide for learning how to tune PI coefficients of an induction motor drive. As you know, the speed loop is almost 10 times slower than the current loop. Would someone please let me know what modification I should use for the calculated coefficients according to the equations given in the user's guide? The equations are derived for a speed loop that is as fast as the current loop. However, as you know, it is not the case in an industrial system.

Regards.

  • As described in the instaspin user's guide, you can calculate the PI gains based on the system inertia, motor parameters, and damping factor. If you don't know these params, you have to tune the gains according to the system/motor running state.

  • Hi Yanming,

    Thanks for the reply.

    I think my question has been misunderstood. I was asking about the following subject, written in the user's guide:

    "In many cases, the speed loop is clocked at a much lower frequency than the current loop, since the frequencies associated with the speed loop are typically much lower."

    Does the difference between the sampling frequencies of the speed and current loops affects the calculated PI coefficients using the equations given in the user's guide?
    regards.

  • Does the difference between the sampling frequencies of the speed and current loops affects the calculated PI coefficients using the equations given in the user's guide?

    The current loop uses the ISR frequency that should be equal to the current sampling frequency, the speed loop uses a lower control frequency. Generally, the current loop frequency is 5~10 times of the speed loop, the PI gains of both control loop are based on itself frequency separately..

  • Thanks again for the reply

    Yes. I have done what you are saying for the sampling frequencies. However, regarding the equation given in the manual, I don't know how I should modify them according to the sampling frequency. For example, I have calculated the spdKi=132 and spkKp=2960 for the case of a continuous system (without any sampling frequency). How should I modify them for a sampling frequency of 10kHz/10=1kHz of the speed loop?

    Regards

  • Which example project are you referring to? What data types are you used for spdKi and spdKp?

    You just need to use the speed control frequency for calling the speed PI controller. 

  • Yanming,

    As mentioned before, accually I am using the "InstaSPIN-FOCTm and InstaSPIN-MOTIONTm" User's Guide document (January 2013–Revised February 2017), Chap. 11 (Tuning Regulators) page 389, Eqs. 59 & 60 for tuning the PI controller gains of the "HVACI_Sensored" example. The question is how should I modify the mentioned equations for different sampling frequencies? I think the variation of sampling frequency would affect the calculated gains. It is written in the User's Guide that:
    "In many cases, the speed loop is clocked at a much lower frequency than the current loop, since the frequencies associated with the speed loop are typically much lower."

    Regarding your question, I have used "float" type for the gains.

    Regards.

  • You might download the MotorControl software development kit (SDK) at the link below. The latest instaspin-foc projects use the floating point to calculate the gains of the PI controller.

    http://www.ti.com/tool/c2000ware-motorcontrol-sdk

    The  instaspin-foc projects are in the folder below.

    C:\ti\c2000\C2000Ware_MotorControl_SDK_3_01_00_00\solutions\boostxl_drv8320rs