AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf ·...

16
2009 Microchip Technology Inc. DS01156A_CN 1 AN1156 简介 对于电池供电的手持设备,电池电量显示是一项很普遍 的功能。电池电量测量通过实时测量放电电流和充电电 流来实现。放电电流为从电池流出的电流,而充电电流 为流进电池的电流。通过跟踪随时间变化的电池放电电 流和充电电流,就可以计算出使用电量(mAH)和剩余 电量 (mAH)。 使用电量为指定时间内的放电电流累 积,从满充电量中减去使用电流就可得到剩余电量。 电池电量特性在很大程度上受环境温度和电池寿命的影 响。实际的电池管理需要随时测量电流、电压和温度来 考虑这些特性参数对电池电量的影响。 电池的电压和电流测量通过使用模 / 数转换器(Analog- to-Digital ConverterADC)来实现。电量管理的精度 取决于 ADC 性能精度。可直接测量电池电压,但是,电 流测量则需要采用电流传感器间接测得。电流传感器具 有阻抗,当电流流经电流传感器时,在电流传感器上会 压降产生压降。通过测量传感器上已知电阻上的压降, 就可以计算出电流。系统设计者需要留意的是电流传感 器上的压降损耗将降低整个系统的目标电池电压。因 此,尽可能选择具有最低电阻值的电流传感器。 电流传感器两端的压降与传感器的电阻值成反比。若 ADC 分辨率不够高,除非选择高阻值的电流传感器,否 则系统不能测量低至 μA 级或很低的 mA 级电流。因此, 对于电流测量,倾向于选择高分辨率的 ADC 或具有内 部可编程增益放大器 (Programmable Gain AmplifierPGA)的高分辨率 ADC目前的集成电池电量计量器件包括 ADC 和控制逻辑电 路。这些器件的功能满足了不断增长的通用应用需求。 但是,对于成本敏感的产品设计者来说,其成本仍然显 得比较昂贵。同时,由于内部 ADC 电路精度的限制,这 些集成电池电量计量器件的精度可能并不能满足特定应 用的需求。 除了选择集成电量计量器件外,一些精明的设计者也考 虑使用单片机 (Microcontroller UnitMCU)来实现其 自己的电量计量算法。他们选择独立的 ADC 器件来测 量电流和电压。这种选择为其方案提供了更多的灵活 性,同时也能够以更为经济的方式来管理电池电量。因 为不同的方案都需要选择 MCU,对于大批量的应用来 说,也能大大节省总成本。根据使用的电池和应用,系 统设计者在电量测量时可选择不同的折中方案。对于简 单应用,设计者仅需要监测电池电压,而在精密运用 中,设计者则需要复杂的电量计量功能。 本应用笔记将介绍使用 MCU ADC 器件的电池电量测 量。 电池充电和放电特性概览 电池的放电特性随不同的参数而变化,这些参数包括电 池的化学特性、负载电流、温度和老化。1 显示为不 同化学特性电池的电池放电曲线。对于大多数电池来 说,其放电曲线在放电至约 80% 满容量前基本保持平 坦,低于 80% 满容量时,曲线将快速下降。 由于电池内部的化学反应主要反应在电压和温度参数 上。电池的放电特性也会受到温度影响。低温阈值取决 于电极的冻结温度。绝大多数电池在温度低于 -40°C 工作特性受到影响。相反,电池在高温下性能表现优 异。这是因为温度升高时化学反应加速。然而,不期望 的化学反应速率增加,从而加速电池的老化。在超高温 度下,这种主动反应变得不稳定,从而损坏电池。 作者: Youbok Lee, Ph.D. Microchip Technology Inc. 使用 -Σ ADC 器件测量电池电量

Transcript of AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf ·...

Page 1: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156使用 ∆-Σ ADC器件测量电池电量

简介

对于电池供电的手持设备,电池电量显示是一项很普遍的功能。 电池电量测量通过实时测量放电电流和充电电流来实现。 放电电流为从电池流出的电流,而充电电流为流进电池的电流。通过跟踪随时间变化的电池放电电流和充电电流,就可以计算出使用电量(mAH)和剩余电量(mAH)。 使用电量为指定时间内的放电电流累积,从满充电量中减去使用电流就可得到剩余电量。

电池电量特性在很大程度上受环境温度和电池寿命的影响。实际的电池管理需要随时测量电流、电压和温度来考虑这些特性参数对电池电量的影响。

电池的电压和电流测量通过使用模 /数转换器(Analog-to-Digital Converter, ADC)来实现。电量管理的精度取决于 ADC性能精度。可直接测量电池电压,但是,电流测量则需要采用电流传感器间接测得。电流传感器具有阻抗,当电流流经电流传感器时,在电流传感器上会压降产生压降。通过测量传感器上已知电阻上的压降,就可以计算出电流。系统设计者需要留意的是电流传感器上的压降损耗将降低整个系统的目标电池电压。因此,尽可能选择具有最低电阻值的电流传感器。

电流传感器两端的压降与传感器的电阻值成反比。若ADC分辨率不够高,除非选择高阻值的电流传感器,否则系统不能测量低至 µA级或很低的mA级电流。因此,对于电流测量,倾向于选择高分辨率的 ADC 或具有内部可编程增益放大器(Programmable Gain Amplifier,PGA)的高分辨率 ADC。

目前的集成电池电量计量器件包括 ADC 和控制逻辑电路。这些器件的功能满足了不断增长的通用应用需求。但是,对于成本敏感的产品设计者来说,其成本仍然显得比较昂贵。同时,由于内部 ADC电路精度的限制,这些集成电池电量计量器件的精度可能并不能满足特定应用的需求。

除了选择集成电量计量器件外,一些精明的设计者也考虑使用单片机(Microcontroller Unit,MCU)来实现其自己的电量计量算法。他们选择独立的 ADC 器件来测量电流和电压。这种选择为其方案提供了更多的灵活性,同时也能够以更为经济的方式来管理电池电量。因为不同的方案都需要选择 MCU,对于大批量的应用来说,也能大大节省总成本。根据使用的电池和应用,系统设计者在电量测量时可选择不同的折中方案。对于简单应用,设计者仅需要监测电池电压,而在精密运用中,设计者则需要复杂的电量计量功能。

本应用笔记将介绍使用MCU和ADC器件的电池电量测量。

电池充电和放电特性概览

电池的放电特性随不同的参数而变化,这些参数包括电池的化学特性、负载电流、温度和老化。图 1显示为不同化学特性电池的电池放电曲线。对于大多数电池来说,其放电曲线在放电至约 80% 满容量前基本保持平坦,低于 80%满容量时,曲线将快速下降。

由于电池内部的化学反应主要反应在电压和温度参数上。电池的放电特性也会受到温度影响。低温阈值取决于电极的冻结温度。绝大多数电池在温度低于 -40°C时工作特性受到影响。相反,电池在高温下性能表现优异。这是因为温度升高时化学反应加速。然而,不期望的化学反应速率增加,从而加速电池的老化。在超高温度下,这种主动反应变得不稳定,从而损坏电池。

作者: Youbok Lee, Ph.D.Microchip Technology Inc.

2009 Microchip Technology Inc. DS01156A_CN第 1页

Page 2: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

图 2显示了电池放电曲线与温度的关系。如图 1和图 2所示,一个实际的电池电量管理系统需要同时监测电流、电压和温度三个参数。

图 1: 电池放电特性

图 2: 锂离子电池放电特性——温度曲线

MCP3421 18位 ∆-Σ ADC系列主要特性MCP3421系列ADC对电压和电流测量应用提供了独特的特性。MCP3421 为 18位单通道 ∆-Σ ADC,且具有用户可编程配置位设定。器件提供两种工作模式:(a)连续转换和 (b)单次转换模式。在连续转换模式下,器件连续地进行转换。在转换期间,器件吸收约 140 µA电流。然而,在单次转换模式下,器件在完成一次转换后,自动切换成省电模式。假设器件配置成 18 位模式,每隔 1秒读取一次数据,则器件仅吸收约 40 µA电流。在省电模式,器件仅吸收约 100 nA 电流。这项功能对于电池供电的低功耗应用特别有效。

器件内部具有最高增益可达 8 倍的可编程增益放大器(PGA)和 2.048V的内部基准电压。PGA增益功能对测量低阻值电流传感器两端的微弱压降非常有用。输入电压在内部 ADC转换前被放大了 8倍。这意味着 PGA可以检测到比 LSB低 8倍的输入信号。由于 ADC性能不受 VDD变化影响,因此 2.048V的内部基准电压变得非常有用。然而,这也限制了输入电压最大范围为2.048V。由于这个限制,在测量电池电压超过基准电压时,需要采用简单的分压器电路。MCP3421 系列包括单通道、双通道和四通道器件。

MCP3421系列器件的主要特性:

• 可编程 ADC分辨率:- 12位、 14位、 16位或 18位。

• 差分或单端输入工作• 片内电压基准• 片内可编程增益放大器(PGA):

- 增益为 1、 2、 4或 8• 单次或连续转换选项• 低电流消耗:

- 连续转换时 145 µA(典型值)- VDD= 3V时的单次转换(1 SPS):

39 µA(18位模式,典型值)

9.7 µA(16位模式,典型值)

2.4 µA(14位模式,典型值)

0.6 µA(12位模式,典型值)

% of Capacity Discharged

3.5

3.0

2.0

2.5

1.5

1.0

0.5

4.0

20 % 40 % 60 % 80 % 100 %

Cel

l Vol

tage

(V)

Li-Ion

Lead-Acid

Ni-ZnNi-Cd

ZnMnO2NiMh

1.5

2.0

2.5

3.0

3.5

4.0

1.0

Cel

l Vol

tage

(V)

1 2 3 4 5 6 7 8 109

0.5

55 oC

25 oC

-25 oC

Discharge Time (Hour)

DS01156A_CN第 2页 2009 Microchip Technology Inc.

Page 3: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

使用 ADC 测量电池电压

图 3 显示为使用 MCP3421 器件 (U1)的电池电压测量电路。由于 MCP3421 器件具有内部基准电压,可测量的 大输入电压范围限制为内部基准电压 ( 高达2.048V)。因此,测得的输入电压超过内部基准时,需要采用由 R1、 R2 和 R3 组成的分压器。 R3 为可选电阻,用来校正 R1 和 R2 元件容差导致的误差。通过选择高串联电阻阻值的分压器(> 1 MΩ),可使分压器的电流损耗忽略不计。

在图 3 所示的示例电路中,通过将正输入引脚(VIN+)连接到电池电压,负输入引脚(VIN-)连接到 VSS,配置 ADC 为单端输入方式。 MCU 可通过 I2C 总线读取ADC 输出。

图 4 显示了 3.7V 锂聚合物电池(3.7V,170 mAH)的放电曲线。该曲线显示电池电压线性减小,直到容量减小到约为满容量的 80%。

由于电池放电特性在接近其曲线快速下降点之前的特性非常平滑,因此仅测量电池电压来评估电池电流状态就成为一种低成本的替代方法。此时,只需将测量得到的电池电压值与存储在 MCU 固件查找表中的电量值进行比较即可。

所示电路可以用来测量任何类型电池的电压。当使用此电路时,需要仔细调整分压器(R1、R2 和 R3),使得输入到 ADC 器件的 大输入电压(或电池满充时 VIN+引脚上的电压)低于 ADC 的内部基准电压(2.048V)。

尽管单独使用电压并不能完全表示电池电量的状态,但是这种方法因易于实现而广泛使用于简单和低成本应用中。

图 3: 电池电压测量

LSB = 2.048V

2 (18-1)= 15.625 µV

VIN+ 引脚电压 = (R2 + R3)

R1 + (R2 + R3)电池电压 *

至负载

R3

电池

I2C 总线 至 MCU

电压测量

数据线

2009 Microchip Technology Inc. DS01156A_CN 第 3 页

Page 4: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

图 4: 3.7V锂聚合物电池放电时的电池电压曲线

线性近似线

实际曲线

DS01156A_CN第 4页 2009 Microchip Technology Inc.

Page 5: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

图 5: 电池电压测量时 MCU 固件流程图

LSB = 2.048V

2(17)= 15.625 µV

发送 I2C 写命令,写 ADC 配置寄存器位

(单次转换和 18 位模式,PGA = 1)

发送 I2C 读命令

获取 18 位转换数据

   测量电压 = 获取的 ADC 代码 * LSB

开始

    将获取的数字数据转换成电压 :

其中 :

    需要在 LCD 上显示电压?

       将输入电池电压结果从二进制转换成十进制

  在 LCD 上显示电池电压

       电池电压 = 测量电压 *

(R2 + R3)R1 + (R2 + R3)

    = 测量电压 *

  分压器电路的分压比率 1

2009 Microchip Technology Inc. DS01156A_CN 第 5 页

Page 6: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

放电和充电时的电流测量

图 6显示了利用MCP3421 ADC器件测量电池放电和充电电流的电路。在放电模式下,电流的方向是通过电流传感器器件从电池流向负载。由于传感器带有电阻,电流流过电流传感器时在电流传感器两端产生压降。然后通过 MCP3421 器件来测量该压降。

在示例电路中, MCP3421 差分输入引脚连接到电流传感器两端。在放电模式时, VIN+ 输入引脚的电压相对于 VIN- 引脚的电压为正电压。在充电模式,由于电流流向反向,所以电压极性反转。MCU 通过检测 ADC 输出代码的符号位 (MSB)来判断电流流动方向。

设计者在选择电流传感器时,需要同时考虑电压裕量和ADC 分辨率。因为电流传感器上的压降产生损耗,所以需要使这种损耗尽可能小。相反,压降必须足够高以便ADC 可以测量到。理论上, ADC 可以测量超过 1 LSB(Least Significant Bit, 低有效位)的输入信号。

公式 1: MCP3421 的 LSB 大小

假设 10 mA 的负载电流流经 10 mΩ 的电流传感器,电流传感器上的压降为100 µV。这等效于18位MCP3421ADC器件的6.4个LSB,或6.4个输出代码。MCP3421器件具有内部 PGA。通过将 PGA 增益设置 8,则输入在内部ADC转换前被放大成800 µV。这会产生51个LSB或 51 个输出代码,提供了足够的测量数据。

这个示例显示对于精确电流测量需要采用高精度ADC。因此,使用具有内部 PGA 的 ADC 就成为优先选择,除非你使用相对高阻值的电流传感器。

利用测量得到的电压除以电流传感器已知电阻值就可得到电流值。因此,可以采用很小的时间间隔来周期性的测量电流。测量到的数据随着时间进行累加。总的使用电量为测量的放电电流随时间累积和,剩余电池电量为电池满充时的电量与已使用电量的差值。这些参数的计算可通过 MCU 固件进行计算。

公式 2: 电流计算

公式 3: 总的已使用电池电量 (放电)

公式 4: 剩余电池电量

LSB Reference Voltage

2n 1–

--------------------------------------------------- 2.048V217

------------------- 15.625µV= = =

其中:

n = 分辨率位数

参考电压

I Measured VoltageR of Current Sensor---------------------------------------------------------= 测得的电压

电流传感器的 R值

Fuel Used mAH( ) Disch ing Current mA( ) × ∆Time n( )arg

n 1=

N

∑=

Fuel Used mAH( ) Disch ing Current mA( ) × ∆Second n( )3600

-------------------------------arg

n 1=

N

∑=

已使用电量(mAH)

已使用电量(mAH)

放电电流(mA) 时间(n)

放电电流(mA) 秒(n)

Fuel Remaining mAH( ) Battery Full Capacity mAH( ) Fuel Used mAH( )–=剩余电量(mAH) 电池满容量(mAH) - 已使用电量(mAH)

DS01156A_CN 第 6 页 2009 Microchip Technology Inc.

Page 7: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

MCU固件包括控制MCP3421 ADC器件进行数据转换、乘法、除法和二进制转换成十进制。这些操作的 MCU代码示例包括在固件代码附件中。

图 6: 电池放电和充电时的电流测量

电池

充电

放电

电流传感器

至电池

至负载

至 MCU

I2C 总线

数据线

2009 Microchip Technology Inc. DS01156A_CN 第 7 页

Page 8: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

图 7: 电池电流测量时 MCU 固件流程图

LSB = 2.048V

2(18-1)= 15.625 µV

发送 I2C 写命令,写 ADC 配置寄存器位

(单次转换,18 位模式,PGA = 8)

发送 I2C 读命令

获取 18 位转换数据

(在计算时考虑到输入信号

开始

将获取的 ADC 代码转换成电压 :

其中 :

    需要在 LCD 上显示电流? 

   将电流值从二进制代码转换层十进制数字

 在 LCD 上显示电流值

电流 = 测量的电压

转换成电流 :

  电流传感器的电阻值

获取的 ADC 代码 * LSB8

的 PGA 设置,要除以因子 8。)

符号位 = 0 ? ADC 数据 = 获取的 ADC 数据的二进制补码

   表明此时为放电电流,表明此时为充电电流,

电流流入电池。电流方向是从电池流向负载。

MSB = 1

MSB = 0

    测量电压 =

DS01156A_CN 第 8 页 2009 Microchip Technology Inc.

Page 9: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

使用双通道 ADC 测量电压和电流

图 8 显示了同时测量电池电压和电流的电路示例。此时使用双通道 MCP3421 ADC 器件来进行测量。MCU 采

用通道复用来测量电压和电流。除通道复用外,前述章节中关于电压和电流测量的原理同样适用于本电路。

图 8: 电池电压和电流测量

2 通道 MCP3421系列器件

电池

放电

充电

电流传感器

至负载

至电池

I2C 总线

数据线 至 MCU

电压测量

电流测量

2009 Microchip Technology Inc. DS01156A_CN 第 9 页

Page 10: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

MCP3421 电池电量计量演示板的电池电量计量算法

图 9 显示了 MCP3421 电池电量计量演示板,图 10 为其原理图。

MCP3421电池电量计量演示板每隔1秒钟测量一次电池电压和电流,然后计算电池使用的电量和剩余电量。测量和计算得到的结果显示在 LCD 显示屏上。

若采用可充电电池,则在需要时可对电池进行充电。在这个电路中,使用了两个 MCP3421 器件,分别来测量电压(U5)和电流(U1)。可采用双通道器件(U6)来替换 U5 和 U1 的功能。演示板上暂时未焊接 U6。R3,R4 和 R1 组成分压器电路。R1 为可调电阻,用来校正 R3 和 R4 的容差。当这些电阻的总阻值超过 1 MΩ时,分压器吸收的电流可以忽略不计。

R12 为 0.01Ω 的电流传感器。所有的负载电流均流经电阻 R12。

R11 代表总的负载阻抗(100Ω)。这个数值只是简单选择,以代表负载条件,实际上可以为任何阻值的负载。

满足上述条件并使用 1.5V AAA 电池时,负载电流变成15 mA。电流传感器上的压降为:

若 ADC U1 的 PGA 增益设置成 8 倍,同时采用 18 位分辨率,则用到的 ADC 器件代码总数为:

公式 5:

公式 5 示例是用来测量流经 10 mΩ 电流传感器上的15 mA电流。显示出只使用了18位MCP3421 ADC器件提供的 131072 个代码中的约 77 个数字代码。这些输出代码足够记录流经 10 mΩ 传感器上的 15 mA 电流。使用代码越多,精度越高,从而提高了 ADC 的分辨率和PGA设置。通常,ADC分辨率增加时其相应的测试时间增加而导致整个元器件的成本提高。

将 PGA 增益设置成 8, MCP3421 器件可以测量低至1.953 µV的输入电压。这个数值等同于21位ADC的LSB大小,这个增益也相当于为 18 位 ADC 器件增加了 3 位分辨率。

MCU 固件记录流过电流传感器的电流,并计算出已使用和剩余的电量。

MCP73831(U3)为单节锂离子 /锂聚合物电池充电器。MCU 控制 PROG 引脚,以开始或者停止对电池进行充电。 MCU 也监视 STATUS 引脚以判断电池充电状态。

图 11 显示 MCP3421 电池电量计量演示板中采用算法示例的流程图。因为此算法基于 MCU 固件,用户可以很方便地改写代码,使其成为自己独有的算法。

MCU 固件示例

适用于图 9、10 和 11 的 MCU 固件示例参考本应用笔记附件。固件采用 PIC18F4550 MCU 编码。可充电电池为 3.7V/170 mA 锂离子 / 锂聚合物电池,由加利福尼亚州的 Powerizer 公司(P/N:PL052025)生产(网址:http://www.batteryspace.com)。

在 MCP3421 电池电量计量演示板中,电池充电功能被禁止,因为发送到客户手中的演示板同时包括 1.5 AAA一次性电池。然而,本应用笔记中的固件示例采用可充电电池 (P/N:PL052025)。

用户可利用 MCP3421 电池电量计量演示板工具包,附件中的固件和指定的可充电电池(P/N:PL052025)来仿真可充电电池的功能。采用这个固件的 MCP3421 电池电量计量演示板工具包记录电池电量,允许电量消耗后对电池进行重新充电。

MCU 固件代码可从 Microchip 网站下载 (文件名:MCP3421 App Note on Battery Fuel Gauge.ZIP)。

V 15mA 0.01Ω• 150µV= =

PGA 设置为 8 时

1.2 mV

LSB ( = 15.6 µV)

= 77 个代码

用到的 ADC 代码总数 =

ADC 转换器的输入电压 = 150 µV * 8 = 1.2 mV

DS01156A_CN 第 10 页 2009 Microchip Technology Inc.

Page 11: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

图 9: MCP3421 电量计量演示板

9V 电源

MCP3421I2C接口测试点

(见注 1)

   电池充电器测试引脚   菜单选择开关

MPLAB® ICD2 在线仿真器连接器

2x16 LCD

MCP3421

MCP3422 焊盘位

MCP73831

MCU MCLR 复位开关

  电位器

USB

放电回路的跳线

  待测电池

连接器

(未使用)

+

9V 电池连接器

(见注 1)(TP11)

电流传感器

PIC18F4550

2009 Microchip Technology Inc. DS01156A_CN 第 11 页

Page 12: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

图 10: MCP3421电量计量演示板原理图

M*注

:#

1

可使用

9V电源或

9V电池,但不能同时使用。

* 见注

1

DS01156A_CN第 12页 2009 Microchip Technology Inc.

Page 13: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

图 11: 电池电量管理算法

从 U1 获取 ADC 数值

(电池电压)

乘以 ADC 代码数 * LSB (LSB = 15.625 µV)

(考虑输入级的分压器)从 U5 获取 ADC 数值

(放电电流)

电池电压 < 50%

已使用电量(mAH) = 已使用电量(mAH) + ∆ 放电电量(mAH)

剩余电量(mAH) = 剩余电量(mAH)

(放电电量(mAH) = 放电电流(mA•s)/3600)

- 已使用电量(mAH)

剩余电量(mAH) = 剩余电量(mAH) + 充电电量(mAH)

剩余电量(mAH) = 初始电池电量(充满,170 mAH)

  电池是否充满?  或

中断?

从 U1 获取 ADC 数值

(充电电流)

从 U5 获取 ADC 数值(电池电压)

显示充电电流和电池电压

显示放电电流和电池电压

显示剩余电量和使用电量

开始

是否需要重新充电? 

使能 MCP73831 输出(电池重新充电)

禁止 MCP73831 输出 (重新充电完成)

显示剩余电量

2009 Microchip Technology Inc. DS01156A_CN 第 13 页

Page 14: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

AN1156

总结

如果器件能够持续监视流出电池的电流(放电电流)和流入电池的电流(充电电流),则计算电池的电量成为相对简单的任务。电池电量计量的精度取决于电流测量的精度。独立的 MCP3421 ADC系列器件比那些通用的集成电量计量器件中的 ADC 具有更高的测量精度。除性能优异外,这些器件还可以节省成本。

用于实现电量计量算法的 MCU 固件示例参考本应用笔记的附件。 MCU固件基于 PIC18F4550开发。这些示例中包括许多有用的代码,如读写 MCP3421 ADC 器件、二进制乘法、除法,以及用于 LCD显示的二进制到十进制转换等。

本应用笔记中的示例代码并没有考虑电池特性中的温度变化特性。

参考资料

[1] MCP3421数据手册,“带 I2C接口和片内电压基准的18位模数转换器”(DS22003B_CN),Microchip Tech-nology Inc.

[2] MCP3421 Battery Fuel Gauge Demo Board User’sGuide, DS51683A, Microchip Technology Inc.

[3] MCP73831/2数据手册,“微型单节锂离子 /锂聚合物电池之全集成充电管理控制器”(DS21984A_CN),Microchip Technology Inc.

[4] PIC18F2455/2550/4455/4450 数据手册,(DS39632D_CN), Microchip Technology Inc.

注: 本附件中显示MCU固件示例仅适用于指定的电池类型。对于其他电池类型,用户需要改写固件代码,才能使用。

DS01156A_CN第 14页 2009 Microchip Technology Inc.

Page 15: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

请注意以下有关 Microchip 器件代码保护功能的要点:

• Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。

• Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中 安全的产品之一。

• 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的

操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。

• Microchip 愿与那些注重代码完整性的客户合作。

• Microchip 或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。

代码保护功能处于持续发展中。Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视

为违反了《数字器件千年版权法案(Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的

软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。

提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含

的英文部分,因为其中提供了有关 Microchip 产品性能和使用

情况的有用信息。Microchip Technology Inc. 及其分公司和相

关公司、各级主管与员工及事务代理机构对译文中可能存在的任何差错不承担任何责任。建议参考 Microchip TechnologyInc. 的英文原版文档。

本出版物中所述的器件应用信息及其他类似内容仅为您提供便

利,它们可能由更新之信息所替代。确保应用符合技术规范,是您自身应负的责任。Microchip 对这些信息不作任何明示或

暗示、书面或口头、法定或其他形式的声明或担保,包括但不

限于针对其使用情况、质量、性能、适销性或特定用途的适用性的声明或担保。 Microchip 对因这些信息及使用这些信息而

引起的后果不承担任何责任。如果将 Microchip 器件用于生命

维持和 / 或生命安全应用,一切风险由买方自负。买方同意在

由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识

产权保护下,不得暗中或以其他方式转让任何许可证。

2009 Microchip Technology Inc.

商标

Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron、dsPIC、 KEELOQ、 KEELOQ 徽标、 MPLAB、 PIC、

PICmicro、 PICSTART、 rfPIC、 SmartShun 和 UNI/O 均为Microchip Technology Inc. 在美国和其他国家或地区的注册商

标。

FilterLab、 Linear Active Thermistor、 MXDEV、 MXLAB、SEEVAL、SmartSensor 和 The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的注册商

标。

Analog-for-the-Digital Age、 Application Maestro、CodeGuard、 dsPICDEM、 dsPICDEM.net、 dsPICworks、dsSPEAK、 ECAN、 ECONOMONITOR、 FanSense、In-Circuit Serial Programming、 ICSP、 ICEPIC、 Mindi、MiWi、MPASM、MPLAB Certified 徽标、MPLIB、MPLINK、mTouch、PICkit、PICDEM、PICDEM.net、PICtail、PIC32

徽标、 PowerCal、 PowerInfo、 PowerMate、 PowerTool、REAL ICE、 rfLAB、 Select Mode、 Total Endurance、WiperLock和ZENA均为Microchip Technology Inc.在美国和其

他国家或地区的商标。

SQTP 是 Microchip Technology Inc. 在美国的服务标记。

在此提及的所有其他商标均为各持有公司所有。

© 2009, Microchip Technology Inc. 版权所有。

DS01156A_CN 第 15 页

Microchip 位于美国亚利桑那州 Chandler 和 Tempe 与位于俄勒冈州Gresham 的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和印度的设计中心均通过了 ISO/TS-16949:2002 认证。公司在 PIC®

MCU 与 dsPIC® DSC、KEELOQ® 跳码器件、串行 EEPROM、单片机外设、非易失性存储器和模拟产品方面的质量体系流程均符合 ISO/TS-16949:2002。此外,Microchip 在开发系统的设计和生产方面的质量体系也已通过了 ISO 9001:2000 认证。

Page 16: AN1156 - Microchip Technologyww1.microchip.com/downloads/cn/AppNotes/01156A_CN.pdf · 说,其放电曲线在放电至约80% 满容量前基本保持平 坦,低于80% 满容量时,曲线将快速下降。

DS01156A_CN 第 16 页 2009 Microchip Technology Inc.

美洲公司总部 Corporate Office2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 1-480-792-7200 Fax: 1-480-792-7277技术支持:http://support.microchip.com网址:www.microchip.com亚特兰大 AtlantaDuluth, GA Tel: 678-957-9614 Fax: 678-957-1455波士顿 BostonWestborough, MA Tel: 1-774-760-0087 Fax: 1-774-760-0088芝加哥 ChicagoItasca, IL Tel: 1-630-285-0071 Fax: 1-630-285-0075克里夫兰 ClevelandIndependence, OH Tel: 216-447-0464 Fax: 216-447-0643达拉斯 DallasAddison, TX Tel: 1-972-818-7423 Fax: 1-972-818-2924底特律 DetroitFarmington Hills, MI Tel: 1-248-538-2250Fax: 1-248-538-2260科科莫 KokomoKokomo, IN Tel: 1-765-864-8360Fax: 1-765-864-8387洛杉矶 Los AngelesMission Viejo, CA Tel: 1-949-462-9523 Fax: 1-949-462-9608

圣克拉拉 Santa ClaraSanta Clara, CA Tel: 408-961-6444Fax: 408-961-6445加拿大多伦多 TorontoMississauga, Ontario, CanadaTel: 1-905-673-0699 Fax: 1-905-673-6509

亚太地区

亚太总部 Asia Pacific OfficeSuites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel: 852-2401-1200Fax: 852-2401-3431中国 - 北京Tel: 86-10-8528-2100 Fax: 86-10-8528-2104

中国 - 成都Tel: 86-28-8665-5511Fax: 86-28-8665-7889

中国 - 香港特别行政区Tel: 852-2401-1200 Fax: 852-2401-3431

中国 - 南京Tel: 86-25-8473-2460Fax: 86-25-8473-2470

中国 - 青岛Tel: 86-532-8502-7355 Fax: 86-532-8502-7205

中国 - 上海Tel: 86-21-5407-5533 Fax: 86-21-5407-5066

中国 - 沈阳Tel: 86-24-2334-2829 Fax: 86-24-2334-2393

中国 - 深圳Tel: 86-755-8203-2660 Fax: 86-755-8203-1760

中国 - 武汉Tel: 86-27-5980-5300 Fax: 86-27-5980-5118

中国 - 厦门Tel: 86-592-238-8138 Fax: 86-592-238-8130中国 - 西安Tel: 86-29-8833-7252 Fax: 86-29-8833-7256

中国 - 珠海Tel: 86-756-321-0040 Fax: 86-756-321-0049

台湾地区 - 高雄Tel: 886-7-536-4818Fax: 886-7-536-4803

台湾地区 - 台北Tel: 886-2-2500-6610 Fax: 886-2-2508-0102

台湾地区 - 新竹Tel: 886-3-572-9526Fax: 886-3-572-6459

亚太地区

澳大利亚 Australia - SydneyTel: 61-2-9868-6733 Fax: 61-2-9868-6755

印度 India - BangaloreTel: 91-80-3090-4444 Fax: 91-80-3090-4080

印度 India - New DelhiTel: 91-11-4160-8631Fax: 91-11-4160-8632

印度 India - PuneTel: 91-20-2566-1512Fax: 91-20-2566-1513

日本 Japan - YokohamaTel: 81-45-471- 6166 Fax: 81-45-471-6122韩国 Korea - DaeguTel: 82-53-744-4301Fax: 82-53-744-4302

韩国 Korea - SeoulTel: 82-2-554-7200 Fax: 82-2-558-5932 或82-2-558-5934

马来西亚 Malaysia - KualaLumpurTel: 60-3-6201-9857Fax: 60-3-6201-9859

马来西亚 Malaysia - PenangTel: 60-4-227-8870Fax: 60-4-227-4068

菲律宾 Philippines - ManilaTel: 63-2-634-9065Fax: 63-2-634-9069新加坡 SingaporeTel: 65-6334-8870 Fax: 65-6334-8850

泰国 Thailand - BangkokTel: 66-2-694-1351Fax: 66-2-694-1350

欧洲奥地利 Austria - WelsTel: 43-7242-2244-39Fax: 43-7242-2244-393丹麦 Denmark-CopenhagenTel: 45-4450-2828 Fax: 45-4485-2829法国 France - ParisTel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79德国 Germany - MunichTel: 49-89-627-144-0 Fax: 49-89-627-144-44意大利 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781荷兰 Netherlands - DrunenTel: 31-416-690399 Fax: 31-416-690340西班牙 Spain - MadridTel: 34-91-708-08-90Fax: 34-91-708-08-91英国 UK - WokinghamTel: 44-118-921-5869Fax: 44-118-921-5820

全球销售及服务网点

02/04/09