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.

DRV2665: Unable to generate output voltage on DRV. IC likely resets

Part Number: DRV2665
Other Parts Discussed in Thread: DRV2667, DRV2667EVM-CT

Hello Everyone,

We are trying to use a DRV 2665 for running a 1µF Piezoactuator at 10Hz or lesser. We have setup the example circuit, are able to communicate with the IC via I2C(100khz), able to change the Status and Gain register.

The program is setup as an infinite loop - Read from 0x01 and 0x02, print values via serial (band rate 115200). Write 0x2C and 0x0E to respective registers, read values again after writing and print. Intention is to drive DRV2665 via Analog Input (from voltage source)

The register values change back to default values after the loop ends and restarts. The likely cause is that the IC undergoes a reset without any explaination.

Our experience is very similar to another user (Thread name - DRV2665 Override Bit by Chris Vogt) He solved the problem by ordering more ics and found that his existing code worked with the replacements, indicating that the first batch of ICs might have been defective. 

#define reg_DRV_Status 0x02
#define reg_DRV_Gain 0x01
#define reg_DRV_FIFO 0x0B

#define data_DRV_Status 0x0E
#define data_DRV_Gain 0x2C
#define data_DRV_H 0x7F
#define data_DRV_L 0x00   

void i2c_write(int , int, int, int);

void setup() 
{
}
void loop() {
// Reading config
  Serial.println("DRV Gain Value");
  i2c_read(ADDR_DRV, reg_DRV_Gain);
  Serial.println("DRV status Value");
  i2c_read(ADDR_DRV, reg_DRV_Status);

  i2c_write(ADDR_DRV, reg_DRV_Status, 0x00, 0x00);//Exit Standby mode
  i2c_write(ADDR_DRV, reg_DRV_Gain, 0x2C, 0x00);//Choose Analog Mode
  i2c_write(ADDR_DRV, reg_DRV_Gain, 0x2D, 0x00);//Set gain to 50V
  i2c_write(ADDR_DRV, reg_DRV_Status, 0x0C, 0x00);//Set timeout to 20 ms
  i2c_write(ADDR_DRV, reg_DRV_Status, 0x0E, 0x00);//Set override to 1

  //i2c_write(ADDR_DRV, reg_DRV_FIFORO, data_DRV_FIFORO, 0);

  Serial.println("W DRV Gain Value");
  i2c_read(ADDR_DRV, reg_DRV_Gain);
  Serial.println("W DRV status Value");
  i2c_read(ADDR_DRV, reg_DRV_Status);
}

void i2c_write(int address, int reg_ister, int data8, int data16)
{ 
  if (address == ADDR_AMC)
  {  
  Wire.beginTransmission(address);
  Wire.write(reg_ister); 
  Wire.write(data8);
  Wire.write(data16);
  //Serial.println("W 16bit");
  }  else  { 
    Wire.beginTransmission(address);
    Wire.write(reg_ister); 
    Wire.write(data8);
    //Serial.println("W 8bit");
    }
  Wire.endTransmission(true);
    //delay(delay_led);
}             

void i2c_read(int address, int reg_ister)
{ 
  Wire.beginTransmission(address);
  Wire.write(reg_ister);
  Wire.endTransmission(false);

    if (address == ADDR_AMC)
  {  
  Wire.requestFrom(address, 2, true);
  }  else  { 
  Wire.requestFrom(address, 1, true);
 }
    while(Wire.available())    // slave may send less than requested
  { 
    byte c = Wire.read();    // receive a byte as character
    Serial.println(c);         // print the character
  }
  //delay(delay_led);
}

Relevant info:

1. Our breakout boards do not have a thermal pad to connect the base to ground. The datasheet "recommends" it be connected to ground and a heatspreader. Can this be a reason for the IC to reset?

2. Does making a circuit on a breadboard reset the IC? I ask as the Datasheet specifically mentions that distance to capacitors must be as short as possible. We expected degraded output voltage and frequency response (which can be minimised on a PCB), but do not expect the IC to reset as a result.

Do you have any suggestions to rectify the problem or perhaps suggestions as to where a cause for this behavior lie? 

With Kind Regards,

Aditya Bhuvaneshwaran

  • #define ADDR_DRV 0x59
    #define ADDR_AMC 0x61
    #define delay_led 2000

    3 Definitions are missing from the code.
  • Hi Aditya,

    Welcome to e2e.
    I'll take a closer look to the information you provided and provide further comments as soon as possible.
    However, from a quick analysis on the previous post you mentioned, it is possible that the issue is due to the breadboard connection. It seems that the problem was solved when all components were soldered on a PCB.

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • Hi Ivan,

    Thanks for your quick response. We checked the breadboard connections. They seemed to be order.

    With Regards,
    Aditya

  • Aditya,

    Is there a chance that you could test on an actual PCB board?

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • Dear Ivan,

    We wanted to test if the response of the chip is sufficient for our application. Its a little outside the specs.

    The datasheet says it can comfortably drive Piezos with 100nF @200Vpp and 300Hz. Our piezo actuator has a capacitance of 1.1µF, is expected to be driven at 50Vpp between 1-10Hz for 1-2 minutes.

    When speaking of tradeoffs, we are willing to live with lower actuation frequencies if the chip can actuate the piezos reliably.

    The actuators will stay at maximum elongation (ie Vpp 50V) for 5-10 minutes every hour, operate at a frequency (1-10Hz) for 1-2 mins every hour and then come back to zero position (ie Vpp 0V) for the remainder duration.  This mode of operation is higher than recommended time duration (10 seconds?), but needs relatively lower frequencies of operation (1-10Hz vs 300Hz). 

    This is the line of reasoning for wanting to test it on a breadoard before making a PCB. Can this mode of operation be tested on a breadboard?

    The big positive of this chip family is the small size, high boost voltages and analog inputs. We can safely rule out frequencies of operation beyond 10Hz.

    With Regards,

    Aditya

  • Aditya,

    What about using en EVM?
    DRV2667 has EVM available and it has header connection for external piezo actuator.

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • Hi Aditya,

    Were you able to test this on an actual board?
    Are there further questions on this matter?

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • Dear Ivan,

    Thank you for your follow up. Im sorry for not getting back earlier. We tested the Chip on the oscilloscope with our code. The chip starts up and the boost convertor works. With a 3.3V power supply, we could boost till 6.9 Volts . The chip keeps trying to reach 25V and is unable to do so as the decoupling capacitors are too far from the pins. By measuring the VDD near the pins, we found that the chip tries to draw more current enters brownout protection and resets.

    I'll post a pic of the oscilloscope when theres more time. We are currently making a PCB with the capacitors and layout as recommended in the datasheet. I'll get back with the results from testing. Should take a week or so.

    I had one question regarding the layout. What are the recommended trace width and minimum clearance for the 105V output pins?

    With Regards,

    Aditya

  • It was possible to demonstrate a boosted voltage from a 3.3V supply on a breadboard. The degraded performance (6.9V vs 25V) can be explained as capacitors were too far and extra resistance at the breadboard joints.

    That was good enough to convince our team to give a PCB version a shot.

    Thanks agian,
    Aditya
  • Hi Aditya,

    Thanks for the update. I'll keep in touch to know your test results on PCB.
    Regarding the layout, you could follow the DRV2667EVM-CT design: www.ti.com/.../slou323.pdf

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • Aditya,

    Just a gently reminder to keep us updated on your test results once you have them. We would like to make sure to support you if there are further questions.

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • Dear Ivan,

    We have ordered some test PCBs yesterday. We'll asemble the components and share our findings. We should have some data by end of next week.

    With Regards,

    Aditya

  • Hi Aditya,

    Just keeping this thread active waiting for your feedback.

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators
  • Dear Ivan,

    The PCB has been dispatched with a silkscreen today. We have the components with us already. We'll run the tests and share the results soon.

    Withr egards,

    Aditya

  • Dear Ivan,

    We could get the DRV2665 to work on a custom PCB. It doesnt work at all on a breadboard. Although it is interesting to see how the IC resets on the oscilloscope. Can you keep the thread open so that I can post a pic of the IC resetting? I think this will be helpful to others wanting to try the IC out.

    We had some questions regarding the Flyback configuration. The DRV2665 can have a boost voltage till 105V. The DRV 2700 has an interesting flyback configuration. However it doesnt have a I2C bus. The DRV 2665 has an I2C bus. 2665 saves PCB trace space for all the GPIO gain pins (changing gain helps reduce power consumption) compared to 2700.

    It is possible to use 2665 in a flyback configuration? We would like to reach output voltages till 190V. basically an output range Vpp from -50V to 190V 

    Thank you for the support and patience. Its really helpful.

    With Regards,

    Aditya