I'm using the LTC6813 on a custom built PCB, and have the reference Linduino software that I got from here running on an Arduino Uno.
The VREG bus is at 5.25V and then turns off after 2s if no command is received(as expected), however, the VREF1 and VREF2 pins are at 0V.
When the evaluation software requests information from the device of any sort, the SDO is held high (0xFF) during the data part of the transmission, but a PEC of 0x66, 0x4C is transmitted as well.
When I send the command "1" to the Linduino software (Write and Read Configuration: 1), I get this as the output -
Written Configuration: CFGA IC 1, 0xE4, 0x0D, 0x28, 0xA0, 0x01, 0x00, Calculated PEC: 0xAD, 0x6ACFGB IC 1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Calculated PEC: 0xC2, 0x12
CFGA IC 1, 0xE4, 0x0D, 0x28, 0xA0, 0x01, 0x00, Calculated PEC: 0xAD, 0x6A
CFGB IC 1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Calculated PEC: 0xC2, 0x12
Received Configuration CFGA IC 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, Received PEC: 0x66, 0x4CCFGB IC 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, Received PEC: 0x66, 0x4C
CFGA IC 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, Received PEC: 0x66, 0x4C
CFGB IC 1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, Received PEC: 0x66, 0x4C
Reading cell voltages in a loop (command 11) gives me -
I am unsure what is going on since obviously the chip is responding to commands with messages that have a valid PEC value.
Thanks in advance, I'm happy to provide any more information that you'd like, including schematics of the board to find any hardware issues, if there are any.
As per the data provided , we see that ADC conversion is not happening as Vref1 & Vref 2 are 0V, They should be in the range as mentioned in the datasheet page no:5.
If you can share your schematic we can try to understand the issue.
There are 2 LTC6813 chips on the board one to measure cell voltage and the other to measure the cell temperatures. The schematic symbols of the chip used to measure cell voltages are named as Cxxx, symbols for chips measuring temperature are labelled Txxx. The TKH45 resistor and the temperature measuring LTC6813 have not been soldered yet. The V+ net is directly connected to the highest cell. Everything else is as below. The BJTs are part of a dual BJT package(PHPT610030NK). DTEN is tied to VREG.
J3 ties ISOMD to GND and J5 is connected to the Arduino, the transformers are not soldered as well as R7(the resistor connected to CSB). R3 and C10 are soldered to reduce noise on the SCK line that we observed when they hadn’t been placed.
Voltage measurements when command 11 is sent over Serial to an Arduino Uno running the DC2350_6813 sample sketch mentioned in the original post-
VREG (Capacitor C3) is at 5.25V. However, every 2 seconds, the voltage drops to 4.4V before quickly recovering to 5.25V.
Capacitors C1 and C2 have 0V across them at all times with no noise or glitches even during startup.
Current measurements –
With SPI inputs floating, the current hovers around 2mA, VREG is at 5.2V and the WDT doesn’t time out. No noise is observed by a scope on any of the SPI lines, all are at 0V. The voltage drops every 2s are more pronounced, dropping to under 2.5V, but are very inconsistent.
When the board is powered up while connected to an Arduino that is already powered on, but with no commands sent to the chip, there is a 0.3mA spike when power is initially supplied which falls to 25uA for 2s and then to <0.1uA(multimeter cannot measure any lower) after that.
When the chip is active but not measuring voltage, current draw is around 0.1mA. During measurement, current is at around 23uA and with spikes to 650uA during measurements. The average current when measuring every 1s is 100uA.
I also found this elsewhere on the forum where someone is having the same issue on the LTC6804 and LTC6811 parts
1. VREF1 can be observed when ADC Conversion is happening. It can be measured using DSO.
2. From the Schematics i cannot see a pull up resistor on SDO( MISO) line. So if there is no pull up then communication will not happen.
Please confirm for the above 2 points.
1. I am unsure what a DSO is. I was measuring the voltage across the filter cap with an oscilloscope and could not see any voltage.
2. The communication is working correctly, I am receiving a valid PEC. However, the data frame is just repeated 0xFF. The pull up is enabled internally on the microcontroller.
UPDATE: We have working communications occasionally with no obvious change in configuration