Tool/software:
I am working on a small wearable device and am using the DRV2605L as motor driver IC for a Vybronics-VC0720B088L haptic feedback motor.
I followed the Initialization Procedure in the datasheet:
- Waiting 250 μs before asserting EN or sending I2C commands
- Assert EN pin to HIGH
- Write MODE 0x00 to remove from standby mode
- Select library B
- Set control registers to use Open Loop ERM mode
- Set device to Standby
So far everything goes smoothly. But asserting the GO bit, no matter the MODE, causes the OC_DETECT flag to be set.
The same code has worked on the DRV2605L Devkit before, through the I2C peripheral on that board. Yet it does not work here.
I have tried connecting the motor, leaving the outputs open, connecting a load resistor of 120 Ohms, probing with Oscilloscope between the outputs and shorting the outputs to eachother.
All result in the same: OC_DETECT.
According to the datasheet, the driver should periodically re-monitor the short and set the flag to 0 if it is resolved. This has never happened, the driver always has to be powercycled to clear it.
This is how the IC is connected on the board:
I have tested the output pins, they are not shorted to eachother, ground, V_SYS or anything else I thought of.
Am I missing something?
Any and all suggestions are appreciated.