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.

DRV10983 Drive Chip

Other Parts Discussed in Thread: DRV10983

I am currently using a motordrive, PN: DRV10983 to drive a brushless DC motor made my Maxon, PN:368852. I am having a lot of difficulty getting the motor to rotate at all and it instead appears to just chirp or make small jumps. The three motor parameter registers are configured as such: 0x20 = 0xEA, 0x21 = 0x9B, 0x22 = 0x2A. I am attempting to use I2C for full control (ie speed/breaking) and so have MSB of 0x01 set to 1.

So far I have smoked 2 of these chips when I was under the impression they had protection to avoid this - which in and of itself causes me to believe something is wrong. The motor is within the spec for the drive in terms of current, resistance, and speed constant. 

  • Hi Ahmed,

    Our experts have been notified and should reply soon.
  • Hi Ahmed,

    what is the motor resistance value? have you tried to slow down the open loop acceleration rate?

    Thanks,

    Seil

  • It has a terminal resistance of 1.3OHM and a speed constant of 2980 RPM/V which if my simplification is correct simplifies to 20 mV/Hz. I have not yet tried to slow it down, is there a recommended speed?
  • Ahmed,

    I also calculated around 20mV/Hz based on the specifications of your motor. One problem that you are running into is that your high speed motor unloaded will try to spin at almost 1200Hz at 24V which is beyond the DRV10983 maximum of 1000Hz. The DRV10983 should be able to spin your motor up to 1000Hz so you may have to limit the supply voltage or the maximum commanded speed.

    While you are tuning the DRV10983 I would suggest disabling the closed loop until the motor will spin up in open loop to the Open to Closed Loop Threshold. This is done by setting the LSB of register 0x2B. To start tuning you can set the open loop acceleration settings to the slowest values and gradually increase it as you find your motor continues to start up reliably.

    Regards,

    Zach
  • Ahmed,

    Are you using IPD during startup? I would recommend you to refer tuning guide, if you not done so http://www.ti.com/lit/ug/slou395c/slou395c.pdf

    Can you describe more in detail about condition under which these chips were smoked - like close loop or open loop operation, operating speed, current limit set for device, open loop acceleration limit, close loop acceleration limit etc

    Some scope plots of phase current and voltages will be also useful here to look into this issue

    Regards,

    Krushal

  • I am not using IPD and have followed the tuning guide which still has not allowed me to get the motor turning in open loop. Currently have registers set as such: I have verified that the values from the datasheet match what is measured from the motor in terms of terminal resistance and speed constant

    • 0x00 : 0xFF
    • 0x01 : 0x80
    • 0x02 : 0x00
    • 0x03 : 0x80
    • 0x20 : 0x4A
    • 0x21 : 0x4E
    • 0x22 : 0x2A
    • 0x23 : 0x00
    • 0x24 : 0x98
    • 0x25 : 0xE4
    • 0x26 : 0x7A
    • 0x27 : 0xFC
    • 0x28 : 0x69
    • 0x29 : 0xB7
    • 0x2A : 0xAD
    • 0x2B : 0x0C

    the driver is reporting that the motor is "locked" which it is not. It seems to oscillate rapidly back/forth before settling down. A few seconds later is oscillates again and it just repeats this pattern. At times it rapidly spins as would expected but again just stops and repeats the oscillatory behavior

    and scope grab of the voltage potential being applied to the 3 winding referenced to system ground

  • Hi Ahmed,

    It seems motor resistance and motor Kt are not configured correctly. Value for register 0x20 and 0x21 doesn't match the resistance and Kt provided by you in earlier post. Please note that 1/2 of phase to phase motor resistance and 0-peak value of line to line Kt needs to be configured for this device.

    Refer Section 9.4.1.1 Motor Resistance and 9.4.1.2 Motor Velocity Constant in datasheet to select right value to configure for this registers

    I would recommend runing motor in open loop first and then moving onto to close loop. I would recommend following changes to register setting to configure motor in open loop with slowest acceleration. It will also disable close loop operation and IPD operation

    address - data

    0x24        - 0xF8

    0x25        - 0xFF

    0x26        - 0x79

    0x2A        - 0x0D

    0x2B        -0x0D

    Regards,

    Krushal

  • Ah you are correct, I had the values miss correct when I read them back, that is a simple mistake on my part. The motor now reliable aligns itself but after exactly 1/2 a revolution it again stops rotating and repeats the entire process over. I am currently using all of the values you recommended above. I am running the motor in open loop with closed loop disabled. It appears to still be triggering the locked motor bit, however I am not reading currents that would be high enough to do so in relation to the bits set for triggering this. 

  • Hi Ahmed,

    I am assuming from your post that you are getting over current fault. If so, there are couple of things you can try here

    - Increase over current lock detection threshold by configuring 0x28 register. Right now you have it set to 2.0 A, I would recommend to increase it to 3.2 A by configuring 0x28 to 0x6E

    - If fault still persist, disable over current lock detection fault for time being by resetting bit  4 in 0x27 register

    Regards,

    Krushal

  • I ended up blowing the chip I was using. Short on the power rails causing reverse current to flow through the chip from the buck converter. Anyway, Got a new chip setup and now the system does not work again. Same exact register settings, same motor, and it no longer rotates. I want to thank you guys for all the help so far with this, however I am beginning to run short on time I am allocated to try and get this up and running. I will try and get it up and running, but it is not looking promising. 

    The status registers are not showing any over current lock at this point, currently with the new chip the scope is not showing the driver trying to 'align' the motor. In the scope grab posted above you can clearly see when it pulls all motor windings high, this new chip does not do this. 

    Again, Registers are setup as such:

    0x20 : 0x48

    0x21 : 0x0B

    0x22 : 0x2A

    0x23 : 0x20

    0x24 : 0xF8

    0x25 : 0xE8

    0x26 : 0xF9

    0x27 : 0xFC

    0x28 : 0x8F

    0x29 : 0xB7

    0x2A : 0x0D

    0x2B : 0x0D

    I have also noticed that even if the bit in register 0x03 is set to disable sleep mode, the chip will randomly enter into sleep mode. Is this also normal? if so this behavior is worrying in and of itself. 

    is it possible to get into direct contact with an app engineer to help with this? This forum medium is proving to be too slow for our product development