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: How to drive the motor in PWM mode

Part Number: DRV10987

Hello, I have some questions about driving the motor in pwm mode.


First of all, I can guarantee that the IIC communication is normal and can perform normal read and write operations on the EEPROM.
After setting the recommended parameters of DRV10987TuningGuide, set the speed pin to a square wave with a duty cycle of ten percent. My motor can be started. However, there are the following problems: the jitter is large at startup, and the motor will gradually decelerate until it stops. After a while, it starts again, then gradually slows down to stop. This is a video link:

vc.bilibili.com/.../detail

After debugging, it is found that FaultReg_Reg will read the value 0x04. I thought that the kt value is not set correctly. I follow DRV10987TuningGuide to turn the motor by hand to measure the voltage and frequency of the two phases with oscilloscope. The kt is about 47mv/Hz. The above problem, I will configure CONFIG5, disable LockEn2 (Abnormal Kt), FaultReg_Reg can still read 0x04 (cleared before rereading). Here are my key parameter settings:

DRV10987Q_CONFIG1_Reg       ----        0x0659

DRV10987Q_CONFIG2_Reg       ----        0x2D3F

DRV10987Q_CONFIG3_Reg       ----        0x2440

DRV10987Q_CONFIG4_Reg       ----        0x4178

DRV10987Q_CONFIG5_Reg       ----        0x0009

DRV10987Q_CONFIG6_Reg       ----        0xB9E3

DRV10987Q_CONFIG7_Reg       ----        0x002A

  • The problem has been resolved because the configured values are not written to the registers.

  • Hi,

    Wait all of the issues you were running into are resolved!? If so that is great! 

    Regards,

    Michael

  • Now I have some new questions.
    My current configuration is as follows:

    Config1

    0x066B

    Config2

    0x2D4D

    Config3

    0x0047

    Config4

    0x413F

    Config5

    0xDF09

    Config6

    0xB143

    Config7

    0x006A

    When I give 80% duty cycle, the motor has better load capacity. The DC source shows a current of around 400 mA (with a current limit of 400 mA). The video link is as follows:

    https://youtu.be/gM08JasUzMw

    When I give a 20% duty cycle, the load capacity of the motor is extremely poor. If you touch it with your finger, it will block. FaultReg_Reg shows 0x0026 after blocking, corresponding to Lock1 (Speed abnormal fault), Lock2 (Kt abnormal fault), Lock5 (Stuck in closed loop fault). (I have already referenced the DRV10987TuningGuide parameter setting.) There is still a problem at this time, if Lock1, Lock2, Lock5 are not enabled, the FaultReg_Reg will still have 0x0026 after the motor is blocked (it has been cleared by write 1). The video link is as follows:

    https://youtu.be/-fdBQ2UpMX4

  • Hi,

    unfortunately from your video it seems that with 20% duty cycle the motor is spinning pretty slowly and with you loading the motor the motor slows down so much that the DRV10987 cannot sense the BEMF well enough to commutate the motor properly. There is not much you can do about this but impliment a speed loop with an MCU. You can do this by having the MCU reading the frequency of FG and then increase the applied duty cycle if the motor speed gets too low.

    Regards,

    Michael W.

  • Hello, thank you for your reply. I still have two questions I would like to ask.

    Q1) In practical applications, my motor is used under less than 60 rpm, is it not suitable for this motor drive? Or is it possible to work at low speed after a speed loop through the FG pin and the MCU?

    Q2) The motor I use needs to constantly change direction, the frequency is 1-2Hz. Drv10987 has a complicated startup process, and the datasheet says that it will re-enter the process after changing the direction. Can it meet the 1-2Hz requirement when the settings are perfect?

    Looking forward to your reply.

  • Hi,

    Q1) it depends on the number of poles the motor has. The electrical frequency and Kt are the thing that limit our ability to drive a motor reliably. If the electrical frequency is 1Hz and the BEMF from that 1Hz is 47mV then I dont think the DRV10987 will drive your motor reliably.

    Q2) what do you mean by constantly change direction? if the motor driver has to go from -60 RPM to +60RPM at 1-2Hz the DRV10987 will most likely not be capable of doing this. What application is this in where the motor has to change direction so rapidly?

    Regards,

    Michael W.

  • Thank you for your reply, my motor is used to stabilize the camera, it seems that I have to change the driving method.

    Thank you again for your help.