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.

MSPM0G3507: I need help tuning a sensorless motor.

Part Number: MSPM0G3507
Other Parts Discussed in Thread: DRV8329

Tool/software:

Hello my dear supporters and engineers,

We are using C:\ti\mspm0 sdk_2_03_00_07\examples\nortos\LP MSPM0G3507\motor_control_pmsm_sensorless_foc\sensorless-foc DRV8329 to turn the motor.

The motor has a very hard time entering the closed loop, so we need some motor tuning.

The final goal is to reduce alignment time and open loop time as much as possible to reach the target speed within 3 seconds.

To do so, first
pUserInputRegs->systemParams.speedLoopKp
pUserInputRegs->systemParams.speedLoopKi
pUserInputRegs->systemParams.currLoopKp
pUserInputRegs->systemParams.currLoopKi
We want to change these values.

Depending on how you change this value, the motor may not run even in open loop.

How to find the appropriate value?


motor status (Additional explanation, If necessary, I will ask questions in the next forum.)
- Long alignment time and open loop time are required to stably enter a closed loop.
- Even if it enters a closed loop, if the target speed is too large or too small, MOTOR_STALL occurs (FAULT1, FAULT2)
- Even when entering a closed loop, the maximum speed is 333hz, but even at 172hz, MOTOR_STALL occurs and the motor stops.

Please check this issue, and let me know if you need mor information.

Best regards,

Donguk

  • Hi,

    I will check with our motor expert to look into this case. However, he is out of office this week and will be late to response it. Thanks for understanding. 

    Best regards,

    Cash Hao

  • Hi Donguk,

    Nice to meet you again.

    For the current loop, I highly recommend you use the auto calculated PI parameters to tune the motor.

    You can set the Kp/Ki of the current as zero, then it will auto calculate it based on motor parameters. This will be much better way to set a initial current loop params.

    For speed loop, we always do manaul tuning according to the motor real behavior.

    - Long alignment time and open loop time are required to stably enter a closed loop.

    This is expected in heavy load. This is due to the motor current is not enough to quickly set the motor as expected condition.

    - Even if it enters a closed loop, if the target speed is too large or too small, MOTOR_STALL occurs (FAULT1, FAULT2)

    If the speed is too small, it will out of control. This is expected behavior.

    If the speed is too large, sometimes it failed due to the motor output performance is not enough.

    B.R.

    Sal