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.

DRV8316REVM: BLDC Motor Positioning - Stop Issue – DRV8316REVM & LAUNCHXL-F280025C

Part Number: DRV8316REVM
Other Parts Discussed in Thread: LAUNCHXL-F280025C

Tool/software:

Dear TI Expert,

I am working on a project where I control a BLDC motor at low RPM using the DRV8316R and LAUNCHXL-F280025C, with Universal Motor Lab software.

I am encountering an issue when trying to stop the motor at an accurate position. After reaching the target position, the motor slightly moves backward due to what seems to be magnetic pull.

Current Stop Implementation

I use the following logic to stop the motor once it reaches the target position:


motorVars_M1.flagEnableRunAndIdentify = 0;
motorVars_M1.speedRef_Hz = 0;

However, after stopping, the motor slightly moves backward, likely due to cogging torque or magnetic pull.

Question

What is the correct approach to stop the motor precisely without it moving back

I have attached a video demonstrating the issue for better understanding.(from 12991 jump back to 12966)

Thanks for your support!

Best regards,
Shahar


  • Hi Shahar,

    I think I understand your issue, your expecting the position to eventually get to 12000 correct? but when its approaching 11991 it ends up going back to 11963 and 11966?

    You could try instead of just setting speedRef_Hz = 0 and disabling flagEnableRunAndIdentify, try keeping the motor in closed-loop control with a position reference. Set motorVars_M1.posRef_Hz (or equivalent position reference variable) to the desired final position. This will allow the FOC algorithm to actively maintain the position.

    Let me know if this works out for you.

    Regards,

    Yara

  • thanks, I already did that, and it works as you mentioned.The current draw remains high. Is there a way to reduce it?

  • Hi Shahar,

    You could try reducing the holding torque current so that it is just enough to counteract the magnetic pull.

    Regards,

    Yara