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: Motor does not spin smoothly in PWM Sine Mode

Part Number: DRV8308

Hi,

I have board I have developed that uses the DRV8308 to spin a BLDC motor with single-ended halls. I am controller the DRV via SPI from a microcontroller and using the PWM from internal speed register mode. When I enable the "Basic" 120 degree commutation mode, the motor spins just fine. When I try to use 180 degree sine commutation, the motor does not spin smoothly. The motor has a rough, pulsing rotation that scales with the speed. I have tried changing pretty much all of the settings including, Advance, HallRST, HallPOL, SPDgain, Loopgain, Filter, compensator, PWMF, and DELAY. The rough pulsing of the motor is also in phase with the pulsing of the LOCKn signal. However, I thought that I was using the DRV in open-loop mode so the speed lock should not be used?

Here are my two questions:

1. What could be causing the rough pulsing coming from my motor? What settings should I try changing?

2. Why is the speed-lock feature being used when I am using the open-loop mode?

  • Here is a scope shot showing the U phase of the motor and the LOCKn output. As you can see, every 10th cycle is longer than the others and causes the device to lose speed lock. 

  • Hi John,

    For some reason your scope shot didn't come through. The EVM user guide provides a tuning process for the motor. Have you tried following the information in the user guide?

    I believe the LOCKn signal will go low when the device transitions from 120 commutation with all three hall sensors to 180 commutation after startup. This is mentioned in section 7.1 in the datasheet:

    When the DRV8308 device begins spinning a motor, it initially uses all three Hall sensor phases to commutate. After a constant speed is reached, the LOCKn pin is pulled low and only one Hall sensor becomes used; this feature reduces jitter by eliminating the error caused by non-ideal Hall device placement and matching. Also at this time, commutation transitions to sine wave current drive (if enabled), which minimizes acoustic noise and torque ripple.

    Figure 13 also shows this. Try adjusting your SPEEDTH, MINSPD, and SPDREVS values in the registers. One other thing, did you write 3970 to MOD120? This is required for 180 sine mode.

  • After many hours of debugging I discovered that all of my motor phases were shifted by one. In retrospect it was obvious from the waveforms. Motor spins perfectly now and sine drive works!

    Thanks!