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.

DRV10987: Device can't start motor

Part Number: DRV10987

Hi,

I am having a lot of trouble trying to get this chip to spin atall. It vibrates slightly, and on my scope I can see the DRV applying a signal to all 3 motor phases, but it doesn't seem to apply enough torque to overcome the detente torque of the motor (which is very small...)

It has a start at spinning if I run it at very low voltage (6.6V), and gets up to ~2Hz on the rotor before stopping. Higher voltages result in current limiting sooner.

I am setting up the parameters via I2C, and then driving it with a PWM signal. I am successfully reading the parameters back from the EEPROM to confirm they are writing correctly.

For my application, I have to use STM32F0 chip. 

The parameters are set as below:

#define WORD16(v) ((v) >> 8), ((v) & 0xFF)

uint8_t configVals[14]={
WORD16(0b0100000000000111),//Set Rm to 0.0679
WORD16(0b0000010100101111),//0x052F),//set Kt value to 0x05 4.6mV/Hz - 1000mv/1700rpm/V/60*7PP, 150uS advance time
WORD16(0b0000100011011010),//1.6A current in open loop,0.7Vcc/s
WORD16(0b0001101110011011),//6.9Hz/s2, 9.2Hz/s, 51Hz open-closed loop ,0.67s align time
WORD16(0b1011111110101110),//1.6A on overtemp, all locks enabled, 2A SW limit, 2.8A HWlim
WORD16(0b1110110001000000),//PWM input, 50KhZ, 3/2Kt,1/2Ktlim, induc+mechAVS en, AVS-VCC, brk on indres, closed loop, 0.37VCC/s,5% min duty,35V/us
WORD16(0b0000000000100101),//Score control 0.5, Dead time 240nS Fill these in from the Datasheet

};

As I say, I am writing and reading them back successfully. 

My motor is a 1700kV motor, with a ~0.07ohm Rm. I'm actually using the one from the STMIHM07M1 dev kit for now to trial so that I can run it on my desk, unfortunately my prototype hardware currently has to be run from another ESC since I can't get this to work.

I can't install the EVM software on my computer; we have a lockdown on software install and the labview component is trying to access a whole world of stuff - an unreasonable amount of instalation. Is there an online parameter calculator or something available?

I'm getting back 0x08 and 0x09 for the fault registers, which is "no motor" and "current limit".

Perhaps you could generate the parameters for me for this motor that would "just work"?

Thanks

David

  • Hi,

    So after some work, I have managed to get it to spin up the motor. However, it seems that:

    1) The granularity in settings towards the end I am using results in a single setting level change (e.g. from Kt=4.6 to 5.2) stopping it from working. Kt and Rm must be spot on otherwise it reports no motor, overcurrent...etc...

    2) Due to the 1000Hz electrical frequency (I think it's this...) it gives up above ~half duty cycle with the BullRunning motor and 8V. 

    With a different motor (the one I am actually using, Kt~9mV/Hz) it seems that there is not enough starting current to overcome the detente torque of the motor.

    https://www.youtube.com/watch?v=zt6JOtgHHNk&feature=youtu.be

    https://www.youtube.com/watch?v=5rEgNpLl8iI

  • Hi David,

    Have you gone through the steps of the DRV10987 Tuning Guide?http://www.ti.com/lit/ug/slou477/slou477.pdf

    Regards,

    Michael

  • Michael,

    Yes, I have. Unfortunately, I seem to have hit two physical limitations of the chip. I observe from directly connecting my PSU to the motor and from limiting the speed and observing the tachometer on my 'scope that the chip is unable to overcome the detente torque on one and exceeds 1000electrical Hz and just stops on the other.

    The motor needs ~2A to overcome the detente, hence it occasionally starts, normally by luck if it catches sync with the motor as it passes through the resonant band. I'm pretty confident in my findings at this stage, the circuit and the parameters are definitely going in correct, I have given it correct Rm and Kt values (and tried the various combinations of values either side).

    David

  • Hi David,

    Can you share your latest settings? also can you capture the motor phase current?

    Regards,

    Michael

  • Settings are:

    WORD16(0x1589),//
    WORD16(0x092A),//
    WORD16(0x00D0),//
    WORD16(0x12FB),//
    WORD16(0xBCAF),//
    WORD16(0xAC63),//
    WORD16(0x316A)};

    Unfortunately, I don't have a current clamp to hand, so capturing the phase current is non trivial.

    David

  • I am sorry I am having a difficult time reading your register values can you put them in the following format so that I can read the values easier.

    reg 0x90 set to 0xXX

    reg 0x91 set to 0xXX

    ......

    Regards,

    Michael

  • Michael,

    Not sure I'm following your request...

    The registers are 16 bit aren't they so 0xXXXX? Am I misunderstanding quite fundamentally?

    So:

    reg 0x90 set to WORD16(0x1589),//
    reg 0x91 set to WORD16(0x092A),//
    reg 0x92 set to WORD16(0x00D0),//
    reg 0x93 set to WORD16(0x12FB),//
    reg 0x94 set to WORD16(0xBCAF),//
    reg 0x95 set to WORD16(0xAC63),//
    reg 0x96 set to WORD16(0x316A)};

    WORD16 is a macro I wrote to shift them into the I2C bus in the correct order, otherwise the I2C memwrite library writes the bytes backwards and nothing sensible happens.

    Regards

    David

  • Hi David,

    How did you get to these settings from your previous values? did you just tune the values until it kind of worked? can you capture the voltage waveforms of the phase voltage from start up to closed loop?

    Regards,

    Michael

  • Hi Michael,

    I have since put it away and stopped working on it since it's been a while since I started this thread. If I get a chance, I'll get it back out, but I'm fairly convinced my problem is a limitation with the chip and a high detent torque/high pole number motor (regarding a different max speed problem) not with my register setup.

    I couldn't get the software TI supplies to run; it downloads so much blumpf in the background and computer security went nuts, so I've been manually tuning, but I followed the steps with:

    measuring the back EMF using a 'scope, resistance by using V/I with a current limited power supply connected to one phase.

    Set up max startup current, slow acceleration etc, then picked the relevant settings for open loop only, as per the startup sheet, with align and go etc... combination of manually going through the registers on the datasheet and using an online calculator someone made.

    So it was methodical, but without the TI software I couldn't run.

    Regards

    David

  • Hi David,

    I am sorry to hear that you have had such a difficult time with the TI software and tuning the DRV10987.

    Regards,

    Michael