Post Go back to editing

Facing an issue

Category: Hardware
Product Number: LTC6804-1

Which demo code are you talking about the linduino one?

  • For LTC6804 there is example code in the LTSketchbook.  LTC6811 is also designed to be a pin compatible upgrade for systems using LTC6804.  Also note that we have ADBMS6830B available now which although not pin compatible, has far faster ADCs and is capable of cell balancing up to 300mA without any external transistors.

  • I am currently using the code provided in the in the LTSketchbook.The issue I am facing is:

    ISSUE 1 : When I just put just the wakeup_idle() and no other functions inside the while(1) loop, the WDT pin doesn't get grounded as it continuously receive the wakeup signal but the DRIVE pin becomes 0V as there is no SPI communication.

    ISSUE 2 : When I put the wakeup_idle() function along with any other function which includes the SPI communication code like the LTC6804_adcv(), the DRIVE pin gives 5.6V but the WDT pin gets grounded.

    Also in both of the above cases the REF1 and REF2 pins remain just 2 to 4 millivolts.

    I have connected the WDT pin with a 1M resistor to VREG. The SWTEN pin is connected to ground. ISOMD pin is also grounded.DRIVE pin is unconnected as external 5V from the microcontroller is being provided.

    Also the return value of LTC6804_rdcv() is '-1' (pec error).

  • ISSUE 1 : When I just put just the wakeup_idle() and no other functions inside the while(1) loop, the WDT pin doesn't get grounded as it continuously receive the wakeup signal but the DRIVE pin becomes 0V as there is no SPI communication.

    Can you ensure the CS wire of the SPI is connected and that it is set to be active low?  The DRIVE pin should be active and WDT low even with just the wakeup pulses.

    ISSUE 2 : When I put the wakeup_idle() function along with any other function which includes the SPI communication code like the LTC6804_adcv(), the DRIVE pin gives 5.6V but the WDT pin gets grounded.

    WDT pin is an open-drain output, so the WDT pin being grounded means the device is awake (also verified by the DRIVE pin voltage in this case).  This is the intended behavior.

    VREF1/2 staying low suggests the command sent from the MCU isn't being sent correctly.  Is there any raw data from the RDCV?  I suspect that some of the SPI wires are flipped preventing both the LTC6804 from receiving the MCU commands and preventing the MCU from receiving LTC6804 data.