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.

DRV8308 180 degree sin-wave driving issue

Other Parts Discussed in Thread: DRV8308, MSP430G2233

Hi, All

I failed to activate 180 degree sin-wave driving on customer PCB with MSP430G2233+DRV8308+CSD18531.

I have set relative registers as below:

BASIC -> 0

ENSINE -> 1

MOD120 -> 3970

But still DRV8308 works as 120 degree driver.

Is there any other registers need to be set to particular value to activate sin-wave driving?

It worked with EVM, but I cannot access to soft codes built in MSP430 on the EVM.

It will also help if you could share the soft codes of the EVM for my reference.

  • Hi Alvin,

    According to the EVM user guide, you should be able to look at the third tab ("All registers") before and after entering sinusoidal operation and determine the difference.

    We will double check this operation, but please try it on your side. Thanks.
  • Alvin, what is the state of output LOCKn?  When the motor reaches a consistent speed, it changes LOCKn from high to low, and then switches to single-Hall mode, and enables sine drive.  If speed isn't locked, you won't enter sine.

    Speed lock is configurable by SPEEDTH (use a value of 5, 6, or 7), and MINSPD (set it to at least 100).

    Best regards,
    RE

  • Hi, RE

    Speed loop is not required in this application,
    so we disabled it by short FGFB to FGIN-/TACH and leave FGIN+ open.
    Will speed lock still work by setting SPEEDTH & MINSPD?
  • Yes, LOCKn is based on there being a constant motor speed (within the SPEEDTH tolerance). Try using the settings I suggested. Then probe LOCKn during motor startup, and see if sine mode is entered.

    Best regards,
    RE
  • HI, RE

    Sin-wave has been achieved. One further question, must MOD120 be 3970 for sin-wave? Or it is changeable in an area and has impact on the sin-wave performance?
  • Hi Alvin

    Please refer to P20 of the datasheet.

    In sin-wave must be 3970 for MOD120.

    "The output of the commutation block is a 12-bit modulation value for each motor phase (U, V, and W) that
    represents the duty cycle modulation of the PWM for each output. Note that during 120° commutation, these
    values are either 0 or set to a constant value derived from the MOD120 register.
    When using sine mode, MOD120 should be set to 3970."

    I think if change it in sin-wave mode, the internal sin-wave indexs or sequences will be incomplete (<3970) or early complete (>3970). Both will cause the distortion of sin-wave.

    Hi Ross,

    Correct me if I got it wrong.

    Best regards,

  • For sine mode, simply use 3970 as Wilson said. Note that if you're using an open-loop PWM mode, then the input duty cycle applied to CLKIN will be multiplied by 2.1x to get the output duty cycle applied to the FETs.

    If you're using 120° mode with an open-loop PWM mode, you can set MOD120=2048 and then get a 1:1 input-to-output duty cycle.

    For closed-loop Clock Frequency Mode, you can simply set MOD120=3970 no matter what.

    Best regards,
    Ross