APPLICATION NOTE
User Guide for Atmel ATA6870 and Atmel ATmega32HVB
Evaluation Kit Hardware DK11
ATA6870-DK11
Features
● Evaluation of the Atmel® ATA6870
● Monitoring 12 battery cells
● Monitoring:
● Overvoltage (every cell)
● Undervoltage (every cell)
● Overheating
● Overcurrent
● Open clamp detection
● 12-bit battery cell measurement
● 12-bit temperature measurement
● Controlling FET charge/discharge
● Status LEDs for easy evaluation
● Charge active balancing
Figure 1.
Atmel ATA6870-DK11
9302C-AUTO-04/15
1.
Introduction
The Atmel® ATA6870-DK11 is a demonstration board for the Atmel ATA6870 and offers an easy way to start evaluation of
battery applications in combination with the Atmel ATmega32HVB. The included software demonstrates implementation of a
12-cell battery management system, including the function of active balancing through inductors. The supplied code serves
as an example of how to use the Atmel ATMega32HVB and Atmel ATA6870 together.
2.
Safety Precautions When Using Li-Ion Batteries
Please observe the safety guidelines supplied with the batteries. If improperly used or defective, Li-ion and polymer batteries
and packs may explode and cause a fire.
3.
Demonstration Board
The Atmel ATA6870-DK11 is designed to enable easy evaluation of the control software for an MCU controlling multiple
Atmel ATA6870 devices. The supplied sample code demonstrates a simple permanent running measurement of voltages
and temperatures.
Figure 3-1. Board Concept
Cell 12
Cell 11
ATA6870
ATA6870
Cell 02
Cell 01
Charge/
Discharge
Control Unit
Monitoring (V,T)
Coulomb counting
ATmega32HVB
A very important characteristic of the ATA6870-DK11 is the ability to realize active balancing. Compared with the passive
method, the active method is significantly more efficient with virtually lossless energy transfer between battery cells. There
are usually two types of active balancing—with capacitors and with inductors. The capacitors are used for balancing currents
lower than 50mA, while the inductors are for currents up to 1A or even more. On the ATA6870-DK11 the inductors with the
value of 470uH are applied. Table 3-1 describes the achievable peak and average balancing currents with different
inductors.
2
ATA6870-DK11 [APPLICATION NOTE]
9302C–AUTO–04/15
Table 3-1.
Balancing Currents Possible Using Different Inductors
f (kHz)
Inductor
Type
Inductance (µH)
Resistor of
Inductor (m)
Peak Balancing
Current (mA)
Average Balancing
Current (mA)
3
Toroidal
300
130
1240
470
3
Toroidal
470
135
790
280
3
SMD
220
380
2280
890
3
SMD
330
430
1620
610
3
SMD
470
560
1500
430
The structure is shown in Figure 3-2. It is easy to see that on the demo board the active balancing can only happen between
the two neighboring cells and the balancing current flows from the higher cell to the lower cell, with the corresponding Mosfet
switched on. However, if it is the lowest cell of a battery stack that needs to be discharged, a transformer concept applies
and the energy is transferred from the lowest cell to the top cell in the battery stack. For more information about the active
balancing, please see application note “Active Cell Balancing Methods for Li-Ion Battery Management ICs using the
ATA6870.”
Figure 3-2. Inductive Charge Balancing between Two Stacked ATA6870s
M12
Cell 12
PMOS
L12
D11
M11
Cell 11
PMOS
L11
D10
Cell 10
L8
D7
M7
Cell 7
PMOS
L7
Balance Circuit of upper ATA6870
Balance Circuit of lower ATA6870
M6
D6
Cell 6
PMOS
L6
D5
M5
Cell 5
PMOS
L5
Cell 4
D4
D12
L1
D1
T1
Cell 1
M1
GND
ATA6870-DK11 [APPLICATION NOTE]
9302C–AUTO–04/15
3
3.1
System Start
Follow these steps to launch the system.
3.1.1
Installing the Hardware
●
Connect the load/charger to J1.
●
●
Connect the 12-cell stack to the J2 and J3 screw connectors.
●
●
3.1.2
For demonstration purposes it is possible to use a resistor to simulate a load.
LED 1 indicates the enabled status of ATA6870-DK11 (controlled by the MCU software, see Table 4-1)
In case of emulating cells such as a voltage divider, please apply sufficient voltage.
Number of Cells
It is possible to run the board with a reduced number of cells. The minimum voltage for each IC is 6.9V. Cell 1 and cell 6
have to be connected. The missing cells should be short-circuited to the upper cell potential of the module. For further
information, see Section 7.3 “Reduced Number of Battery Cells Configuration” of the Atmel ATA6870 datasheet. For the
voltage range, see Section 3.3 “Powering the Board” on page 6. If fewer than 6 cells are used per IC, the config.h file should
be adjusted (CELLSIC# under General Setting). See Section 4.1 “Supplied Code” on page 7 for further information on how to
configure the supplied software correctly.
3.2
The Demonstration Board
Figure 3-3. Evaluation Board with Two Stacked Atmel ATA6870 and Atmel ATMega32HVB
4
ATA6870-DK11 [APPLICATION NOTE]
9302C–AUTO–04/15
3.2.1
On-Board Features
The demonstration board includes the following items:
● TwoAtmel® ATA6870 QFN 7mm 7mm
●
●
●
Atmel ATMega32HVB
12 external P-channel MOSFETs, 11 inductors, 13 diodes and one transformer for active balancing
Connectors
●
ISP connector for programming/debugging the Atmel ATMega32HVB
●
Screw connectors for connecting up to 12 battery cells
Table 3-2.
Table 3-3.
Connector Overview
Connector
Function
J1
Connector for charger/device to be powered
J2
Bottom battery stack (cells 1-6)
J3
Upper battery stack (cells 7-12)
J10
ISP connector
Jumper Overview
Jumper
Function
J9
Jumper to enable/disable MISO line of Atmel ATA6870 (see details below)
J13, J14, J15, J17
Current measurement for active balancing (should be closed for charge transfer)
J9 should never be set while the Atmel ATmega32HVB is being programmed or while it is entering debug mode. It can be
mounted as soon as AVR Studio® prompts for additional SPI lines to be connected in debug mode or after the device has
been correctly programmed.
Table 3-4.
Test Point Overview
Test Point
Function
J19
IC2 work status
J21
MCU power and SPI status
ATA6870-DK11 [APPLICATION NOTE]
9302C–AUTO–04/15
5
Figure 3-4. Connectors, Jumpers, and Test Points
3.3
Powering the Board
3.3.1
Power Supply
The board supports supply voltages ranging from 13.8V (minimum 6.9V per Atmel ATA6870) to 60V. However, to run the
board on voltages below 24V the ZDiode D14 needs to be replaced with a jumper to supply the Atmel® ATmega32HVB with
sufficient voltage. If the jumper is mounted, be sure that stack voltage does not exceed 48V. The Atmel ATmega32HVB
supports operating voltage from4V to 24V.
3.3.2
Emulating Cells
Battery cells can be emulated by connecting a voltage divider to the specified clamps. Section 3.1.1 “Installing the Hardware”
on page 4 describes how to connect cells. The voltage limits for this setup are the same as for the real batteries. Section
3.3.1 “Power Supply” on page 6 specifies these limits.
6
ATA6870-DK11 [APPLICATION NOTE]
9302C–AUTO–04/15
4.
Software Description: Monitoring Up to 12 Battery Cells
The supplied code is documented and easy to adjust for verifying the basic functions of the Atmel® ATA6870 and start BMS
application development.
After the board is ready as described above, the microcontroller automatically starts a cyclic measurement of voltages,
temperature and current. The status is indicated by the three LEDs on the board and the functions of the LEDs are
programmable according to different requirements. LED1 is switched on at the beginning of the main routine and toggles
with the active balancing. LED2 indicates that for some reason the charger/load MOSFETS have been disabled. The default
software disables the FETs in case of these events:
● Overvoltage (at least one cell exceeds the upper default threshold of 4.2V)
●
●
●
●
Undervoltage (at least one cell exceeds the lower default threshold of 2.5V)
Overcurrent (the current through the shunt exceeds the default threshold of 80mA)
Overheating (the temperature exceeds the upper threshold, default value is 80°C)
Low temperature threshold (the default threshold is –20°C)
LED3 indicates whether the Atmel ATA6870 devices are turned on or not. An active LED indicates that the Atmel ATA6870
devices are enabled.
Table 4-1.
LED
LED1
LED Functions
Function
ON indicates access in the main routine
TOGGLE indicates that the active balancing is operating
LED2
ON indicates disabled MOSFETs for one of the reasons listed above
LED3
ON indicates active Atmel ATA6870
The ATA6870 system clock should be provided externally. The Atmel ATmega32HVB has no clock divider to provide an
external clock slower than 1/2 CPU clock. The requirement for the Atmel ATA6870 is fCLK > 2 × fSPI. As a result, the clock
frequency of 1MHz is mandatory to provide a 500kHz clock for the ADCs of the Atmel ATA6870 and 250kHz for SPI.
4.1
Supplied Code
4.1.1
Config.h
This section refers to the config.h file provided in the demonstration source code. Only values in the user setting paragraph
should be changed and other values should not be changed in the default hardware setup. For example, the variable
CELLSIC should be set to match the status of the batteries actually connected.
------------- GENERAL SETTING-------------------------------CELLSIC# Selecting which cells are used Bits 0-5 -> Cells 1-6
------------- TEMPERATURE SETTING---------------------------RES_REF# Value of the mounted reference resistor (default: 3300)
T_TLS Temperature belonging to the first value in the lookup table (index 0, default: -20)
T_TLE Temperature belonging to the last value in the lookup table (default: 80)
T_TLSZ Temperature step size used in the lookup table (default: 1)
T_LOWERTHRESHOLD Lower temperature threshold
T_UPPERTHRESHOLD Upper temperature threshold
ATA6870-DK11 [APPLICATION NOTE]
9302C–AUTO–04/15
7
------------- COULOMBCOUNTER SETTING------------------------SHUNT_RESISTANCE Value of the shunt resistor in mOhm
RCC_CONVERSIONPERIOD The cycle times for the Regular Current Check
0x00 - 256ms (default)
0x01 - 512ms
0x02 - 1s
0x11 - 2s
RCC_DIVIDEDSZ 0x01 to enable divided Voltage (Current) stepsize
RCC_CHARGETHRESHOLD Threshold for charging current, exceeding the threshold will turn off
the Mosfets
RCC_DISCHARGETHRESHOLD Threshold for discharging current, exceeding the threshold will turn
off the Mosfets.
Balancingthreshold Threshold for the active balancing.
4.2
Voltage Measurements
The standard software loop measures the voltage ADC value and the offset ADC value for every cell and checks for
overvoltage and undervoltage once per cycle. Further information about acquiring voltages can be found in Section 7.5.1 of
the Atmel® ATA6870 datasheet. The formula for calculating the voltage is:
V acq – V offset
Voltage (Cell) = 4V ---------------------------------
3031 – V offset
4.3
Temperature Measurements
The default software only measures channel 1 of chip 1. The temperature sensors are based on a resistor divider using a
standard resistor and an NTC resistor. This resistor divider is connected to the reference of the ADC for temperature
measuring. Because the ADC shares the same reference value, the output of temperature measurement with ADC is ratiometric. Further information can be found in Section 7.5.3 “Temperature Channel” of the Atmel ATA6870 datasheet.
For this application Atmel recommends using Res_Ref1 = 3.3k and RES_NTC1 R25 = 4.7k, B = 3500. The software
supplied for this board uses these values as default. The function uses a lookup table to determine the temperature. This
table has to be edited if an NTC other than the recommended one is used. The values in the lookup table range from –20°C
(index 0) to +80°C (index 100). These values can be edited via the config.h file in the user settings section. More Information
about this file can be found in Section 4.1 “Supplied Code” on page 7. The calculation of RES_NTC is carried out based on
the formula provided in Section 7.5.3 of the Atmel ATA6870 datasheet:
RES_NTC(1)
8
8
adc (out) = 2048 1 + ---------------------------------------------------------------------------- ------ – ------
RES_NTC(1) + RES_REF(1) 15 10
When using another NTC, the LookupADC.txt has to be edited to match the NTC used.
4.4
Gas Gauging
Gas gauging is a commonly used method for estimating how much capacity and runtime are left in the battery. By combining
its very accurate VADC and CCAVC the Atmel ATmega32HVB can achieve high accuracy gas gauging. Here the voltagebased gas gauge is for the remaining capacity initialization, while the coulomb-counter-based voltage is to keep track of how
much current is being used to charge and discharge the battery. Because the gas gauging calculation needs
characterization data for the specific battery cell, the algorithm does not fall within the scope of this application note. See the
other AVR® application notes for further details.
8
ATA6870-DK11 [APPLICATION NOTE]
9302C–AUTO–04/15
4.5
Overcurrent Protection
The current through the shunt is calculated by measured voltage drop. The limit can be set via the CADRDC/CADRCC
register. The step size depends on the settings of the CADCSRC register and the shunt used. For further information about
the limiting current see Section 19.4 “Regular Current Detection Operation” of the Atmel ATmega32HVB datasheet. The
supplied software allows the feature to be tested by adjusting the values in the config.h file. More Information about this file
can be found in Section 4.1 “Supplied Code” on page 7. Values/part of the code should only be changed if you are aware of
possible consequences. The default implementation continuously measures the current and generates an interrupt if the
entered thresholds are exceeded. The thresholds are defined in the config.h file. The thresholds are written to the registers
in the CCinit function in the Atmel ATA6870_func.c file. Refer to the features of the Atmel ATmega32HVB in the coulomb
counter section to learn more about the time the controller waits for the values to be written.
Table 4-2.
C Code Example
C Code Example
CADRCC = RCC_CADRCC;
while(CADCSRA & (1
很抱歉,暂时无法提供与“ATA6870-DK11”相匹配的价格&库存,您可以联系我们找货
免费人工找货