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.

DRV8305: Brushless Vibration Motor driving via DRV8305

Part Number: DRV8305
Other Parts Discussed in Thread: DRV10964, DRV10974, DRV11873, DRV10964EVM

Dear Sir,

I had a "Brushless Vibration Motor" and the datasheet is below:

https://www.precisionmicrodrives.com/product/datasheet/912-101-12mm-brushless-vibration-motor-15mm-type-datasheet.pdf

It is DC 5V / 3-wire vibrator.

My MCU can provide SPI or PWM signal.

I want to driving it via DRV8305, is it ok?

If cannot, please give me your suggestion.

Thank you.

  • Wesley,

    Thanks for posting on the MD forum!

    DRV8305 should work but you could also use a less powerful DRV to drive this since it's low voltage and current.

    What are your requirements for the driver?

    Regards,

    -Adam

  • Hi Adam,

    Thanks for your reply.

    Do you have less powerful solution can provide ?

    I am not more requirements for the driver, as long as the vibration speed can be adjusted.

    Thank you.

  • Wesley,

    I would recommend one of our DRV10x devices, I will forward your post to my team mate who supports those devices.

    Regards,

    -Adam

  • Hi Wesley,

    We have DRV10964 which will be a good choice considering the low power rating of the IC. However, the registers in this device are One time programmable (OTP). Once the register values are burnt in OTP memory, it can not be re-programmed. Advantages of this IC is low power rating which perfectly suits your application and low cost. 

    I would also suggest DRV10974 which is a higher power IC and has more features compared to DRV10964. Also, this device can easily be tuned by hardware configurations. Since you mentioned speed control, DRV10974 with an MCU would be a good choice for speed control (with load variations). See the datasheets below:

    DRV10964: http://www.ti.com/lit/ds/symlink/drv10964.pdf

    DRV10974: http://www.ti.com/lit/ds/symlink/drv10974.pdf

    Regards,

    Vishnu  

  • Hi Vishnu,

    Thanks for your information.

    I purchase one DRV10964 EVM and one DRV11873 EVM.

    When I connect the brushless vibrator to DRV10964 and use Arduino UNO provide PWM signal (I had remove the R6 resistor) to drive vibrator, I found some question.

    1. When I connect vibrator and DRV10964 EVM and provide the dc power (not external PWM signal), the vibrator will intermittent operation directly (please see the attached video).

    2. When I  try to turn R5, the vibrator same of video.

    3. When I remove R6 and use external PWM signal, the vibrator will intermittent operation more times, sometimes the vibrator will operation continue.

    4. If I power off and power on again, the vibrator still intermittent operation more times, of course sometimes it will operation continue.

    5. When I remove the external PWM signal, the vibrator still operation same the video. The operation will not stop unless the PWM connect to GND.

    I had some question:

    1. What is the default operation mode of this DRV10964 EVM ?

    2. When I remove R6 resistor and the PWMIN point connect to HIGH level, is it will driving the vibrator operation continue ?

    3. What am I doing wrong that causes the vibration motor to not function properly ?

  • Hi Wesley,

    It is critical to tune the open to closed loop hand off threshold frequency. From the video it looks like the device is not entering the closed loop. The selection of handoff threshold can be determined by experimental testing. The goal is to choose a handoff threshold that is as low as possible and allows the motor to smoothly and reliably transition between the open loop acceleration and the closed loop acceleration. Normally higher speed motors (maximum speed) require a higher handoff threshold because higher speed motors have lower Kt and as a result lower BEMF. The open to close loop handoff can be changed either by changing the voltage on the CONFIG test-point or by changing biasing resistors R2 and R3. Please check table 6 and table 7 in the document here for recommended CONFIG pin voltage and Handoff Threshold Based on Maximum Speed of Operation.

    Regards,

    Vishnu

  • Hi Vishnu,

    Is there any calculation method related to the motor speed and the threshold?

    As my motor speed is 11,200 RPM, how much will the threshold need to be set?

  • Max speed (Hz) = (Motor speed (rpm) * poles)/120. Pick the hand-off frequency from table 7 based on the calculated Max speed. Pick the CONFIG pin voltage from table 6 based on the hand-off frequency.

    Regards,

    Vishnu 

  • Hi Vishnu,

    So...if I use DRV10964 to driving motor, the

    Max speed (Hz)=(11200*3)/120=280 Hz

    From the table 6, the Hand-off frequency is 62.5 Hz and CONFIG[3:0]=0x5

    And the CONFIG voltage is (32.2% to 36.6%)*VCC (DC 5V)

    CONFIG voltage (min) = 32.2%*5V = 1.61V

    CONFIG voltage (typ) = 34.4%*5V = 1.72V

    CONFIG voltage (max) = 36.6%*5V = 1.83V

    I need provide this voltage to CONFIG pin, right ?

  • Wesley,

    Yes, that's correct. Provide 1.72V to config pin. 

    Regards,

    Vishnu

  • Hi Vishnu,

    Thanks for your help.

    I will try again.

  • Wesley,

    If your issue has been resolved, please help us out by clicking the green “This Resolved My Issue” button.

    If you have a related question, please use the orange "Ask a related question" in the top right corner of the page.

    Regards,

    Vishnu.

  • Hi Vishnu,

    My current settings are:

    FGS = VCC
    CONFIG = DC 1.1V
    PWM frequency = 25KHz
    PWM duty = 50%


    It can be driven successfully, but the operation status is sometimes normal, but sometimes it is not normal. Is there anything I did not notice?

  • Hi Wesley,

    Shouldn't your CONFIG voltage be 1.72V? If this doesn't work, increase the CONFIG pin voltage and try again. Increasing this voltage will set a higher handoff frequency and help estimate BEMF more accurately. Also, try setting FGS to 0. 

    Regards,

    Vishnu

  • Hi Vishnu,

    I have tried to set FGS = GND and increased the voltage of CONFIG from 0.5V to 3.3V through the power supply, but the operation is still the same as the video above.

    So I tried to set FGS = VCC and tried to input different voltage to the CONFIG pin. I found that when the CONFIG voltage is DC 1.1V, the vibrator will operate normally.

    I am not sure what will happen on the system.

    But I will try your settings again.

  • Wesley,

    Sounds good! Please let me know if you have anymore questions. If not, please help us out by clicking the green “This Resolved My Issue” button.

    Regards,

    Vishnu.

  • Hi Vishnu,

    I try to driving BLDC via DRV10964 EVM (different PWM source).

    First, I use DRV10964EVM (default circuit) to driving BLDC motor, the setting is below:

    VCC=DC 5.0V

    FGS=LOW

    FR=GND

    CONFIG=1.75V

    R5 (On the EVM) fully CCW

    When connecting to VCC after connecting to CONFIG, the BLDC will operation automatic, but not normal.

    The operation status is the same as the previously provided video.

    I try to induced the CONFIG voltage to DC 3.0V, the operation statue same...(Of course, when I change the CONFIG voltage, I had remove VCC and connect again).

    Second, I try to remove R6 (on the EVM) and connect to Arduino (PWM signal), other settings are the same as above, of course the BLDC motor operation status same as above.

    In these two tests, I can feel that when the BLDC motor is stopped after being turned, there is still a short period of time inside (but the operating state is not visible outside), which is similar to the idling state.

    Can you help me solve it ?

  • Hi Vishnu,

    I solved it.

    The root cause is the BLDC motor RPM tolerance.

    On my hand, the BLDC motor RPM is 11200 (+/- 2240 RPM)

    So if the motor at lower side, the RPM is 11200-2240= 8960 RPM.

    Then CONFIG voltage is 1.41V...

    So...i solved it.

    Thanks for your help.