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: motor operation with drv10987

Part Number: DRV10987

hi, 

i have been oporate  the motor with my controller board and the firmware using i2c that oporate the evm board (not with the evm gui).

but i encountered in two problems :

1. when i raise the power to the controller from 0v to 24v  and i burn down the firmware to the microcontroller, the motor works well with 300mA  and in the speed that i want (i wrote the speed to the 0x30 register with overide) but if i take down the power to 0v and put on the power again to 24v the motor works but more slowly with 180mA. its  seems like the speed is being overwrite or the speed and the override bit is turn down to zero somehow.you have an idea what can cause this?

2. when i raise  the power, sometimes, it start the motor immidiately and sometimes it raise the current and fell, couple of times before the motor start . it is like the algorithm is trying to understand the motor position.

so, i try to play with the configuration of the ipd and it brings a little improvement but still there is two or three times that it is trying to start the motor without success and afterwards the motor start. is there something else that could cause this?

i attached my configuration

DRV10987Q_CONFIG1_Reg , 0x004A

DRV10987Q_CONFIG2_Reg , 0x0F3B
DRV10987Q_CONFIG3_Reg , 0xCB80
DRV10987Q_CONFIG4_Reg , 0x2367
DRV10987Q_CONFIG5_Reg , 0x3B0D
DRV10987Q_CONFIG6_Reg , 0x3963
DRV10987Q_CONFIG7_Reg , 0x0465

thanks,

liraz.

  • Hey liraz,

    Our experts have been notified of your question and intend to answer it after the national holiday.

    Best,
    -Cole
  • Liraz,

    A couple of points.

    1. If I understand correctly your are setting the speed with the I2C register. Then turning off power and expecting the same speed as before. The speed register is not supported with EEPROM. So you can't save a speed command. I suspect you are getting a command based on the PWM pin whenever you bring power up the second time.

    2. It would be good to see a phase voltage and current, however, looking at your settings the handoff frequency is very low given the Kt value of your motor. It might be trying to spin but just not going fast enough to hand off to closed loop commutation. The other thing you can try is increasing the IPD current to see if the IC can better determine the initial position.

    One other thing I noticed with your settings is the dead time is lower than recommended. For your slew rate the recommended dead time is 440ns based on the tuning guide.

    Thanks,

    Brian

  • hi,

    i am setting the speed with the I2C register. Then turning off power and expecting the same speed as before.  i understand that The speed register is not supported with EEPROM. but, in the main i write again the speed and the override register using the i2c . so, even if it is not to the eeprom it should write again the speed because  the command is in the main. instead, i  get a command based on the PWM pin whenever i bring power up the second time.

    when i write to the speed register in the main it should change the speed because when i bring power up it runs the main. somehow this is still give me the command of the pwm.

    i think that maybe something in the evm board (switch or software is over write the speed register.you have any idea?

    i need to insert the speed with i2c. how do you recommend to do that? i thought about saving the speed in the microcontroller eeprom and write from there.

    thanks, liraz.

  • Liraz,

    If you are running your main routine that sets the override and I2C speed command after the power up that should take precedence to the PWM/SPEED pin.

    There is nothing on the EVM that would prevent the I2C command from taking control once it is written.

    Can you try a delay before writing the command? Is it possible that the MCU is up before the DRV10987 is ready to accept the command?

    Thanks,
    Brian
  • hi,

    i tried to add delay before the i2c write to the speed register and still have this problem.

    when i am in debug mode the motor is spining in the speed that i wrote to the speed register and when i read the speed register, it is in the right speed. but, when i shutt down the power 

    it start with analog speed or pwm speed(by the switch on the evm)  instead of the i2c speed that i insert in the main.

     do you have any idea what can cause this?

    thanks, liraz

  • Liraz,

    The device will always start with the SPEED pin input, but should change to your command once the I2C command is written (along with the override).

    I don't know what would cause it to ignore your I2C command. It seems like something in the software isn't behaving as expected.

    Thanks,
    Brian