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.

MSP430F5529: BLDC motor control at low RPM using Sinusoidal Commutation

Part Number: MSP430F5529
Other Parts Discussed in Thread: DRV8313

Does anyone know how to do this? I know people have, but I'm stuck on some details of implementation.

I believe that for sinusoidal commutation for high speeds we want to drive approx forward 90 degrees from the current rotor position for highest efficiency and least torque ripple.

But if I want to move the BLDC very slow (e.g.: 1 rpm), I'm not sure if I have to:

(1) scale down my pwm duty cycles and keep the "drive position" at 90 degrees or

(2) keep the duty cycle scaling the same but drive at a "closer" angle to the current motor position

Thank you for your time.

I am using a MSP430F5529 and DRV8313.

  • Hi,

    I'm currently looking in to this with our experts so please understand that this might take a few days.

    Until then, can you have a look at the following E2E thread (if not done so yet). I think it addresses the same question.

    Best regards,

    Britta

  • Hi,

    besides the thread I've pointed you to, also visit the following Link to have a look at the TI Motor Control Compendium which explains about everything in motor control.

    It probably already helps you to solve your question.

    After reviewing the documentation please give further details on your current motor control setup this can then help me to better respond to you question.

    Best regards,

    Britta

  • Britta,

    Thank you for the response!

    The thread you linked was the original thread I ran into before I posted my question. My question was a bit deeper in the weeds, and wanted to know a bit more detail. Reading Mr. Wilson Zuo's reply again to the post you linked, he did a pretty good job explaining the relationship between where to drive and how to drive it:

    "One is to use SPWM in open loop even without the position feedback. The SPWM can form a 1 rpm rotary magnetic field and the rotor is aligned with the field all the time. This is similar as driving stepper in high level micro stepping way. It is also like Iq=0 in FOC. It is simple but low efficiency. You may need to set how much current to be continual used even without load."

    If I had to answer my own question with his answer in the other post, I guess it has to be a mix of both (1) and (2). I can always have my driven position aligned with the rotor, but I would have to be mindful, and limit how much current goes through the motor by reducing my duty cycle i suppose. It also can be open loop because it's slow enough to assume that the rotor has "caught up" to where it is driven. This is all under SPWM or Sinusoidal Commutation.

    The TI Motor Compendium is a good reference for some background into all kinds of motors and goes into some detail about commutation and different methods of calculating the drive angle desired. The biggest issue with BLDC references most of the time is that most applications are for higher speeds.

**Attention** This is a public forum