DEMO MANUAL DC2350A LTC6812-1/LTC6813-1 Daisy Chain isoSPI Battery-Stack Monitor DESCRIPTION Demonstration circuit 2350A is a multicell battery stack monitor featuring the LTC®6812-1, a 15-cell monitor on the DC2350A-A, or the LTC6813-1, an 18-cell monitor on the DC2350A-B. Multiple boards can be linked through a 2-wire isolated serial interface (isoSPI) to monitor any number of cells in a stack. The demo circuit also features reversible isoSPI enabling a fully redundant communication path. The DC2350 can communicate to a PC by connecting directly to a DC2026 Linduino® One. The DC2026 must be loaded with the appropriate program (called a “sketch”) to control the battery stack monitor IC and receive data through a USB serial port. The DC2792/DC1941 can be connected to the DC2026 to provide a fully isolated isoSPI interface to the DC2350. Design files for this circuit board are available at http://www.linear.com/demo/DC2350A All registered trademarks and trademarks are the property of their respective owners. PERFORMANCE SUMMARY Specifications are at TA = 25°C DC2350A DC2350A-A PARAMETER DC2350A-B MIN TYP MAX MIN TYP MAX V+ Supply Voltage 16 50 75 16 60 90 V+ to C15 Voltage –0.3 UNITS V V V+ to C10 Voltage 40 V C11 Voltage 2.5 V C6 Voltage 1 V V+ to C18 Voltage –0.3 V V+ to C12 Voltage 40 V C13 Voltage 2.5 V C7 Voltage 1 V VREG Supply Voltage VREF1 1st Reference Voltage, No Load 4.5 5 5.5 4.5 5 5.5 V 3.0 3.15 3.3 3.0 3.15 3.3 V VREF2 2nd Reference Voltage, 5k Load to V– 2.993 3 3.007 2.993 3 3.007 V VBIAS IBIAS Voltage, READY/ACTIVE State 1.9 2.0 2.1 1.9 2.0 2.1 V 5 0 5 V CPIN Input Range Cell Count 0 15 18 dc2350af 1 DEMO MANUAL DC2350A HARDWARE SETUP Wiring J4 Connector The DC2350A-A and DC2350A-B demo circuits (boards) have different connector pinouts. It is critical that the correct wiring is followed or there is a risk of damaging the demo board. When connected to a battery stack, power for the DC2350 is provided by the cell group being monitored. To connect the cell group, separate the screw-terminal block section from the J4 connector. Then, insert the cell-voltage connections or resistors into the screw-terminal clamping contacts. These connections provide the power and input stimulus for the battery stack monitor IC. Cell-voltages are wired to J4 starting from position 1 (most negative potential of the group). Please reference the appropriate demo board J4 connector pinout in Tables 1 and 2. Alternatively, resistors can be used to simulate battery cell-voltages. 100Ω 0.5W or equivalent resistors are recommended because 100Ω (or lower values) typically will not induce measurement errors and the 0.5W (or greater rating) will keep the resistor temperatures low preventing power dissipation damage. DC2350A-A 15 Resistor Connection Carefully connect fifteen 100Ω resistors onto the screwterminal block between each CPIN input clamping contact and skip the NC (no connect) contacts from position 1 to position 18 as shown in Table 1, DC2350A-A J4 Pinout. Provide a stack-equivalent power supply connection to position 18 (positive) and position 1 (negative). The power supply may be adjusted to provide the desired nominal cell-voltage (e.g. 49.5V will be 3.3V per cell). DC2350A-B 18 Resistor Connection Carefully connect eighteen 100Ω resistors between each screw-terminal block clamping contact from position 1 to position 19 as shown in Table 2, DC2350A-B J4 Pinout. Provide a stack-equivalent power supply connection to position 19 (positive) and position 1 (negative). The power supply may be adjusted to provide the desired nominal cell-voltage (e.g. 59.4V will be 3.3V per cell). Table 1. DC2350A-A J4 Pinout J4 Pin CPIN Input 1 C0/V– 2 C1 3 C2 4 C3 5 C4 6 C5 7 NC 8 C6 9 C7 10 C8 11 C9 12 C10 13 NC 14 C11 15 C12 16 C13 17 C14 18 C15 19 NC Table 2. DC2350A-B J4 Pinout J4 Pin CPIN Input 1 C0/V– 2 C1 3 C2 4 C3 5 C4 6 C5 7 C6 8 C7 9 C8 10 C9 11 C10 12 C11 13 C12 14 C13 15 C14 16 C15 17 C16 18 C17 19 C18 dc2350af 2 DEMO MANUAL DC2350A JUMPERS The demo board jumpers must be set to match the desired mode of operation. The jumpers enable the Discharge Timer and select the serial communication mode to the battery stack monitor IC. ISOMD Jumpers JP1–JP3 0: Set jumpers to 0 for standard SPI communication to the IC through the J3 connector. 1: Set jumpers to 1 for isoSPI communication to the IC through either the J1 or J2 connector. SWTEN Jumper JP4 0: Set jumpers to 0 for Discharge Timer disable. 1: Set jumpers to 1 for Discharge Timer enable. DC2350 SERIAL INTERFACE OPTIONS The DC2350 has several communication options. The DC2026 Linduino One provides a USB-to-SPI interface, and is ideal to interface from a PC to any SPI device. In this case, the DC2026 SPI interface can connect directly to the DC2350 (see section entitled DC2026 to DC2350 SPI Connection for details). Alternately, the DC2026 SPI can be translated to isoSPI via the DC2792 or DC1941 demo boards. The DC2792 is a dual master isoSPI demo board which can be connected as a typical single-ended isoSPI bus master or to both ends of a reversible configuration with two isoSPI bus masters. The DC1941 can be connected as a typical single-ended isoSPI bus master. USING OTHER SPI MASTER BOARDS When a different SPI master microcontroller board is used instead of the DC2026, more components or equipment are required to properly interface to the demo boards. Here are the requirements: resistor can be installed. On the DC2350, a 0603 size 5kΩ resistor can be soldered onto R8 or on the microcontroller board, a 5kΩ resistor can be added between the microcontroller SPI MISO line and the microcontroller VCC pin. SPI MISO Line isoSPI IC Power Most SPI master microcontroller boards will not have a SPI MISO line pull-up. A 5kΩ pull-up resistor is required on the SPI MISO line because the battery stack monitor IC SDO is an open drain NMOS output pin. Otherwise, the SPI MISO line will be floating where the SPI readback of each byte will typically appear as no response or all ones or 0xFFs. There are several places where the pull-up A separate 5V power supply is required when using a different SPI master microcontroller board. The DC2026 J1 header provides power for the isoSPI IC through the 14-pin ribbon cable into the DC2792 J1 header or the DC1941 J2 header. Refer to demo manual DC2792A or demo manual DC1941D for external power supply instructions. dc2350af 3 DEMO MANUAL DC2350A DC2026 TO DC2350 SPI CONNECTION An SPI connection begins with the SPI master connected to the first (or “bottom”) DC2350. Additional DC2350 boards can be daisy-chained onto the isoSPI bus. Communication begins from the first (or “bottom”) DC2350 then to the next “upper” DC2350 then finally to the last (or “top”) DC2350. 3. Connect or daisy-chain the DC2350 to another DC2350 in isoSPI mode. This DC2350 is the last (or “top”) board of a two-board stack. More DC2350 “upper” boards can be daisy-chained together in the same manner. Figure 1 shows the following connections for two boards on a stack interfaced to a PC: a. Connect a RJ45 patch cable from the “bottom” DC2350 J1 isoSPI B RJ45 connector to the next “upper” or “top” DC2350 J2 isoSPI A RJ45 connector. 1. Connect a USB cable from the PC USB port to the DC2026 J5 connector. b. Set the next “upper” or “top” DC2350 JP1–JP3 to 1 for isoSPI communication. 2. Connect the DC2026 to the DC2350 in SPI mode. This DC2350 is the first (or “bottom”) board of the stack. 4. CAUTION! Prevent damage to the DC2350. Refer to Tables 1 and 2 and confirm that the cell-voltage connections to screw-terminal block matches the J4 pinout of the DC2350 version being used. a. Connect a 14-pin ribbon cable from the DC2026 J1 header to the “bottom” DC2350 J3 header. a. Plug the screw-terminal blocks into the J4 cellvoltage connectors. b. Set JP1–JP3 to 0 for SPI communication. c. JP4 can be 0 or 1 depending if the Discharge Timer function is being used. 5. Refer to the Software Setup section of this demo manual to properly setup the PC with the Arduino IDE software to allow communication to the DC2350 boards. J4 DC2350 1 0 SWTEN 0 1 1 0 JP1 JP2 J3 JP3 isoSPI A isoSPI B J2 J1 ISOMD 1 JP4 JP1 J3 JP2 J1 JP3 JP4 USB J5 ISOMD SWTEN 0 DC2026 J4 DC2350 isoSPI A isoSPI B J2 J1 2350A F01 Figure 1. DC2026 SPI Connection to the “Bottom” DC2350 in a Two-Board DC2350 Stack dc2350af 4 DEMO MANUAL DC2350A DC2792 TO DC2350 TYPICAL isoSPI CONNECTION A typical isoSPI connection begins with the isoSPI master connected to the first (or “bottom”) DC2350. Additional DC2350 boards can be daisy-chained onto the isoSPI bus. Communication begins from the first (or “bottom”) DC2350 then to the next “upper” DC2350 then finally to the last (or “top”) DC2350. c. JP4 can be 0 or 1 depending if the Discharge Timer function is being used. 4. Connect or daisy-chain the DC2350 to another DC2350 in isoSPI mode. This DC2350 is the last (or “top”) board of a two-board stack. More DC2350 “upper” boards can be daisy-chained together in the same manner. Figure 2 shows the following connections for two boards on a stack interfaced to a PC: 1. Connect a USB cable from the PC USB port to the DC2026 J5 connector. a. Connect a RJ45 patch cable from the “bottom” DC2350 J1 isoSPI B RJ45 connector to the next “upper” or “top” DC2350 J2 isoSPI A RJ45 connector. 2. Connect the DC2026 to the DC2792 Dual Master isoSPI demo board. b. Set the next “upper” or “top” DC2350 JP1–JP3 to 1 for isoSPI communication. a. Connect a 14-pin ribbon cable from the DC2026 J1 header to the DC2792 J1 header. 5. CAUTION! Prevent damage to the DC2350. Refer to Tables 1 and 2 and confirm that the cell-voltage connections to screw-terminal block matches the J4 pinout of the DC2350 version being used. 3. Connect the DC2792 to the DC2350 in isoSPI mode. This DC2350 is the first (or “bottom”) board of the stack. a. Plug the screw-terminal blocks into the J4 cellvoltage connectors. a. Connect a RJ45 patch cable from the DC2792 J2 MAIN RJ45 connector to the “bottom” DC2350 J2 isoSPI A RJ45 connector. 6. Refer to the Software Setup section of this demo manual to properly setup the PC with the Arduino IDE software to allow communication to the DC2350 boards. b. Set the “bottom” DC2350 JP1–JP3 to 1 for isoSPI communication. J4 DC2350 ISOMD SWTEN 0 1 1 J3 MAIN J2 JP1 isoSPI A isoSPI B J2 J1 0 1 JP2 J1 1 ISOMD JP3 J5 SWTEN 0 JP4 J1 USB 0 JP1 DC2792 JP2 DC2026 JP3 JP4 J3 J4 DC2350 isoSPI A isoSPI B J2 J1 2350A F02 AUX J3 Figure 2. DC2792 Typical isoSPI Connection to the “Bottom” DC2350 in a Two-Board DC2350 Stack dc2350af 5 DEMO MANUAL DC2350A DC2792 TO DC2350 REVERSE isoSPI CONNECTION A reverse isoSPI connection begins with the isoSPI master connected to the last (or “top”) DC2350. Additional DC2350 boards can be daisy-chained onto the isoSPI bus. Communication begins from the last (or “top”) DC2350 then to the next “lower” DC2350 then finally to the first (or “bottom”) DC2350. Figure 3 shows the following connections for two boards on a stack interfaced to a PC: c. JP4 can be 0 or 1 depending if the Discharge Timer function is being used. 4. Connect or daisy-chain the DC2350 to another DC2350 in isoSPI mode. This DC2350 is the first (or “bottom”) board of a two-board stack. More DC2350 “lower” boards can be daisy-chained together in the same manner. a. Connect a RJ45 patch cable from the “top” DC2350 J2 isoSPI A RJ45 connector to the next “lower” or “bottom” DC2350 J1 isoSPI B RJ45 connector. 1. Connect a USB cable from the PC USB port to the DC2026 J5 connector. 2. Connect the DC2026 to the DC2792 Dual Master isoSPI demo board. a. Connect a 14-pin ribbon cable from the DC2026 J1 header to the DC2792 J1 header. 3. Connect the DC2792 to the DC2350 in isoSPI mode. This DC2350 is the last (or “top”) board of a two-board stack. a. Connect a RJ45 patch cable from the DC2792 J2 MAIN RJ45 connector to the “top” DC2350 J1 isoSPI B RJ45 connector. b. Set the “top” DC2350 JP1–JP3 to 1 for isoSPI communication. MAIN J2 AUX J3 JP4 JP2 JP2 JP3 JP3 ISOMD JP1 JP1 0 SWTEN 0 DC2350 isoSPI A isoSPI B J2 J1 JP4 1 1 1 SWTEN 0 J4 J1 6. Refer to the Software Setup section of this demo manual to properly setup the PC with the Arduino IDE software to allow communication to the DC2350 boards. J3 J5 a. Plug the screw-terminal blocks into the J4 cellvoltage connectors. isoSPI A isoSPI B J2 J1 J1 USB 5. CAUTION! Prevent damage to the DC2350. Refer to Tables 1 and 2 and confirm that the cell-voltage connections to screw-terminal block matches the J4 pinout of the DC2350 version being used. J3 DC2792 DC2026 b. Set the next “lower” or “bottom” DC2350 JP1–JP3 to 1 for isoSPI communication. DC2350 1 ISOMD 0 J4 2350A F03 Figure 3. DC2792 Reverse isoSPI Connection to the “Top” DC2350 in a Two-Board DC2350 Stack dc2350af 6 DEMO MANUAL DC2350A DC2792 TO DC2350 REDUNDANT isoSPI CONNECTION A redundant isoSPI connection begins with the primary (or “main”) isoSPI master connected to the first (or “bottom”) DC2350 and has a backup auxiliary (or “aux”) isoSPI master connected to the last (or “top”) DC2350. Additional DC2350 boards can be daisy-chained between the two isoSPI masters on the isoSPI bus. Primary (or “main”) communication begins from the first (or “bottom”) DC2350 then to the next “upper” DC2350 then finally to the last (or “top”) DC2350. The backup auxiliary (or “aux”) communication begins in the reverse direction to provide coverage when a possible isoSPI daisy-chain break occurs. c. JP4 can be 0 or 1 depending if the Discharge Timer function is being used. 4. Connect or daisy-chain the DC2350 to another DC2350 in isoSPI mode. This DC2350 is the last (or “top”) board of a two-board stack. More DC2350 “upper” boards can be daisy-chained together in the same manner. a. Connect a RJ45 patch cable from the “bottom” DC2350 J1 isoSPI B RJ45 connector to the next “upper” or “top” DC2350 J2 isoSPI A RJ45 connector. b. Set the next “upper” or “top” DC2350 JP1–JP3 to 1 for isoSPI communication. Figure 4 shows the following connections for two boards on a stack interfaced to a PC: 5. Connect the DC2792 auxiliary (or “aux”) isoSPI master to the last (or “top”) DC2350 board of the stack. 1. Connect a USB cable from the PC USB port to the DC2026 J5 connector. a. Connect a RJ45 patch cable from the DC2792 J3 AUX RJ45 connector to the “top” DC2350 J1 isoSPI B RJ45 connector. 2. Connect the DC2026 to the DC2792 Dual Master isoSPI demo board. 6. CAUTION! Prevent damage to the DC2350. Refer to Tables 1 and 2 and confirm that the cell-voltage connections to screw-terminal block matches the J4 pinout of the DC2350 version being used. a. Connect a 14-pin ribbon cable from the DC2026 J1 header to the DC2792 J1 header. 3. Connect the DC2792 primary (or “main”) isoSPI master to the first (or “bottom”) DC2350 board of the stack. a. Plug screw-terminal blocks into the J4 cell-voltage connectors. a. Connect a RJ45 patch cable from the DC2792 J2 MAIN RJ45 connector to the “bottom” DC2350 J2 isoSPI A RJ45 connector. 7. Refer to the Software Setup section of this demo manual to properly setup the PC with the Arduino IDE software to allow communication to the DC2350 boards. b. Set the “bottom” DC2350 JP1–JP3 to 1 for isoSPI communication. J4 DC2350 ISOMD SWTEN 0 1 1 J3 JP1 isoSPI A isoSPI B J2 J1 0 1 JP2 J1 1 ISOMD JP3 J5 SWTEN 0 JP4 J1 USB 0 JP1 DC2792 JP2 DC2026 JP3 JP4 J3 J4 DC2350 isoSPI A isoSPI B J2 J1 MAIN J2 2350A F04 AUX J3 Figure 4. DC2792 Redundant isoSPI Connections to the “Bottom” and “Top”DC2350 in a Two-Board DC2350 Stack dc2350af 7 DEMO MANUAL DC2350A DC1941 isoSPI MASTER SETTINGS The DC1941 jumpers must first be properly set to interface between DC2026 and DC2350. Figure 5 shows the proper board settings. 1. JP2: VCC = DC590. Refer to Demo Manual DC1941D for jumper setting details. 2. JP3: ENABLE = EN. 3. JP4: SLOW = 0. 4. JP5: MODE = MASTER. 5. JP6: VCCS = VCC. 6. JP7: PHA = 1. 7. JP8: POL = 1. 8. JP9, JP10: VTH = VTH2. DC1941 VCCS GND EN VTH2 VTH2 SLP_EN VTH1 VTH1 VCC VCC JP9 JP10 JP3 J2 J1 GND VCCS PHA POL SLOW DC590 VCC 1 1 1 MASTER EXT EXT 0 0 0 SLAVE JP5 JP4 JP8 JP7 JP6 JP2 2350A F05 Figure 5. DC1941 isoSPI Master Mode Jumper Settings dc2350af 8 DEMO MANUAL DC2350A DC1941 TO DC2350 TYPICAL isoSPI CONNECTION A typical isoSPI connection begins with the isoSPI master connected to the first (or “bottom”) DC2350. Additional DC2350 boards can be daisy-chained onto the isoSPI bus. Communication begins from the first (or “bottom”) DC2350 then to the next “upper” DC2350 then finally to the last (or “top”) DC2350. b. Set the “bottom” DC2350 JP1–JP3 to 1 for isoSPI communication. c. JP4 can be 0 or 1 depending if the Discharge Timer function is being used. 5. Connect or daisy-chain the DC2350 to another DC2350 in isoSPI mode. This DC2350 is the last (or “top”) board of a two-board stack. More DC2350 “upper” boards can be daisy-chained together in the same manner. Figure 6 shows the following connections for two boards on a stack interfaced to a PC: 1. Connect a USB cable from the PC USB port to the DC2026 J5 connector. a. Connect a RJ45 patch cable from the “bottom” DC2350 J1 isoSPI B RJ45 connector to the next “upper” or “top” DC2350 J2 isoSPI A RJ45 connector. 2. Connect the DC2026 to the DC1941 isoSPI demo board. a. Connect a 14-pin ribbon cable from the DC2026 J1 header to the DC1941 J2 header. b. Set the next “upper” or “top” DC2350 JP1–JP3 to 1 for isoSPI communication. 3. Refer to the DC1941 isoSPI Master Settings section of this demo manual to properly setup the DC1941. 6. CAUTION! Prevent damage to the DC2350. Refer to Tables 1 and 2 and confirm that the cell-voltage connections to screw-terminal block matches the J4 pinout of the DC2350 version being used. 4. Connect the DC1941 to the DC2350 in isoSPI mode. This DC2350 is the first (or “bottom”) board of the stack. a. Plug the screw-terminal blocks into the J4 cellvoltage connectors. a. Connect a RJ45 patch cable from the DC1941 J1 RJ45 connector to the “bottom” DC2350 J2 isoSPI A RJ45 connector. 7. Refer to the Software Setup section of this demo manual to properly setup the PC with the Arduino IDE software to allow communication to the DC2350 boards. J4 DC2350 ISOMD SWTEN 0 1 SWTEN 0 1 1 0 J3 JP1 JP2 JP3 isoSPI A isoSPI B J2 J1 ISOMD 1 JP4 J2 0 JP1 DC2026 JP2 J3 JP3 JP4 DC1941 J4 DC2350 isoSPI A isoSPI B J2 J1 J1 USB 2350A F06 J5 J1 Figure 6. DC1941 Typical isoSPI Connection to the “Bottom” DC2350 in a Two-Board DC2350 Stack dc2350af 9 DEMO MANUAL DC2350A DC1941 TO DC2350 REVERSE isoSPI CONNECTION A reverse isoSPI connection begins with the isoSPI master connected to the last (or “top”) DC2350. Additional DC2350 boards can be daisy-chained onto the isoSPI bus. Communication begins from the last (or “top”) DC2350 then to the next “lower” DC2350 then finally to the first (or “bottom”) DC2350. Figure 7 shows the following connections for two boards on a stack interfaced to a PC: 1. Connect a USB cable from the PC USB port to the DC2026 J5 connector. b. Set the “top” DC2350 JP1–JP3 to 1 for isoSPI communication. c. JP4 can be 0 or 1 depending if the Discharge Timer function is being used. 5. Connect or daisy-chain the DC2350 to another DC2350 in isoSPI mode. This DC2350 is the first (or “bottom”) board of a two-board stack. More DC2350 “lower” boards can be daisy-chained together in the same manner. 2. Connect the DC2026 to the DC1941 isoSPI demo board. a. Connect a RJ45 patch cable from the “top” DC2350 J2 isoSPI A RJ45 connector to the next “lower” or “bottom” DC2350 J1 isoSPI B RJ45 connector. a. Connect a 14-pin ribbon cable from the DC2026 J1 header to the DC1941 J2 header. b. Set the next “lower” or “bottom” DC2350 JP1–JP3 to 1 for isoSPI communication. 3. Refer to the DC1941 isoSPI Master Settings section of this demo manual to properly setup the DC1941. 6. CAUTION! Prevent damage to the DC2350. Refer to Tables 1 and 2 and confirm that the cell-voltage connections to screw-terminal block matches the J4 pinout of the DC2350 version being used. 4. Connect the DC1941 to the DC2350 in isoSPI mode. This DC2350 is the last (or “top”) board of a two-board stack. a. Connect a RJ45 patch cable from the DC1941 J1 RJ45 connector to the “top” DC2350 J1 isoSPI B RJ45 connector. a. Plug the screw-terminal blocks into the J4 cellvoltage connectors. 7. Refer to the Software Setup section of this demo manual to properly setup the PC with the Arduino IDE software to allow communication to the DC2350 boards. DC1941 DC2026 J2 J1 USB J1 JP4 JP2 JP3 JP1 0 SWTEN 0 ISOMD JP2 isoSPI A isoSPI B J2 J1 JP4 1 1 DC2350 J3 JP3 isoSPI A isoSPI B J2 J1 JP1 J3 1 SWTEN 0 J4 J5 DC2350 1 ISOMD 0 J4 2350A F07 Figure 7. DC1941 Reverse isoSPI Connection to the “Top” DC2350 in a Two-Board DC2350 Stack dc2350af 10 DEMO MANUAL DC2350A SOFTWARE SETUP The DC2350 can be controlled by the DC2026 Linduino One board. The DC2026 is part of the Arduino compatible Linduino platform that provides example code that will demonstrate how to control the multicell battery stack monitor ICs. Compared to most Arduino compatible microcontroller boards, the DC2026 offers conveniences such as an isolated USB connection to the PC, built-in SPI MISO line pull-up to properly interface with the battery stack monitor IC open drain SDO, and an easy ribbon cable connection for SPI communication through the DC2350 14-pin QuikEval J3 connector. Arduino IDE Setup 1. Download then install the Arduino IDE onto the PC. Detailed instructions can be found at www.linear.com/ solutions/linduino under the quick start tab. 2. Set the Arduino IDE to open BMS Sketchbooks. From within the Arduino IDE, click on File menu select Preferences. Then under Sketchbook location: select Browse, and locate the path to the extracted bmsSketchbookBeta.zip file that was provided by ADI. dc2350af 11 DEMO MANUAL DC2350A SOFTWARE SETUP 3. Close then re-open the Arduino IDE to enable the use of the Sketchbook Location that was previously set. 4. Select the correct COM port to allow communication to DC2026 through USB. Under the Tools menu, select Port → Select the highest number COMxx with the “ü” checkmark symbol. There may be more than one option; DC2026 is usually the highest COM port number. The PC screenshots used in this example show the DC2026 connected to COM6. dc2350af 12 DEMO MANUAL DC2350A SOFTWARE SETUP 5. Select the correct Arduino compatible microcontroller board. Under the Tools menu, select Board → Arduino/ Genuino Uno with the “l” black dot symbol. dc2350af 13 DEMO MANUAL DC2350A SOFTWARE SETUP 6. Open one of the programs or “sketches” associated with the DC2350. In this example, LTC6813-1 sketch will be opened instead of a LTC6812-1 sketch. Under the File menu, select Sketchbook → Part Number → 6813 → DC2350_6813. dc2350af 14 DEMO MANUAL DC2350A SOFTWARE SETUP 7. Upload the DC2350_6813 sketch onto the DC2026 by clicking on the Upload button on the top left corner. When this process is completed there will be a “Done uploading” message on the bottom left corner. dc2350af 15 DEMO MANUAL DC2350A SOFTWARE SETUP 8. Open the Arduino Serial Monitor tool. Click on the Serial Monitor button on the top right corner then the Serial Monitor window will open and show on the top left corner the COMxx used. 9. Configure the Serial Monitor to allow communication to the DC2026 through USB. On the bottom of the Serial Monitor window, set the following, starting from bottom left to bottom right: a. Click on the Autoscroll checkbox for the “ü” checkmark symbol. b. Select Both NL & CR on the left dropdown menu. c. Select 115200 baud on the right dropdown menu. d. As shown below, when configured correctly the DC2350_6813 sketch menu will appear. dc2350af 16 DEMO MANUAL DC2350A APPENDIX A THE SKETCHBOOK CONTENTS The bmsSketchbook will generally contain the following folders: Libraries, Part Number, Documentation, and Utilities. Libraries directory: contains a subdirectory for each IC in the sketchbook. Each subdirectory contains a .cpp and .h file. These files contain all of the constant definitions and low-level IC command implementations. Porting to a different microcontroller requires changes to some library files. Part Number directory: contains example control programs for each IC. Inside the Part Number folder, each BMS IC has a sketch(.ino) file that implements a control program to evaluate the functionality of the IC. This sketch allows the user to control the IC through a serial terminal and make all primary measurements. This sketch also allows for evaluation of self-test and discharge features of the IC. Generally, the name of a sketch relates to the IC’s demo board. For example, the sketch for LTC6804 is DC1942.ino, for LTC6811 it is DC2259.ino, and for LTC6813 it is DC2350_6813.ino. Utilities directory: contains support programs, including a program that emulates a standard Linear Technology DC590 isolated USB to serial controller. Documentation directory: contains html documentation for the provided code base. Documentation for all of the BMS ICs can be accessed by opening the Linduino.html file, as found in the main sketchbook directory (shown below) and in the Documentation directory. dc2350af 17 DEMO MANUAL DC2350A APPENDIX A THE SKETCHBOOK CONTENTS What Is A Sketch A “sketch” is simply another word for a microcontroller/ Linduino program. The term is generally only used when referring to Arduino based programs, as sketches have several abstractions that remove some of the complexity of a standard microcontroller(MCU) program. All sketches contains two primary functions, the setup() and the loop() function. These are in fact the only functions that are mandatory in a sketch and are almost always implemented in some form in a typical MCU program. The setup() function is run once at power on or after the MCU is reset. The setup() function generally is used to initialize the MCU peripheral circuits and to initialize all of the control variables. The loop() function is similar to a main() function that has implemented an infinite loop inside a standard C program. The code within the loop() function is typically where the primary program code is placed. The code within the loop() function will repeat infinitely. Sketch Modifications Sketches can be modified to a set of applications specific requirements. All sketches are written such that the most common modifications can be made by changing the variables listed in the /*Setup Variables */ table at the top of the sketch. For reference, example modifications to a DC2259 (LTC6811) sketch are shown below. These modifications are applicable to most of the available BMS ICs in the sketchbook. Common modifications can be made by changing the Setup Variables. The most common application changes are listed below. After the variables are changed, the sketch will need to be recompiled and uploaded to the Linduino. 2. Often an application may need to sample data at a rate faster than the default 500ms (2Hz). To modify the loop/ sample rate the MEASUREMENT_LOOP_TIME variable should be changed. The loop time must be entered in milliseconds and should be a number larger than 20ms. To change the loop rate to roughly 10 measurements a second the loop rate should be changed to 100mS. The modified line will look like: const uint16_t MEASUREMENT_LOOP_TIME = 100; 3. It is possible to modify which measurements fall within the loop during the Loop Measurements command. The following list are the measurements that can be looped: const uint8_t MEASURE_CELL = ENABLED; // This is ENABLED or DISABLED const uint8_t MEASURE_AUX = DISABLED; // This is ENABLED or DISABLED const uint8_t MEASURE_STAT = DISABLED; //This is ENABLED or DISABLED By default only a cell measurement is done, as noted by MEASURE_CELL = ENABLED. What measurements are made can be changed by setting what the Measure field is equal to. To Measure Cells and the Status register but not the AUX register, the variables would be setup as shown below: const uint8_t MEASURE_CELL = ENABLED; // This is ENABLED or DISABLED const uint8_t MEASURE_AUX = DISABLED; // This is ENABLED or DISABLED const uint8_t MEASURE_STAT = ENABLED; //This is ENABLED or DISABLED 1. To change the number of ICs in the isoSPI network, change the TOTAL_IC variable. A number between 1 and 4 should be entered. In an application that has 2 devices in the network the modified line will look like: const uint8_t TOTAL_IC = 2; dc2350af 18 DEMO MANUAL DC2350A APPENDIX A THE SKETCHBOOK CONTENTS 4. ADC conversion settings can also be modified in the Setup Variables section. The default setup is to run the ADC in ‘Normal’ mode, which has a 7kHz filter code; in this mode the ADC_OPT bit is Disabled. Typical choice for which cell to convert is ALL. Full ADC conversion programming requires setting ADC_OPT, ADC_CONVERSION_MODE, CELL_CH_TO_CONVERT, AUX_CH_TO_CONVERT and STAT_CH_TO_CONVERT. These variables are programmed with constants listed in the LTC68xy_daisy.h file. For simplicity they are also listed below: MD_422HZ_1KHZ MD_27KHZ_14KHZ MD_7KHZ_3KHZ MD_26HZ_2KHZ ADC_OPT_ENABLED ADC_OPT_DISABLED To set the ADC to have a 1kHz filter corner the ADC_OPT and ADC_CONVERSION_MODE variables would be changed to: ADC_OPT = ADC_OPT_ENABLED; ADC_CONVERSION_MODE = MD_422HZ_1KHZ; To convert only cells 2 and 8, CELL_CH_TO_CONVERT = CELL_CH_2and8; 5. In another example, the user may wish to change the undervoltage and overvoltage thresholds. Each number is based on an LSB of 100µV. //Under Voltage and Over Voltage Thresholds const uint16_t OV_THRESHOLD = 41000; // Over voltage threshold ADC Code. LSB = 0.0001 const uint16_t UV_THRESHOLD = 30000; // Under voltage threshold ADC Code. LSB = 0.0001 CELL_CH_ALL CELL_CH_1and7 CELL_CH_2and8 CELL_CH_3and9 CELL_CH_4and10 CELL_CH_5and11 CELL_CH_6and12 dc2350af Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. Specifications subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. 19 DEMO MANUAL DC2350A ESD Caution ESD (electrostatic discharge) sensitive device. Charged devices and circuit boards can discharge without detection. Although this product features patented or proprietary protection circuitry, damage may occur on devices subjected to high energy ESD. Therefore, proper ESD precautions should be taken to avoid performance degradation or loss of functionality. Legal Terms and Conditions By using the evaluation board discussed herein (together with any tools, components documentation or support materials, the “Evaluation Board”), you are agreeing to be bound by the terms and conditions set forth below (“Agreement”) unless you have purchased the Evaluation Board, in which case the Analog Devices Standard Terms and Conditions of Sale shall govern. Do not use the Evaluation Board until you have read and agreed to the Agreement. Your use of the Evaluation Board shall signify your acceptance of the Agreement. This Agreement is made by and between you (“Customer”) and Analog Devices, Inc. (“ADI”), with its principal place of business at One Technology Way, Norwood, MA 02062, USA. Subject to the terms and conditions of the Agreement, ADI hereby grants to Customer a free, limited, personal, temporary, non-exclusive, non-sublicensable, non-transferable license to use the Evaluation Board FOR EVALUATION PURPOSES ONLY. Customer understands and agrees that the Evaluation Board is provided for the sole and exclusive purpose referenced above, and agrees not to use the Evaluation Board for any other purpose. Furthermore, the license granted is expressly made subject to the following additional limitations: Customer shall not (i) rent, lease, display, sell, transfer, assign, sublicense, or distribute the Evaluation Board; and (ii) permit any Third Party to access the Evaluation Board. As used herein, the term “Third Party” includes any entity other than ADI, Customer, their employees, affiliates and in-house consultants. The Evaluation Board is NOT sold to Customer; all rights not expressly granted herein, including ownership of the Evaluation Board, are reserved by ADI. CONFIDENTIALITY. This Agreement and the Evaluation Board shall all be considered the confidential and proprietary information of ADI. Customer may not disclose or transfer any portion of the Evaluation Board to any other party for any reason. Upon discontinuation of use of the Evaluation Board or termination of this Agreement, Customer agrees to promptly return the Evaluation Board to ADI. ADDITIONAL RESTRICTIONS. Customer may not disassemble, decompile or reverse engineer chips on the Evaluation Board. Customer shall inform ADI of any occurred damages or any modifications or alterations it makes to the Evaluation Board, including but not limited to soldering or any other activity that affects the material content of the Evaluation Board. Modifications to the Evaluation Board must comply with applicable law, including but not limited to the RoHS Directive. TERMINATION. ADI may terminate this Agreement at any time upon giving written notice to Customer. Customer agrees to return to ADI the Evaluation Board at that time. LIMITATION OF LIABILITY. THE EVALUATION BOARD PROVIDED HEREUNDER IS PROVIDED “AS IS” AND ADI MAKES NO WARRANTIES OR REPRESENTATIONS OF ANY KIND WITH RESPECT TO IT. ADI SPECIFICALLY DISCLAIMS ANY REPRESENTATIONS, ENDORSEMENTS, GUARANTEES, OR WARRANTIES, EXPRESS OR IMPLIED, RELATED TO THE EVALUATION BOARD INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT WILL ADI AND ITS LICENSORS BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES RESULTING FROM CUSTOMER’S POSSESSION OR USE OF THE EVALUATION BOARD, INCLUDING BUT NOT LIMITED TO LOST PROFITS, DELAY COSTS, LABOR COSTS OR LOSS OF GOODWILL. ADI’S TOTAL LIABILITY FROM ANY AND ALL CAUSES SHALL BE LIMITED TO THE AMOUNT OF ONE HUNDRED US DOLLARS ($100.00). EXPORT. Customer agrees that it will not directly or indirectly export the Evaluation Board to another country, and that it will comply with all applicable United States federal laws and regulations relating to exports. GOVERNING LAW. This Agreement shall be governed by and construed in accordance with the substantive laws of the Commonwealth of Massachusetts (excluding conflict of law rules). Any legal action regarding this Agreement will be heard in the state or federal courts having jurisdiction in Suffolk County, Massachusetts, and Customer hereby submits to the personal jurisdiction and venue of such courts. The United Nations Convention on Contracts for the International Sale of Goods shall not apply to this Agreement and is expressly disclaimed. dc2350af 20 LT 0118 • PRINTED IN USA ANALOG DEVICES, INC. 2018