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.

DRV2605 Simple ON and OFF with PWM Control

Other Parts Discussed in Thread: DRV2605

Hello, 

I am using the DRV2605 with Arduino, I have got it working with the library and LRA and ERM motors, but I'm struggling to work out how to send my own custom vibration patterns for testing. I essentially want to send PWM 100% for 50ms then turn completely off. Currently I am using the Adafruit library with Arduino, but have modified it for my purposes.

Kind regards,

Joe

  • Hi, Joe:

    currently, you are using DRV2605 PWM_input mode. What's your input PWM frequency?

    if you want to send PWM 100%, we can configure the DRV2605 to work in external level trigger mode (LRA, CloseLoop).

    So, HIGH input to IN/Trig pin will trigger the vibration, and LOW input will stop the vibration.

    can you please provide the register values of DRV2605? we can know the DRV2605 status.

  • Hello sorry for a very late reply.

    I do not understand your first question - what is your input frequency?

    Can I control PWM say like I do for a LED driver, at multiple values?

    So far I have the driver setup for Open Loop working with both ERM and LRA.

    Here are the register values I have setup so far:

    (REGISTER, VALUE)
    (0x01, 0x00)

    (0x02, 0x00)

    (0x04, 1)
    (0x05, 0)

    (0x0D, 0)

    (0x0E, 0)
    (0x0F, 0)
    (0x10, 0)
    (0x13, 0x64);

    (0x1A, 0xB6);

    Thanks, your help is appreciated

    Joanne
  • Hi, Joanne:

    I don't understand "the Adafruit library with Arduino".

    Is it a sequence of different PWM duty cycles?

    To drive an actuator with DRV2605, the most easy way is to use close-loop mode. the output can be customized with different vibration strength.

    this can be achieved by changing the register value of 0x02 along with a timer.

    the waveform looks like : (strength0, duration0),(strength1, duration1)....

    if using PWM input is a prerequisite in your application, we can work out a corrent register configuration.

    please help me clarify this.

    Thanks.