CN1163020A - 用于向外部设备报告电池参数的智能电池算法 - Google Patents
用于向外部设备报告电池参数的智能电池算法 Download PDFInfo
- Publication number
- CN1163020A CN1163020A CN 95196008 CN95196008A CN1163020A CN 1163020 A CN1163020 A CN 1163020A CN 95196008 CN95196008 CN 95196008 CN 95196008 A CN95196008 A CN 95196008A CN 1163020 A CN1163020 A CN 1163020A
- Authority
- CN
- China
- Prior art keywords
- battery
- value
- capacity
- current
- temperature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
一种智能电池(10),它提供电力并向具有电力管理系统的外部设备(16)报告预定义的电池参数,包括;连接在一对接线端(16)上的至少一个可再充电电池,在放电模式中向外部设备(16)提供电力而在充电模式中接收远程设备提供或确定的电力;一条数据总线(14),用于向外部设备报告预定义的电池标识与充电参数;及表示电池上的电池温度的一个模拟信号(24);一个混合集成电路,具有一个微处理器用于接收该模拟信号并将它们转换成表示电池电压、电流与温度的数字信号并从数字信号中计算出时间上的实际充电参数,计算中包含按照下述算法的一种计算:CAPrem∶CAPFc-∑IdΔtd-∑IsΔt+∑lcΔtc,其中εc为电池温度与CAPFc的函数。叠加在这一等式上的为重新设置逻辑,它利用在每一次充满电及每一次放完电末尾上的容量计算自身校正CAPFc之值。
Description
本发明一般涉及可再充电电池技术,更具体地涉及供在具有电力管理能力的智能设备中使用的智能电池。本发明还包括用于控制智能可再充电镍金属氢化物(NiMH)或镍镉(NiCad)电池之类的操作的设备与方法,它能使智能电池向专用于对电池的充电与化学状态的电力管理及充电控制的智能设备报告精确信息。
诸如笔记本计算机、电视摄象机、蜂窝式电话等智能便携式电子设备的出现导致了智能可再充电电池的研制,这些电池能与智能设备通信以提供有关电池的当前充电状态以及怎样向电池再充电以能最好地保持最大电池寿命的精确信息,从而能得到最大数目的充电--放电周期。这种利用智能电池的智能便携式设备的用户不仅知道电池中还剩下多少电量还知道电池在各种电力消耗率上的运行时间。这使用户能选择在剩余电量状态上得到最大服务寿命的操作模式,并知道该设备还将继续操作多久。
先有技术可再充电电池单元已设置有为它们的用户生成某些必要的信息的装置,例如包含美国专利号5,315,228中公开的充电监视器及燃料计,该专利公开了用于计算充电状态及向主计算机系统报告到用完的运行时间的方法。
然而,要求可再充电电力单元即使在标称全部放电时也能准确地保留其本身的充电状态信息以便用户即时访问它。再者,还要求智能可再充电电池能在各种电力消耗级上向用户提供其剩余工作时间的精确预测。诸如便携式计算机等智能设备的用户便能选择关掉硬盘驱动器来将便携式计算机的工作延长得比在高电力消耗率时可能有的更长时间段。
从而,本发明涉及供在主计算机中使用以在其整个生命周期中优化智能可再充电电池的性能的智能电池。
本发明还涉及微处理器控制的可再充电电池的控制方法,它执行电池容量计算以用于通知主计算机设备或智能电池充电设备;微处理器控制的可再充电电池的控制方法,它提供主设备以当前充电状态及电池充电参数形式的信息用于通知智能充电器;微处理器控制的可再充电电池的控制方法,它计算诸如电池在当前消耗率上及其它消耗率上的剩余寿命;微处理器控制的可再充电电池的控制方法,它将诸如电池标识数据、温度、电压、充电/放电电流及存在的充电状态等确实数据通知主计算机装置或智能电池充电器;微处理器控制的可再充电电池的控制方法,它以警告或报警的形式将潜在的问题与潜在危险条件通知主装置或电池充电器,及随即通知其用户;以及微处理器控制的可再充电电池的控制方法,它监视诸如电压、电流与温度等电池工作参数,借此从任何充电状态获得快速充电速度或最佳充电速度。
本发明是以提供电力并向具有电力管理系统的外部设备报告预定的电池参数的智能电池来达到的,其中该电池包括:
(a)连接在一对接线端上的至少一个可再充电单元,在放电模式中向外部设备提供电力而在充电模式中接收所述远程设备所提供或确定的电力,
(b)一条数据总线,用于向外部设备报告预定的电池标识及充电参数,
(c)一个模拟装置,用于生成表示在所述接线端上的电池电压与电流的模拟信号及表示所述单元上的电池温度的模拟信号,
(d)一个混合集成电路(IC),具有一个微处理器,用于接收这些模拟信号并将它们转换成表示电池电压、电流与温度的数字信号,并从所述数字信号中计算在时间上的实际充电参数,所述计算包含按照下述算法的计算:CAPrem=CAPFC-∑IdΔtd-∑IsΔt+∑εcIcΔtc
其中εc为电池电流与温度的函数;而Is为电池温度与CAPFC的函数;
(e)确定在所述混合IC中的一个数据存储器,用于存储所述预定电池标识及实际充电参数,即使在标称全部放电时也存储,所述充电参数至少包括充满电容量但与剩余容量;以及
(f)确定在所述混合IC中的一个总线控制器,用于在所述数据总线上将电池信息发送给所述远程设备,所述信息中包含所述预定的电池标识及所述实际充电参数。
施加在这一公式上的为复位逻辑,下面要说明,它在每一次充满电(EOC)及每一次放完电结束时用容量计算自校正CAPFC的值。
本发明还针对对可再充电电池进行充电及将预定的电池参数报告给具有从所述可再充电电池接收电力与向其供应电力的电力管理系统的外部设备的方法,所述方法包括:
(a)生成表示电池输入端与电池输出端上的电池电压与电流的模拟信号,并生成表示所述单元上的电池温度的模拟信号,
(b)将所述模拟信号转换成表示电池电压、电流与温度的数字信号,并按照下述算法用与所述电池关联的RISC(精简指令集计算机)微处理器从所述数字信号中在时间上对实际电池充电参数进行积分;
CAPrem=CAPFC+∑εcIcΔtc-∑IdΔtd-∑IsΔt
(c)将εc作为电池电流、温度与剩余容量的经验函数存储在查找表中;CAPFC作为积分之间的学习值及Is作为电池温度与CAPFC的经验函数,所述查找表由与所述电池关联的数据存储器定义;
(d)将所述预定的电池标识与充电参数存储在所述数据存储器中,所述充电参数至少包括充满电容量及剩余容量,
(e)在数据总线上发送电池信息给所述远程设备,所述信息包含所述预定电池标识参数及所述实际充电参数。
从对下面参照附图给出的详细描述的思考中,本发明的其它效益与优点将成为显而易见,附图指明与展示本发明的较佳实施例。
图1为连接在主计算机与电池充电装置上的智能电池系统的示意方框图。
图2(a)为智能电池与连接器的简化方框图,其中包含本发明中所采用的应用专用集成电路(ASIC)的管脚引出线图。
图2(b)展示本发明的智能电池系统的ASIC28的简化方框图。
图3为展示用于控制嵌入本发明所采用的ASIC中的微处理器的算法与方法的基本功能特征的总流程图。
图4展示用于初始化嵌入ASIC中的微处理器与总线控制器的初始化例程10。
图5(a)与5(b)为展示IUT(电流、电压与温度)计算程序200的流程图。
图6(a)与6(b)为展示编程在微处理器中用于计算本发明的可再充电电池的当前容量的顺序进程150的流程图。
图6(c)展示用于计算电池自身放电量的自身放电程序300。
图6(d)与6(e)展示用于计算流入或流出其接线端的电池充电或放电量的积分程序400。
图7(a)至7(c)为展示编程在微处理器中用于在电池容量增加状态中确定电池结束条件的顺序进程500的流程图。
图7(d)展示学习单元数目程序700的流程图。
图8(a)与8(b)为展示编程在微处理器中用于在电池容量降低状态中确定电池结束条件的顺序进程600的逻辑流程图。
图9展示当智能电池与主计算机或电池充电器之间通信时调用的处理请求例程的逻辑流程图。
图10展示用于写数据到智能电池的写块例程的详细逻辑流程图。
图11展示用于从智能电池读取数据的读块例程的详细逻辑流程图。
图12(a)与12(b)展示描述智能电池系统在向外部设备广播报警条件时调用的逻辑步骤的流程图。
图13展示描述智能电池系统在将充电条件广播给电池充电器时调用的步骤的逻辑流程图。
图14(a)与14(b)展示描述智能电池系统在广播信息时调用的步骤的逻辑流程图。
图15展示描述智能电池系统在LED显示器上生成指示电池的相对充电状态所调用的步骤的逻辑流程图。
图16展示A/D转换器60的概略示意图。
图17(a)展示在正常与抽样模式工作条件下的工作周期的定时。
图17(b)展示每一工作周期的各种测定的近似持续时间。
图18展示比较器唤醒电路80的详细示意图。
图19(a)为描绘作为放电电流与温度的函数的预测剩余容量值的查找表的三维图形表示。
图19(b)为描绘作为相对的电池充电状态与温度的函数的自身放电电流量(垂直轴)的查找表的三维图形表示。
图19(c)为展示作为相对充电状态、充电电流与温度的函数的充电效率因子的充电效率查找表的三维图形表示。
图20展示比较6单元电池组在各种放电电流率上计算的电池容量特征的两条电压对时间曲线a与b。
本发明的智能电池是旨在与诸如便携式计算机、便携式电视摄象机或蜂窝式电话等具有系统管理总线与智能充电器的智能主设备或具有能在系统管理总线上接收与发送数据的系统电力管理器的智能主设备一起使用的。
图1中展示了这种系统的代表性实例,其中智能电池10连接在功率平面12上以在该平面上供应与接收电能,以及一条系统管理总线14,它是一条双向的经过修改的IZC数据总线(通信接口),它与有可能是便携式计算机的主设备16通信。主设备16可由智能电池10或系统电源18与传统的AC电源20供电。系统电源或电力管理系统还与智能充电器22通信,后者可用来确定电源送至智能电池的充电速度与持续时间。智能充电器22还与系统管理总线14通信,并可在独立的馈线24上接收表示电池单元温度的温度信号。系统管理总线14(双向的经过修改的IZC数据总线)的详细描述可在Intel/Duracell系统管理总线说明书RevO.95(1994年4月)中找到。
取决于智能电池10中的充电状态并取决于在AC电源20上是否存在电力,系统电力管理系统18可在功率平面12上向/从智能电池10供应或抽取电力。
智能充电器22可周期性地轮询智能电池10的充电特征并调整输出来配合智能电池充电请求。有选择地,并且如果被主设备的用户所选择,智能充电器22能超越智能电池的充电速度请求并在更高或快的充电速度上充电智能电池主设备的用户没有必要改变智能电池的请求。如下面将更详细地说明的,智能电池可周期性地广播所要求的充电电流,或者智能充电器22轮询智能电池的充电电流。主机或充电器不一定遵照智能电池的请求,并能提供比所请求的更大或更小的电量。
主设备16可在系统管理总线14上与智能电池通信并请求来自电池的信息供在系统电力管理方案中使用,借此向主设备的用户提供有关电池的当前状态与能力的信息。主设备16也接收关键性事件的通知,其中包括报警条件、剩余容量低于用户设定的阈值、剩余运行时间低于用户设定的阈值或放电信号的结束。报警条件包括但不限于过度充电、温度过高、剩余充电容量低于预定的或用户设定的容量或者运行时间低于预定的或用户设定的运行时间余量。
如下面更详细地说明的,智能电池能报告出正在从电池抽取的瞬时电流值、在预定的时间间隔上的平均电流值、当前温度与当前电压。
智能电池也可报告出若干电池状态指示,指示电池正在充电还是放电,充电是否完成,或者电池已完全放电。
此外,它能提供计算的值,其中包含在当前电流使用上的剩余运行时间,在平均电流使用上的剩余运行时间,在优化电流使用上的剩余运行时间,及在主设备选择的电流水平(放电速率)上剩余的预测运行时间。
智能电池10还提供一组预定的电池标识参数,其中可包含制造商数据、电池化学、设计容量、设计电压及唯一的设备标识号。预定的电池标识参数对主设备或智能充电器都是可以获得的,以协助它们为智能电池选择最佳用法与充电参数。
智能电池还能推荐理想的充电电流,报告充满电剩下的时间、充满电时能得到的电池容量、以及电池已充电或放电的次数。
本发明的智能电池利用包含嵌入式微处理器及接收来自电池的模拟信号并将它们转换成表示电池电压、电流与温度的数字信号的新颖模数转换器的混合集成芯片(IC)。然后智能电池微处理器按照预定的算法从这些数字信号中计算出时间上的实际充电参数,预定的算法中CAPrem为电池的剩余容量,连续地赋于它新值来反映用于有效充电、放电及自身放电的调整。
测定传送给电池的电量,并用作为电流、温度与相对充电状态的函数的效率因子来调整。应提出剩余容量CAPrem与相对充电状态SOC表示同一事物(剩余电池容量),所不同的是相对充电状态是用最后一次充满电的容量的百分比表示的。充电效率是作为上述变量的函数确定的一个值,并可从查找表中导出(下面相对于图19(c)描述)或者从提供取决于电流、温度与充电状态的充电效率特征的逐步逼近的公式计算出。应理解充电效率因子能从响应式或存储在存储器中的若干不同值的内插中得出。
同样,剩余电池容量CAPrem是在时间上以测定的放电速率递减的。剩余容量的预测模型为当前电流与温度确定预期的CAPrem。这一预测模型也可估计在当前的放电速率上电池电压何时将下降到预定的切断电压。这一剩余容量模型可从公式计算出,或者从包含作为放电电流与温度的函数的剩余容量值的查找表中得出。
最后,通过减去自身放电调整CAPrem。自身放电是作为温度与充电状态的函数计算的,并且不论电池正在放电还是充电,总是从CAPrem中减去它。自身放电可从作为温度与充电状态的函数预测自身放电的相同电池化学的经验模型的查找表中导出,或者可由微处理器计算出。
如下面将要更详细地说明的,由于包含在容量算法中的复位逻辑CAPrem为自我校正的一个学习值。容量算法在四种充电结束(EOC)信号上采取行动,其中包括在充满电电压的负电压斜率、超过预定速率的温度上升、或者在采用了优化充电电流时计算的充电状态等于前面的CAPFC值的100%至150%的值、或者高温极限值。遇到上面四种条件中的前三种时,复位逻辑将CAPrem复位到前面的CAPFC值,设置充满电标志,并信令主设备及充电器中止充电。如果到达高温极限,只调用信号来中止充电。
当充电算法对0.9伏/单元与1.1伏/单元之间且最好是1.02伏/单元的结束放电(EOD)信号作出反应时,便结束其当前放电状态的积分。此时它将CAPrem重新设置到作为放电电流与温度的函数从放电电流的积分中确定的剩余容量的一个新的学习值。
如下面将更详细地说明的,复位逻辑将作为哪一个EOD信号作用在其上的函数复位CAPFC。从而在每一次全放电周期之后,便学习到智能电池的实际容量的一个新的CAPFC值,该值为最后的全积分的电池放电周期的函数。从而本发明的智能电池10能在一个全周期内自我校正CAPFC来重新调整其在各EOC与EOD上的容量,并在单个周期内有效地重新学习满电池容量,即使由于毁灭性存储器故障破坏了所有以前的电池历史资料也一样能做到。因此本发明的智能电池能够精确地预测实际容量,并且对于240maH电池通常能在几分钟内正确地预测到用空的剩余运行时间。
图2(a)中更全面地示出本发明的智能电池10,它是智能电池、一个先进设计的多针连接器、及包含本发明中所使用的混合ASIC32的管脚引出线图的电池模块28的简化方框图。如图2(a)中所示,智能电池10包括多个一般性地用26指示的可再充电单元,它们可以是镍金属氢化物(NiMH)或镍镉(NICad)电池。
作为示例性而不是限制性实例的目的,在下面的描述中,假定具有额定2400maH容量的6个NiMH电池。这样的电池配置特别适用于为便携式计算机供电。
采用适当的先进设计多针电池连接器30将智能电池连接到主设备16或电源18上,如前面对图1描述的。多针连接器30包含连接在第一电池的正接线端上的正电源接线端31,及连接在最后电池的负接线端上的负电源接线端33。多个可再充电电池可串联在其间,如图2(a)中所示。
智能电池模块28包含带有微处理器及多个用于生成表示电池电压、电流与温度的模拟信号的传感器装置。该模块还包括由LED驱动电路53驱动的一系列四个LED34及可由最终用户手动致动以便即使已将电池模块从主设备16上取下时也能确定电池中的充电状态的开关35。LED34可用来以下述逻辑方式表示相对充电状态(SOC)。如果充电状态大于75%(或小于100%)则全部四个LED都发光。如果SOC为50%到75%,则三个LED发光;如果SOC为25%到50%,则两个LED发光;如果SOC为10%到25%,则一个LED发光,而如果SOC小于10%,则一个单一LED闪烁。如上所述,相对SOC为相对于最后一次满容量的剩余容量。
如图2(a)与2(b)中所示,混合ASIC32还包括一个在固定频率上工作的外部晶体36,将它用作电池电流在时间上的积分的时基,并保证在功率重新施加在智能电池10上时经过长期备用时段之后稳定地起动。本发明的智能电池利用两个分开的振荡器,形成在混合IC32内部并用作其中的混合IC与A/D转换器60的工作时钟的一个低功率RC振荡器,以及外部晶体36。如下面更详细地描述的,在各预定的时间间隔之后用外部晶体36来重新起动测定以提供精确的测定值及电池状态的积分,而与可能不利地影响内部振荡器的精度的电池温度无关。外部晶体36的频率值可在10kHz至66kHz的范围内最好在32kHz上,而振荡器48的频率值可在450kHz至460kHz的范围内。
混合IC32包含一个具有先进的RISC体系结构的MIKRON低成本、高性能、CMOS8位微控制器(μp)50。32条指令的精简集及Harvard(哈佛)体系结构方案以最小的功率消耗达到高水平的性能。
混合IC32还包括结合外部模拟传感器使用来生成表示电池电压、电流与温度的数字信号的多个模拟电路,如下面将要说明的。
例如图2(a)中所示,电池电压是从包含R1与R2的分压器电路得到的,R1与R2由混合IC内部的一个NMOS晶体管外部切换,以便在各测定间隔的小部分中提供电压测定值,借此减少电池单元26上的电流消耗。
电池温度的测定是用图2(a)中示出为RNTC1的NTC-热敏电阻完成的,它是电阻值随温度变化的热敏电阻。在VASS(负模拟电源电压)、VTEMP(温度电压输入)与VREFT(混合ASIC32在针VREFT上作用在热敏电阻/电阻串上的基准电压)之间串联一个电阻R3以构成一个分压器电路。按照下述公式在VTEMP上测定温度电压输入:
其中NTC1值在25℃上可为10Kohms且随温度变化。如果愿意,可定义具有多个温度值与多个VTEMP值的查找表来计算电池温度,而在这些值之间,则用IC32中的微处理器线性内插温度。
电池电流的测定值是通过图2(a)中作为RSHUNT示出的分流电阻测定的,它与电池单元与单元组26的负接线端33串联。分流电阻具有较小值,但取决于单元数及电池的预期用途可在1mohm至200mohms之间任何处。在VSHUNT(ASIC32的分流电阻正输入针)与VASS(负模拟电源电压)之间感测跨接分流器的电压降。
如图2(b)中所示,每当获得表示电池电压、电流与温度的模拟信号时,便将它们输入到ASIC多路复用器或开关网络55,后者一次只允许输入一个模拟信号到A/D转换器60供数字转换。
图16中示出A/D转换器60的总示意图。在较佳实施例中,该A/D转换器60为一双极、高分辨率、增量Δ∑转换器并由三部分构成:一个带隙基准电路62,它提供用作A/D的模拟接地的预置模拟电压;一个分压器网64,它将当前电压分成用作A/D的全标度电压的模拟电压;以及一个Δ∑电路66,用于将模拟信号转换成在线69上输出的一个数字字。具有从IC振荡器输入的时钟的A/D控制电路68提供对取决于测定的类型而具有不同的分辨率度的Δ∑转换器的控制。例如,在本发明的一个实施例中,将A/D转换器配置成对电流测定具有13位分辨率及从300至400msec范围内的转换时间,并且配置成对电压与温度测定具有10位分辨率及从30到60msec范围内的转换时间。各工作周期中的电压、电流与温度测定的定时图在图17(a)的工作周期图的定时中示出为58a,如下所述。
在本发明一个实施例中,A/D转换器的分压器电路64将预置的带隙基准电压分成下述全标度电压:用作电池电流测定的全标度电压的一个150mv信号;用作电池组电压测定的全标度电压并取决于电池单元的数目的150mv、250mv或350vm信号;以及用作电池温度测定的全标度电压的150mv。这些值是示例性的并可随电池设计变化。
多管脚连接器30包含两个针用作系统管理总线接口75,它们包含一条串行时钟I/O线38及一条双向串行数据I/O线40。这些线分别连接在混合IC32的SMBCLK与SMBDDATA针上。如上面一般性说明的以及下面更详细说明的,智能电池模块28在系统管理总线与数据线40上与主设备16及智能充电器22通信,以通知所存储的电池参数及所计算的电池参数。
智能电池10还包括一个独立的热敏电阻RNTC2,它跨接多管脚接线器30的负接线端与温度或热敏电阻线42。智能充电器22可独立使用热敏电阻RNTC2以类似于前面对RNTC1描述的方式来确定电池温度。
从多个可再充电电池单元44得到正的数字电源电压,并通过针VDD将其作为芯片的正电源电压供给混合IC。应理解混合IC的电源电压不一定必须在电池中点46上获得,但为了接收大约3至4.8伏的电压,即三个单元的等值电压而必须在来自电池单元的一点上获得。如下面将更详细地说明的,为正电压供应采用电池中点,能使混合IC即使在电池偶然短路及从接线端31-33消除时也能保持受到供电,并使A/D转换器60能判定电池正在放电还是充电,如下面将更详细地说明的。图2(a)中虽未示出,与电池组单元串联设置了适当的熔丝件(未示出)及正的温度系数(PTC)件(未示出)来防止电池由跨接电池接线端的临时短路或其它热事件导致的极高电流及过度高温。
如图2(b)中所示,混合IC32还包含能存储高达128个用于计算的电池参数的通信的8位字的RAM存储器65,及用于存储在电池容量计算算法(下面详细说明)中利用的查找表值的ROM存储器67。RAM、ROM与程序ROM存储器的实际量为一种设计选择,并且这些值随计算的与预置的参数之间的比例的变化而改变。
如图2(a)中所示,加上作为缓冲器I作的电容器C4以便在电池短路或临时电源丢失时保持RAM存储器内容的完整性。最好将电容器C4连接在负模拟电源接线端上,并将其值选择为保证将电源电压提供给嵌入的存储器(RAM)一段取决于RAM漏电流的时间。在较佳实施例中,如果感测到短路条件便解锁对RAM存储器的电力,并且电容器C4的值为330μF,它将源电压提供给RAM一段使PTC元件(未示出)跃升到高电阻值所必需的时间。当跨接电池组接线端的短路产生高电路消耗时,PTC元件将在电池接线端之间产生高阻抗。
混合IC32还包括多达4K字节的附加ROM存储器70,用于存储各种算法、子例程、制造商数据及智能电池模块用于计算电池容量的数据常数、诸如报警与电池充电器控制命令等发送的信息以及处理来自外部装置的信息请求。下面将更详细地说明用于完成这些功能的各种算法。
如图3中所示,电池操作系统10’将首先执行初始化例程100,它是在系统起动时接通电源信号/复位脉冲信号11起动的,或者在微处理器判定它应退出备用模式时生成的从备用醒来信号13起动的。如图2(b)中所示,ASIC32设置有一个接通电源复位电路85,它在每次将电源电压作用在ASIC上时生成一个复位脉冲信号11。取决于电路(未示出)中所用的晶体管的类型,这一电路的阈值在1.2V与1.6V之间。
收到接通电源/复位信号11之后,或者退出备用模式之后,该系统处于睡眠模式23(图3)直到它被每500msec提供用于系统操作(容量计算)的触发信号的外部振荡器所生成的触发信号17所触发,或者被下面要进一步详细说明的总线请求信号15唤醒为止。在电池的“睡眠”模式中,微处理器在空闲状态中直到收到操作周期触发信号17或外部总线请求信号15为止。
算法变量的初始化
为了防止下面所述的容量计算中的事故,强制要求变量不得具有未定义的值。这在丢失了所有RAM存储器的事件中使算法在毁灭性紧急模式中工作。在重新格式化电池系统时,例如在电池服务站上用原始制造商的数据,关键性变量的省缺值可用正确值为替代。
在图4中所示的初始化例程100中,清除所有存储在系统RAM中的值及赋予所有系统省缺值。最好许多省缺值为常数值并且是在丢失所有RAM存储器的紧急情况中所必需的。
如图4中所示,初始化例程的步骤104寻找已在制造时烧入系统的值。变量“检验和”为来自标定参数cf_curr、cf_temp、co_curr、co_temp(下面说明)及显示器种类(ROD)的字节和。它是在制造时写入电池存储器并在将标定数据送至电池时计算的。首先将这一“检验和”值与值零比较,如图4中步骤102所示。如果它等于零,则清除存储在RAM中的关键性参数的省缺值并赋予新值,如步骤108所示。
在芯片的接通电源复位以及在来自备用模式的唤醒时(下面说明),在初始存储器地址上起动程序。在步骤104计算将三个电流标定因子与单元数相加的变量“检验”并在步骤106与初始寄存器“检验和”值比较。如果尚未清除“检验和”,即非零(步骤102)并判定为等于计算出的“检验”值,则假定RAM存储器是有效的并且将不激活紧急模式(它采用ROM省缺值)并继续进行容量计算而不复位相对充电状态“SOC”值(下面说明)或充满电容量“full_cap”值(下面说明)。这一事例的正常实例是当芯片在低电池电压上切换到备用模式然后在要重新充电电池时切换回接通模式时。
在步骤106,如果检验和测试是否定的,即“检验和”值不等于计算的“检验”值,微处理器(μP)将首先完全清除所有RAM存储体,如步骤108所示。其结果为清除了一个内部生成的标定标志及必须学习电池组中的单元数,下面要更详细地说明的过程。接着将下述省缺值从ROM传送到RAM,如图4中步骤110所示。包含在步骤110中的将是充满电容量“full_cap”、相对充电状态“SOC”及剩余容量“Itf”值以及状态与其它变量的初始化以保证容量计算的正确起动。然后,程序复位诸如计算电压、温度与自身放电定时器等所有系统定时器。然后程序在步骤114上退出初始化例程,并在外部32KHz晶体36每500msec发送的各触发信号17上起动容量计算。从而在初始化例程中,所有上述步骤是在系统的初次起动或在备用模式中丢失了存储器的电源接通复位之后执行的。
如上所述,为了保证在接通电源/复位时能执行可再充电电池容量计算(下面说明),省缺值是必要的。下面列出容量计算算法151使用的关键性参数的最佳标称省缺值:
设计容量(理论或标称容量,此后称作“nom_cap”)应在范围500至10,000mAh内,Nom_cap可在范围1700mAh至2400mAh内,但经过存储器丢失之后容量计算算法将其定在2000mAh的较佳省缺值上并从该水平上重新学习新容量;可再充电电池组中的电池单元数的省缺值为6个单元,然而这一值可根据电池组的实际配置改变;N_DT_T与N_DT_U值表示用在容量计算算法中的温度与电压改变之间计数的程序操作周期数。用于dT/dt(温度斜率)检测的时间间隔N_DT_T(下面说明)的省缺值定为2osec,但这一值可在10至50see的范围内。用于dU/dt(电压斜率)检测的时间间隔N_DT_U(下面说明)的省缺值定为120sec,但这一值可在100至400sec的范围内。还规定了cf_curr与cf_temp的省缺值,这些值分别规定电流与温度查找表的标定因子。co_curr为用于电流标定的省缺偏移值而co_temp则为用于温度测定的省缺偏移值。这些值可根据特定的电池设计改变。AL_REM_CAP值表示剩余容量报警触发值并可在50mAh至500mAh的范围内。最好AL_REM_CAP具有省缺值(AL_REM_CAP DEF)200mAh。当剩余容量低于此值时(不计入由电流与温度引起的EDV(即残留容量校正)后的剩余容量)便存在报警条件。AL_REM_TIME值表示在当前放电速率上的估计剩余时间并可在1.0分钟至20分钟的范围内。最好AL_REM_TIME具有10分钟的省缺值(AL_REM_TIME_DEF)。在根据每分钟平均电流(下面讨论)计算的到电压故障(EDV)的剩余时间低于AL_REM_TIME的值时便存在报警条件,并且当电池是在充电模式中时将自动停用它。AL_DTEMP值表示dT/dt报警触发条件并可在1°K/min至5°K/min的范围内。最好AL_DTEMP具有省缺值(AL_DTEMP_DEF)2°K/分。当电池检测到其内部升温速率(dT/dt)大于AL_DTEMP值时便存在这一报警条件。AL_HI_TEMP值表示高温报警触发并可在310°K至345°K的范围内。最好AL_HI_TEMP具有省缺值(AL_HI_TEMP_DEF)328°K。此外,当由接通电源复位起动容量计算时,充满电容量(“full_cap”表示电池的学习的充满电容量)将被初始化成设计容量(nom_cap);剩余容量(“Itf”)到1/8full_cap;以及相对充电状态(“soc”)到12.5%及电池状态到容量下降,更具体地到自身放电模式。将报警定时器N_ALARM设定在10秒上,这便是在主与/或电池充电器之间广播报警条件的时间量,如下面将进一步详细说明的。应理解这些值是旨在用在便携式计算机中的NiMH电池的典型值。其它种类的电池化学,或便携式设备可调用不同的省缺值组。
在步骤100初始化系统之后,电池将进入睡眠模式23,它将在总线请求信号15时醒来或者在每500msec的外部晶体触发信号17时醒来。如果如步骤21判定那样由总线请求信号15唤醒电池,则电池用步骤25指示的处理请求例程处理请求,此后它将退出到睡眠模式中。下面进一步详细说明处理请求25的例程。
如果系统被正常的外部晶体触发信号17触发而无总线请求,则程序禁止总线请求(触发信号之前37msec)并启动A/D转换器在当前操作周期中开始电流、电压与温度测定,如图3中步骤130所示。这时在步骤139检验“取值”状态标志来判定是否要执行原始电流、电压与温度测定值的A/D转换。当这一标志设定为高时(逻辑电平=1),则在当前触发周期中取得可再充电电池的原始电流、电压与温度值,如步骤140所示。这些原始A/D电流、电压与温度值是内筑在寄存器61中的,如图2(b)中所示,供随后作为I、U或T存储在RAM中。如果“取值”标志为低(逻辑电平=0),则不在当前周期中取得原始电流、电压与温度测定值,而在步骤148将取值标志触发成高(逻辑1)并且进程如图3中所示继续进行。
获得新的电流、电压与温度值之后(步骤140),在步骤141将A/D测定就绪标志设定为高(逻辑电平=1),并在步骤142进行检验来判定系统是否在抽样模式中。这样,在步骤142,如果判定原始电流的绝对值|1|低于阀值10mA,则取决于抽样模式标志的状态而电池系统将在半功率或半抽样率上工作。从而,在图3中步骤142上,作出判定抽样模式标志是否为低(即逻辑0)还是高(逻辑1)。如果抽样模式标志为低,则在步骤144将抽样模式标志触发到高电平,并将系统置于抽样模式中而进程进入步骤149启动A/D转换。如果抽样模式标志已经是高(从前一周期),则在步骤146将“取值”标志设置成等于零,并在步骤147禁止A/D转换器。将不发生A/D转换(为了节省功率)而算法进行到容量计算(步骤151)。在抽样模式中永远将“取值”标志设置为低。这一标志的状态保证跳过A/D转换,作为后果,步骤151的容量计算将得不到有效数据。
如果在步骤142判定原始电流|I|在10mA阀值以上,则在步骤145电池系统退出抽样模式(并将抽样模式标志设置在逻辑0上),而在步骤149执行原始电流、电压与温度值的A/D转换。在步骤150,判定A/D测定就绪标志是否已经是高(逻辑1),表示已收到有效的原始电池参数数据。如果它设定为高,则将执行容量计算及伴随的电池特征转换(电压、电流与温度)。如果A/D测定就绪标志为低(逻辑0),则在当前周期中不执行容量计算而进程进行到步骤158,起动用于信息传递的总线请求线并在步骤23将混合IC置于睡眠模式中。振荡器触发器17连续地每500msec唤醒算法,然而当电流小于10mA时,A/D转换及容量计算只是每隔一个周期进行一次。
图17(a)示出在正常模式操作条件57a下的操作周期与系统在下面说明的抽样模式条件57b下操作相比的定时。如图17(a)中所示及如上所述,32kHz外部晶体每500msec发出触发信号17来起动原始电压、电流与温度测定,指示为58(a)。同时起动的还有利用前一操作周期的电流、电压与温度测定值的容量计算。如上所述,当判定所得到的原始电流值低于阀值10mA时,电池系统将在半功率上操作,而在下一个500msec操作周期中不进行测定,如图17(a)中58b所示。然而在一秒钟以后的下一操作周期上进行测定,如58c所示。当判定所得到的原始电流值在阀值10mA以上时,则电池系统将恢复正常模式操作并在下一个及以后的操作周期中进行容量计算与伴随的电池特征测定(电压、电流与温度)。图17(b)示出各种测定的近似持续时间。作为设计的选择事物,为各操作周期大约执行71msec容量计算160。此后,将执行报警控制子例程152大约29msec持续时间及执行充电器控制子例程154大约2msec的持续时间,如果电池确定要执行这些操作的话(见图3)。如果用户要求,可执行LED显示例程156,LED显示控制功能将占用大约23msec,如图17(b)中所示,应理解,各种例程的上述执行时间可由于内部455KHZ振荡的随温度变化的精度而有所变化。各报警控制子例程152、充电器控制子例程154及LED显示子例程156将在下面进一步详细说明。由于在容量计算、报警控制、充电器控制及LED显示例程期间系统管理总线请求线是不活跃的,微处理器在为各操作周期在图17(a)中指示为持续时间158中将不能接收来自主设备或电池充电器的请求。因此,在各操作周期中已经执行了容量计算之后,便在500ms周期的剩余时间中起动系统管理总线请求线,如图17(b)中所示,以便它可以响应来自主设备或充电器的请求。同时电池将自己置于睡眠模式20中,在其中它将在下一周期中收到系统触发信号17时被唤醒,或者被图3中所示的总线请求信号15所唤醒。对于各操作周期的剩余37msec,在下一个触发信号17之前在所示的持续时间158中再次禁止总线请求。应指出,各系统触发信号17起动生成用于控制混合IC、微处理器、A/D转换器等的455kHz信号的内部时钟48的起动。
计算电池容量的算法
容量计算的目的为按照下述式(1)指定的公式连续地监视可再充电电池的容量:
CAPrem:=CAPrem+∑εclcΔtc-∑IdΔtd-∑IsΔts (1)
其中CAPrem以下称作“Itf”并表示在任何给定的时间上以mAh(毫安小时)表示的电池中的剩余容量;∑εclcΔtc项表示在电池正在充电时容量的增加量之和,并计入最好从查找表值得到的充电效率因子εc 下面要对图19(c)进一步详细说明),作为替代也可从响应式或通过在存储在存储器中的若干点之间内插得出;∑IdΔtd项表示由于与电池的使用相关的放电的电池容量的连续下降之和;以及∑IsΔts项表示根据与电池的化学相关的自身放电效应的预测的与可测定的自身放电量,并且是电池充电状态与温度的函数。通过在所有时间上知道剩余容量Itf,便有可能提供主计算机(PC)或智能电池充电器可用来保证安全与可靠的电池使用及保证延长电池寿命的电池参数信息。
图6(a)至6(b)示出在各触发周期上为可再充电电池组执行的容量计算例程。如上面简要说明的,操作周期的时段为500ms并在每一周期中起动容量计算。如图17(a)中所示,每一周期占用大约58ms来执行计算。除外在每秒取一次测定值的“抽样”模式中,电流、电压与温度测定是并行进行的。抽样模式是设计成节省功耗的(即电池在半功率上工作)并且是由检测到的电流量控制接通与断开的。例如,在电流降到10mA以下时,便起动“抽样”模式而进行较低频率的测定。
通常每一周期测定与更新温度、电压与电流一次。电流是用积分法(下面详细说明)测定的,它识别转换时间中的变化。一取自SMBus请求及容量计算的所有输出值都延迟一个周期。A/D测定是由标称455kHz上的芯片上振荡器控制的,而操作周期(负责积分时间)则由精确的32kHz振荡器控制。芯片上振荡器的低精度绝对频率值对测定精度没有影响。
如图6(a)中所示,容量计算的第一步,步骤200,执行IUT计算例程200首先将来自寄存器61(图2(b))的原始模拟/数字转换器输出数据转换成具有对容量计算算法有用的适当单位的值。图5(a)中,在步骤205上定标原始A/D电流测定值I_raw并将其转换成以毫安为单位的实际电流值“I”。在步骤210,定标原始A/D组电压测定值U_raw并将其转换成以毫伏为单位的实际电池组电压值“U”。随即,如步骤212所示,微处理器(μp)检验电池组电压来判定电池组中任何单个单元是否具有低于0.9伏的输出电压。如果检测到一个单元输出低于0.9伏的电压,则将电池组置于备用模式中,如步骤214所示。当电池状态在接通与备用模式之间变化时采取下述行动:μp进行切断A/D转换器及455kHz振荡器并设置一位标志来通知硬件起动专用的电压控制逻辑及将自己设定为睡眠模式。当图2(b)中所示的控制逻辑唤醒比较器电路80检测到ASIC的VDD已增加到3.33V以上(对于三个单元的电池组,1.11V/单元),μp将醒来,起动A/D转换器再取测定值,并以取决于来自上述检验和测试的初始化继续进行容量计算。
如图2(b)中所示,在电池已进入备用模式时激活唤醒比较器电路80。如前面所述,当在备用模式中时,关掉μP50、A/D转换器60及455kHz芯片上振荡器48以节省电流。只有30kHz振荡器正在运行以便向比较器76给出500msec的抽样周期,该比较器将正的电源电压VDD与A/D带隙基准电压1.25V比较。当ASIC32的VDD增加到超过3.33V时(对于三个单元的电池组,1.11V/单元),比较器76便接通μP50、A/D转换器60及455kHz芯片上振荡器48。比较器电路80的详细示意图示出在图18中。如图18中所示,唤醒比较器电路80包括具有连接在VDDASIC电源及接地的电阻器R4与R5以提供一个组电压信号82给比较器的第一输入端的分压器。将组电压信号82与预定的带隙基准电压信号83比较,电压信号83的值可根据电池组的设计改变。对于三个单元的电池组,该带隙基准电压83为1.25伏。当VDDASIC功率低时,比较器输出信号为高。当VDD上升到基准电压83以上时,唤醒信号13变低,从而起动正常系统操作。在睡眠模式中,比较器是由起动线15a起动的,此外,将比较器76的功率输入连接在低电流消耗MNOS晶体管90上以启动连续的比较器电路感测而无可觉察的电流损失。
只要检测到单元输出大于0.9伏的电压,容量计算继续进行,并在步骤215上将原始A/D组温度测定值T_raw转换成以开氏度为单位的实际电池组温度。在步骤220,在制造商提供的查找表(未示出)的帮助下进一步定标这一温度值以计入热敏电阻的定标值,而得出最终的当前温度值“T”。在步骤222,检验电池条件以判定是否存在超温度条件,即是否T≥AL_HI_TEMP。超温度条件存在于温度328°K或更高,并且在检测到时便设置温度报警条件标志HI_TEMP_ALARM,如步骤224所示。随后在步骤227,检验电池组的状态来判定是否容量正在增加。如果容量正在增加且超温度条件存在(HI_TEMP_ALARM设置),便在步骤228设置TERMINATE_CHARGE_ALARM标志。这一标志表示一个或多个电池的充电参数超出范围而将在特定的参数落回到允许范围内时重新设定。如果在步骤222判定不存在超温度条件则在步骤226清除温度报警条件标志HI_TEMP_ALARM,如图5(a)中所示,并在步骤230进程继续进行。无论是否存在超温度报警条件,都在步骤230进行判定当前定标的温度值T是否大于最大温度值“Tmax”,表示到达了该特定电池的最高温度。如果当前温度值是电池生命中达到的最高值,则在步骤235赋予变量Tmax当前定标的温度值并将这一数据存储在RAM中,以后在电池到达其有用寿命终点时为质量控制目的的返回电池时供制造商使用。
在这一点上应指出,当在连续的测定之间取得的电压或温度的改变率是在一定梯度上时,可能存在充电结束条件(如果容量正在增加)。从而如图5(b)中所示,步骤240至249,执行温度改变计算,及在步骤250至255,执行电压改变计算。
如步骤240所示,减小用在温度变化dT/dt计算中的定时器(循环定时器)。最好用于温度变化计算的定时器每20秒超时,这是进行温度变化(dT)计算的频率。这一值是由设计选定的,并可在10秒至120秒范围内任何地方。从而如步骤242所示,进行判定dT定时器是否超时,即是否过去了20秒。如果否,程序进行到步骤250的电压变化dV计算。如果定时器已超时,则如步骤245所示,进行温度变化dT计算,它是当前温度值T与20秒以前确定的前一温度值之间的差。包含在这一步骤中的还有重新赋予下一个老T值为当前T值。最后重新设置20秒dT定时器。执行过dT计算之后,作出判定内部温度变化量是否超过允许速率,即是否存在AL_DTEMP报警条件,如图5(b)中步骤247所示。大约2°K/分钟或更大的温度变化表示AL_DTEMP报警条件,并且在检测到时,便设置报警条件标志DTEMP_ALARM,如步骤249所示。如果内部温度变化量不超过允许速率,便清除温度变化报警条件标志DTEMP_ALARM,如步骤248所示。无论如何,进程都在图5(b)中步骤250继续进行。
如步骤250所示,用于电压变化dU/dt计算的定时器(循环计数器)是递减的。最好用于电压变化计算的定时器每255秒超时,这便是进行电压变化(dU)计算的频率。从而如步骤252所示,进行判定dU定时器是否超时,即是否过去了255秒。如果否,程序进行到步骤260去判定是否已到达放电结束电压条件。如果定时器已超时,则如步骤255所示,进行电压变化dU计算,它是当前电压值U与255秒钟前确定的前一电压值之间的差。包含在步骤255中的还有重新赋予下一个U的老值当前的值。最后重新设置255秒dU定时器。执行了dU计算之后,在步骤260作出判定容量是否增加,及当前电压U是否低于指示存在放电结束条件EOD_U的放电结束电压(EDV)极限(通常0.9V/单元)。从而将当前电压值U与预置的放电结束电压(Uempty)比较以判定它是否小于这一电压。如果存在电压的放电结束条件,则在步骤262设置EOD_U标志,及设置指示电池已无损坏地供给了它所能供给的全部电能的Terminate_Discharge_Alarm(终止放电报警)标志。如果不存在放电结束条件,则步骤264清除EOD_U标志与Terminate_Discharge_Alarm标志。此外,在步骤264,禁止容量复位标志。然后退出IUT计算过程200而容量计算在图6(a)中步骤165继续进行。
在容量计算例程151的步骤165,利用最新的前面电流(I)测定值执行滚动分钟平均电流计算。然后在图6(a)的步骤170,作出判定当前电流(I)值是否小于等于自身放电电流I_SELFD,在较佳实施例中它是3.0毫安,但可在2.0ma至10.0ma范围内任何地方并表示用于模式与电池状态识别的极限。如果当前电流(I)值小于或等于自身放电电流,则判定电池的状态为无外部消耗的容量减少。结果在步骤175设置自身放电标志位。如果当前电流(I)值大于自身放电电流(3.0mA),则在步骤172清除电池自身放电标志位。然而即使总是计算出电池自身放电电流,电池仍可在容量增加或容量减少状态中,以及在图6(a)中步骤178建立电流方向来判定电池的当前状态。如果判定电流(I)为正值,则电池状态为容量增加(以后称CI)而在步骤180设置容量增加标志。如果判定电流为负值,则电池的状态为容量减少(此后称CD)而在步骤182设置容量减少标志。如果判定容量减少,则在步骤184判定是否已设置了放电结束电压(加滞后)EOD_UH标志。如果在步骤184已设置了表示已到达电池组放电结束电压的EOD_UH标志,或者如果已设置了电池自身放电标志(在步骤175判定),或者如果容量正在增加,则在步骤189作出判定是否已设置了容量重新设置标志。如果已经设置,则在步骤190将EOD电压条件上的剩余容量(Itf)复位到从图19(a)中描绘的查找表中得到的预测残留容量“pd”值。此外,在步骤190,将误差寄存器复位到零并清除容量复位标志。然后程序进行到自身放电计算与电流积分过程。如果在步骤184已判定尚未设置EOD_UH标志,或者如果在步骤189判定尚未设置容量复位标志,则进程进行到图6(b)中步骤192。
在图6(b)的步骤192,判定电池状态是否已改变,即电池是否已从容量增加(CI)状态改变到容量减少(CD)状态,或者反过来。为了防止虚假的电池周期计数(下面要详细说明)或由于电流脉冲符号改变或电流流动中断引起的不精确的充满电容量,为CI与CD之间的状态改变建立一个时间常数。以这一方法,持续时间低于时间常数MC_CONST(一秒数量级)的电流峰不会改变电池状态。为了防止一情况,在步骤194实现定时滤波器以便以定时方式进行测定。如果未检测到状态改变,在步骤194a重新设定定时滤波器定时器。如图6(b)的步骤195所示,用于自身放电计算的定时器是递减的。最好用于自身放电计算的定时器每128秒超时,这便是进行自身放电计算的频率。从而如步骤196所示,作出判定自身放电定时器是否已超时,即是否过去了128秒。如果否,程序进行到步骤401去执行电流积分过程400,如图6(d)至6(g)中所详细示出及下面进一步详细说明的。如果定时器已超时,则如步骤300所示,执行自身放电计算过程,如下面详细说明的。在执行了自身放电计算过程之后,将自身放电计算定时器重新设置到128秒,如图6(b)中步骤197所示。自身放电计算例程。
自身放电计算例程
由于电池的电化学性质,所有时间都必须计算剩余容量的自身放电校正,而与任何充电或放电电流的存在无关。这是因为无论电池正在充电或放电永远存在着自身放电电流消耗,且电流消耗量为电池电量与温度的函数。从而,如图6(c)中步骤305所示,作为相对充电状态“SOC”与当前温度T的函数的自身放电率“S”是通过查找表访问的,如图19(b)中所示,其中示出了作为电池相对充电状态与温度的函数的自身放电电流(垂直轴)的三维图形表示。自身放电的这些查找因子“S”给出由设计(标称)容量定标的预测自身放电率,并且如图19(b)中所示,自身放电电流量随温度升高及电池充电状态水平升高而升高。例如,在大约65℃及95%相对充电状态上,电池自身放电电流每天可总计达到全部电池容量的30%的量。自身放电量值是经验导出的,并将取决于电池化学及电池结构而变化。
在步骤310,作出判定电池的状态是容量增加还是容量减少。如果如步骤315所示电池正在放电状态中,则从计算上一个状态改变并将其存储在独立的寄存器中起,总容量减少(电流消耗)。如果容量正在增加,则将程序引导到步骤320,在其中为误差计算计入自身放电率的影响。步骤320也在从步骤315计算了上一状态改变起总容量减少(电流消耗)之后执行。然后,在步骤325,从实际容量积分“Itf”中减去自身放电率“S”,从而,提供上述式(1)中的∑IsΔts。此后,自身放电过程结束而执行电流积分例程400(图6(b))。
电池电量积分例程
当电池正在充电时,它称作在容量增加状态(CI)中,否则它在容量减少状态(CD)中,CD中包含电池的备用模式,这时没有电流流经电池电极。在备用状态中只有自身放电率减少容量。
在充电与放电状态期间都将精确地积分电池电流。容量积分本身是与电池状态无关的。如下面将说明的,查找表(LUT)提供调节因子以便能进行更精确的容量调节。上述第一LUT包括依赖于电池的相对充电状态、C_rate(电流)与温度的电流效率因子;第二LUT包括依赖于相对充电状态及温度的自身放电速率;以及第三LUT带有依赖于放电电流速率及温度的残留容量校正值,这些校正值给出电池到达放电结束电压条件之后的衰减条件下能从电池抽取的全容量的百分率。
图6(d)与6(e)中示出电流积分进程的流程图。如图6(d)中所示,电流积分进程的第一步为判定相对充电状态(SOC)的数量级。SOC定义为表示成充满电容量(即充满电时的电池容量)的百分比的实际容量,并用来估计剩余在电池中的电量。从而如步骤405所示,作出判定剩余容量是否大于零。如果剩余容量Itf为负数,则全容量是不正确的而必须学习并将SOC值箝位到零(如图6(d)中步骤412所示)。否则,在步骤410进行SOC计算。实际逻辑是如下所示在步骤410实现的:
if (Itf>0)
SOC:=(X-Itf)/full_cap
else
SOC:=0
其中“X”为定标因子并且在较佳实施例中最好等于128。如上所述,在学习到电池的充满电容量以前,充满电容量是初始化成设计(标称)容量的。
随后如图6(d)中步骤415所示,计算C_rate。C-rate定义为一个小时中消耗的能源并以小时的例数为单位测定。步骤415中的C-rate计算是根据实际电流值(I)与当前充满电容量值并且是另外定标的。然后在步骤418作出判定电池是在容量增加还是容量减少(放电)状态中。如果容量正在增加,则电池正在充电而充电计算必须计入充电效率因子,使充电效率因子能被微处理器访问,如图19(c)中所示。从而在步骤420访问依赖于当前相对充电状态(SOC)、C-rate及温度的充电效率因子。例如,如图19(c)中所示,当将电池充电到大约95%满容量时,并且正在0.1的C-rate45℃的温度上充电,发现充电效率因子εc为大约0.8。充电效率因子是根据经验推导的并将随电池化学与电池结构变化。图19(c)中所示的图是用于电池充电状态95%,并从中看出充电效率值将可观地取决于(剩余容量)充电状态而变化。
最后,在步骤435计算计入实际电流与充电效率因子的当前时间间隔中的电量增加,以构成式(1)中的项∑εclcΔtc。这一值将用于增量步骤445上的积分,如下面将说明的。
如果在步骤418判定容量正在减少,则为当前放电周期积分放电量,如图6(d)中步骤422所示。随后在步骤425判定是否已经在前面设置了(图6(a)步骤175)指示电池放电电流小于3mA的自身放电标志及只需要考虑自身放电过程。如果尚未设置自身放电标志位,则在步骤440进行充电计算来增加积分。在步骤445完成最终积分,在其中将步骤435或440计算的充电增量加在剩余容量Itf上,如式(1)中所示。此外,在步骤445,为误差计算积分电量,同时计算运行中的误差总计。
如果在步骤425判定设置了(步骤175)自身放电标志,则电池在自身放电模式中(图6(a)步骤175)而无任何外部消耗,并计算残留容量,如步骤451所示。详细的残留容量计算子例程450示出在图6(e)中,这一例程的第一步为判定残留电池容量值。在步骤453由微处理器从描绘在图19(a)中的查找表中访问依赖于电流的C_rate与温度的这一值。例如如图19(a)中所示,在-20℃的温度及两倍C_rate的电流消耗(2C)上,已由经验推导出在到达放电结束电压时将剩余大约95%的满电池容量。当在大约23℃的温度上施加轻负荷(诸如C/10放电率)时,在到达放电结束电压时,实际上不剩余残留容量。
在步骤455,作出判定C_rate是否大于高放电阀值率(最好为—mAh)及是否已设置了放电结束标志(见图5(b)步骤262)。如果否,则执行步骤440与445的容量计算,如上所述。如果当前放电率高于高放电阀值率,则禁止所有容量重新设置,如图6(e)中步骤456所示,并且积分过程在图6(d)步骤440继续进行。
在电池的工作状态中,必须分别观察电池容量是正在增加(CI)还是减少(CD)、充电结束条件(EOC)及放电结束(EOD)条件。为此,通过作出判定电池是在容量增加还是容量减少(静止或放电)状态而继续进行图6(a)与(b)中所示的容量计算例程,如图6(b)中步骤198所示。如果容量正在增加,则例程判定是否满足结束条件CI,如步骤500所示。如果容量正在减少,则例程判定是否满足结束条件CD,如步骤600所示。
容量增加结束条件的观察例程
混合IC的微处理器用三种方法之一计算充电结束:负电压斜率大于充满电电压上的10mV/单元/分钟+/-5mV/单元/分钟;超过0.9°/分钟+/-0.2°/分钟的ΔT/Δt;或者最好是120%充满电容量的计算电量(但可在100%至150%的CAPFC范围内)。用于判定是否已满足EOC触发条件之一的例程示出在图7(a)-7(b)的流程图中。
如果判定容量正在增加,则图7(a)中所示的EOC(CI状态)观察进程500的第一步骤为判定电池的相对充电状态(SOC)值是否大于20%电池的充满电容量值。如果电池已达到这一容量水平,则在步骤507清除放完电状态标志。如下面要说明的,放完电状态标志是在判定电池已能无损坏地供给了所有电量时设置的。在电池达到这一容量水平之前,放完电状态将保持设置。随后如步骤510所示,执行第一EOC触发检测方法。第一种方法为判定是否满足dT/dt触发启动条件,以及温度增量dT的斜率是否大于或等于表示EOC条件的阀值极限。在较佳实施例中,每当相对充电状态(SOC)在50%阀值极限以上时满足dT/dt触发启动条件,以及在温度增量的斜率大于大约0.9℃/分钟的阀值时便检测到充电结束条件。应指出当检测到温度斜率在0.5℃/分钟至12℃/分钟的范围内时它可触发EOC。如果这些条件不满足,则在步骤540执行检测EOC条件的第二种方法,即检测电压改变的斜率dU/dt是否为负,其中dU/dt才必须具有最小量且充电电流率(C_rate)必须大于一定值,如下面进一步详细说明的。如果dT/dt触发启动条件已满足且温度增量dT的斜率大于或等于EOC阀值极限,则在步骤512作出判定是否已设置了EOC标志。在尚未设置EOC标志时,则必须学习电池组中的单元数,下面要描述的作为图7(b)中的元素700的一个进程。无论在步骤700是否学习了电池组中的单元数(下面说明),然后都执行步骤570,在其中:a)设置EOC状态标志;b)将剩余容量设定为等于充满电容量的95%;c)清除误差寄存器;d)清除不确定性计算的溢出标志;以及e)设置表示电池已到达充电结束点的充满电状态标志。最后,算法进行到图7(c)中所示的步骤575,在其中设置结束充电报警标志。
如果dT/dt触发启动条件已满足,温度增量dT的斜率大于或等于EOC阀值极限且已设置了EOC标志(步骤512),则在步骤514作出判定剩余容量(Itf)是否大于或等于充满电容量。如果满足这一条件,则将剩余容量设定为充满电容量,如步骤520所示。此外,在步骤520,清除误差寄存器及清除用于不确定性计算的溢出标志。如果剩余容量(Itf)不大于或等于充满电容量(步骤514),则算法进行到图7(c)中所示的步骤575,在其中设置结束充电报警标志。在较佳实施例中,在电池检测到EOC在任何EOC触发条件或存在超温度条件时,即如果T≥AL_HI_TEMP,必须设置结束充电报警标志(图5(a)步骤228)。如上所述,结束充电报警标志可能已由95%满触发设置,这是在步骤510满足第一温度斜率触发条件时起动的。
在步骤520将剩余容量设定为充满电容量之后,算法在步骤530进行到判定电池充电器是否仍然接通。这是通过检验在充电积分进程中获得正电量增加完成的(见图6(d)步骤435)。如果充电器仍然接通,便知道充电器继续过度充电电池,而算法必须监视电池过度充电的量。从而在图7(a)中步骤532上,通过将电量增量加在过度充电寄存器(未示出)上而计算过度充电的总量。应指出过度充电寄存器从不复位,因此保持自系统起动以来的过度充电总量。无论电池充电器是否仍然接通,算法都进行到步骤535,在其中设置指示电池正在被超过EOC指示充电的过度充电报警状态标志。最后,算法进行到图7(c)中所示的步骤575,在其中设置结束充电报警标志。
如上面相对于步骤510所指出的,如果尚未满足dT/dt触发启动条件或温度增量dT的斜率不大于或等于EOC阀值极限时,则便在图7(c)中所示步骤540执行第二种检测EOC条件方法。在步骤540,作出下述判定:a)充电是否恒定电流,即电流值与一分钟平均电流值之间的差是否很好地小于50毫安;b)dU/dt电压变化是否为负及大于最好为mV/m的阀值量;以及c)充电电流是否大于预定的比率,最好是C/10的比率。如果第二种方法的EOC触发条件中任一个不满足,则在步骤545执行检测EOC条件的第三种方法,即检测相对充电状态(SOC)是否在120%以上且电流比率在C/50与C/5之间。应指出当相对充电状态(SOC)在100%至160%的范围内检测到时,也可触发EOC条件。如果满足了所有第二种方法EOC触发条件或者满足了所有第三种方法EOC触发条件,则在图7(c)中步骤550作出判定是否已设置了EOC标志。如果满足了第二种方法EOC触发条件或第三种方法EOC触发条件且已设置了EOC标志(步骤550),则在步骤555设置指示电池已到达充电结束点的充满电状态标志。出后通过箝位剩余容量值到上述充满电容量值上而进程进行到图7(a)步骤520。如果尚未设置EOC标志,则可能有必要学习单元的数目,表示为下面要描述的元素700的进程。在完成了学习电池中的单元数的进程时,则在步骤551设定EOC状态标志,并在步骤555设置指示电池已到达充电结束点的充满电状态标志,而算法在上述步骤520继续进行。如果所有三种EOC触发条件都不满足,则退出EOC检测过程500并继续进行容量计算(图6(b))。
另一方面,在判定电池容量正在增加时,dU>DU_MIN,其中DU_MIN为一个等于电池组单元数乘以10mV的预定的值,判定电流为常量且充电率高于0.3C时,则将到达-dU触发条件。如果|I-I-avg|<50mA且|I-I-I|<50mA时则认为充电电流为常量,其中I-I为电流测定的前面的值。可以附加在或者取代图5(b)的IUT计算例程的步骤250等等计算电池充电的恒定性,其中可不依赖时间完成计算-dU的方法。
学习单元数目例程
如上所述,可能发生紧急停电条件而丢失全部RAM内容。在这一情况中,可能有必要重新学习电池组中的单元数目。不是将特定电池模块的单元数烧在ASIC ROM中,而是可以学习单元数目而使ASIC能与具有不同单元数的其它电池组一起配置。单元数的重新学习是由AL_STATUS寄存器中的一位(标定位)指示的,它指示是否必须重新学习电池单元的数目。在较佳实施例中,在满足了上述EOC条件之后,容易通过利用在电池组接线端上测定的电压做到这一点。
图7(d)中所示的学习单元数过程700中的第一步骤705为判定电池组是否标定,即AL_STATUS寄存器中的标定位是否指示单元数应学习。如果是,则在步骤710判定在图5(a)的IUT计算过程中步骤210测定的经过转换的电压值U(mV)是否大于11伏。如果是,得出结论电池组具有九个单元并在步骤720设定单元数为九。如果测定的电压值U不大于11伏,则在步骤715作出判定电压是否大于7.5伏。如果是,便得出结论电池组具有6个单元并在步骤725设定单元数为6。如果测定的电压值U不大于7.5伏,则得出结论电池组具有4个单元,并在步骤730设定单元数为4。在确定了单元数之后,则在较佳实施例中将EOD切断电压“空”设定为等于单元数乘以1.02伏的工作电池电压,如图7(d)中步骤740所示。
容量减少结束条件观察例程
如上所述,容量计算例程151在步骤198作出判定电池是在容量增加还是在容量减少(静止或放电)状态中。如果判定容量正在减少,则图8(a)与8(b)中所示的EOD(CD状态)观察进程600的第一步骤605为判定当前电压测定值(U)是否大于放电结束电压(EDV)及是否有滞后现象。当达到EDV电压时,它便是应停止放电以保护电池不损坏的指示。通常EDV为1.02伏。如果得到的电压大于EDV电压,在步骤610设置指示电压大于EDV电压加滞后的一个标志。如果电压不大于EDV电压加滞后,便在步骤612清除该标志。此外如步骤613所示,由于容量是减少的,清除结束充电报警及过度充电报警标志。
在步骤615作出关于剩余容量(Itf)的值的判定,判定剩余容量是否小于计算误差(即不确定性容量)。如果剩余容量小于计算误差,则这是电池组不再有容量并已全部放电的信号。结果,在步骤618设置放完电状态标志,而进程在步骤619继续进行。如果还有剩余容量,则不设置放完电标志,而进程在步骤619继续进行,在其中作出相对充电状态的判定。如果相对充电状态(SOC)已降至某一滞后值以下(最好大约80%充满电容量),则清除充满电标志,如步骤620所示。无论是否清除充满电状态标志,进程都在步骤625与630继续进行,在其中更新周期计数。在步骤625,作出判定是否清除了周期计数标志,及容量是否已下降了标称容量的15%。如果出现了步骤625的这两个事件,则包含电池已充电或放电的次数的值的周期计数寄存器将在步骤630加一,且设置周期计数标志。应理解在较佳实施例中,无论电池已全部或部分充电周期计数都将增加一。不论周期计数标志增加与否,进程都在步骤640继续进行,在其中作出检验是否设置了EOD标志以及是否清除了复位标志。如果EOD标志未设置或者复位标志未清除,都退出结束条件观察例程600。如果设置了EOD标志且清除了复位标志,则在步骤645作出判定是否已设置了EOC(充电结束)标志以及误差值(不确定性容量)小于标称容量的8%。如果满足这些条件则在步骤650学习充满电容量值。具体地,每当电池已执行了一次到达EOC触发点与EOD点的全周期且不确定性容量小于8%标称容量,则在步骤650用下式复位充满电容量:
full_cap=full_cap+full_cap*pd/256-Itf
其中“pd”为从图19(a)的查找表取得的并依赖于放电电流率及温度的预测残留容量校正值。除数256提供pd的一个整数定标。公式的含义为用来自LUT表的残留容量换算剩余容量(Itf),它包含充满电容量的分数部分(注:得出的残留容量是从图6(d)的充电积分进程的步骤451计算出的)。如果以比前一周期中输出的容量少的容量到达EOD点,则在EDV上的Itf(剩余容量)较高(与累积的充电容量相比放电容量较少)。充满电容量比前一周期减少Itf之差,从而在这一学习步骤中计入电池的老化。如果在若干不到达EOC或EOD点的部分充电/放电周期中使用电池,计算误差能累积到实际容量与计算的剩余容量(Itf)间的极大的差上。下面要详细描述的算法(Max Error(1)在各种操作模式的百分点误差的基础上计算与其本身的容量积分一样精确的其操作期间的最大可能误差(不确定性)。在各EOC与EOD点上将不确定性复位到零。8%以上的不确定性禁止满容量复位。此外,在满足步骤650的条件时,便清除指示已复位充满电容量的EOC标志。在复位充满电容量之后(步骤650),或者如果判定不确定性误差大于规定的8%的值或未设置EOC标志时,则算法在步骤655继续进行。
在步骤655,作出判定在EDV(放电结束电压)触发上的C_rate是否等于零,或当前C_rate是否小于EDV触发上的C_rate,以及是否禁止容量复位。如果这些条件之一满足,便在步骤660将EOD触发上的当前电流设定为等于当前C_rate,将延迟的容量复位值设定为等于当前残留容量值,并设置EOD之后到延迟容量复位的标志。否则,如果步骤655的两个条件都不满足,则退出结束条件观察例程600。如容量计算例程151的图6(a)中所示,如果尚未出现EOC与EOD触发,便退出容量计算。
系统管理总线与总线接口
如上所述,及如图2(a)与2(b)中所示,电池模块28使用修改后的Phillips I2C总线接口在包含ASIC32与电池10的配置、主计算机16及智能充电器22内部通信。如上所述,请求是从主计算机到电池、从充电器到电池或从电池到主计算机或充电器之一的。电池与充电器之间的典型通信的实例可以是将充电器接通与断开或者要求一定的充电率。主计算机可能请求诸如电池状态等电池信息或诸如最小容量或过高温度等电池报警条件。总线接口控制电路75控制通过系统管理总线上的两上串行端口SMBCLK与SMBDATA的所有请求与报警条件。
当电池10需要通知主机报警条件或通知电池充电器关于其所要求的充电电压或电流时,电池便作为具有写功能能力的总线主控器工作。电池的作用为:评估来自微处理器50的请求;检验系统管理总线是否空闲;生成启动位并发送电池充电器或主机的地址;检验是否已从充电器或主机送出确认位及给出信息给微处理器;在总线上发送微处理器提供的数据及检验确认位;在传送结束时生成停止位。
当主机要求电池10向其提供下面要说明的信息时,电池便作为具有读与写能力的总线从属器工作。例如,在稳定状态工作期间,主机可能向电池要求某些信息并提出请求。用9示出与用于在外部设备(主PC或电池充电器)与作为其从属器的电池之间提供通信的系统管理总线接口协议兼容的软件算法。
具体地,图9中的第一步骤750为解码外部设备已发送的命令码。下面讨论示例性命令码,通常各需要表示为变量“计数”的要传输的两个字节数据。下一步骤,表示为步骤752,为判定所发送的命令码是否为有效的可识别的命令字。如果否,在步骤755设置一个不支持命令位并中止传输,如图9中步骤758a所示。如果命令受到支持,电池在步骤759将执行内部检验来判定是否出现错误。如果发现内部错误,算法将进入定时器循环保持检验该内部标志直到确认错误或定时器(未示出)用完时间。这示出在步骤761。如果在步骤759找到准确值,则算法在步骤764继续进行判定解码的命令码是否调用读或写功能。如果定时器用完时间,或在步骤761确认错误,则在步骤763设置未知错误标志而软件传输在步骤758b结束。
当作为从属器工作时,电池将执行读或写操作。在步骤764,作出判定输入的命令码(步骤750)是读还是写命令。如果是读命令,在步骤765作出判定是否外部设备要求电池执行计算及返回一个值供外部设备读取。电池响应来自主设备的查询(例如Avg Time To Empty( ))进行的计算在下面更详细地描述。电池μP将进行到步骤768执行计算并将一个数据值返回给在步骤800的读块例程(下面详细说明)所指定的地址单元。如果在步骤765判定不要执行计算(例如只要求电压值),则算法直接进行到图9中所示的读块例程800。
如果在步骤764判定要执行写功能,其中要将数据值从外部设备写入电池地址单元(诸如AL_REM_TIME阀值),则必须执行写块授权检验来判定外部设备是否可以执行写功能。这示出在步骤771,其中检验口令的合法性。如果受检验的口令不是授权口令,则将如774所示拒绝访问,而外部设备不能执行写功能并在步骤758b中止软件传输。如果外部设备有权写入数据到电池地址中,则该设备写一个数据值到预先指定的地址单元中,如下面要详细说明的步骤775的写块例程所示。
主机对智能电池通信
这一类型的通信将数据从电池传送给(诸如主PC的)用户或外部设备的功率管理系统。用户能得到诸如电池特征数据(Voltage()、Temperature ()、Charge/discharge、Current()、Average Current()等)确实数据,或诸如电池在当前消耗率上的剩余寿命或充电电池所用的时间等预测性(计算的)数据。
以下控制命令为电池受到主设备即主PC查询时提供的信息的代表:
Remaining Capacity ()函数返回电池的剩余容量并且是剩余电量的数值指示。取决于容量模式位,Remaining Capacity()将从mAh或10mWh为单位返回值。返回的值计算如下:
Itf[mAh]-Itf_err[mAh]
其中不确定误差It f_err为减去的值而如果(|Itf|<|Itf_err|)则输出值截止在0上。
Remaining Capacity Alarm ()函数设定或检索RAM中的低容量报警的低容量阀值AL_REM_CAP(上面描述的)。当Remaining Capacity ()落到AL_REM_CAP值以下时,电池以设置REMAINING_CAPAGITY_ALARM位发送Alarm Warning ()信息给主机。制造时将AL_REM_CAP值设定为设计容量的10%并在被Remaining Capacity Alarm()函数更改以前保持不变。这一函数是由想要知道保持其工作状态需要多少功率的任何主系统所使用的。它使主系统能更精密地控制它将转移到备用或睡眠模式的点。
Remaining Time Alarm()函数设定或检索AL_REM_TIME报警值。当Average Time To Empty()函数所计算的在当前放电率上的估计剩余时间落到AL_REM_TIME值以下时,电池以设置的REMAINING_TIME_ALARM位发Alarm Warning()信息给主机。AL_REM_TIME值为零有效地禁止这一报警并将该值初始化成制造时的10分钟。Full Charge Capacity()函数返回充满电时的预测电池组容量,并取决于CAPACITY_MODE位(下面讨论)的设定值以电流(mAH或10mWH)表示。这一信息连同关于电池的原始容量(Design Capacity())的信息能作为电池损耗的指示提供给用户。Design Capacity()返回新电池组的理论容量,当将它与Full Charge Capacity()所返回的值比较时将提供电池损耗的指示。这一信息对于主设备即主PC调整其功率管理策略是有用的。
At Rate()函数为At Rate Time To Full()、At Rate Time To Empty()及At Rate OK()函数根据容量所作的计算中使用的At Rate值的设定所使用的双函数调用设定的前一半。
其中“time”为以分钟表示的返回值。
其中“time”(时间)为以分钟表示的返回值。
当At Rate值为负时,At Rate Time To Empty()函数返回在电池放电的At Rate值上直到用完电池为止(EDV条件)的以分钟表示的预测工作时间。计算公式是由式(4)决定的:
time:=60*(Itf[mAh]-full_cap[mAh]-pd_at_rate/256-Itf_err[mAh])/|AT_RATE|
(4)
其中“time”为以分钟表示的返回值,|AT_RATE|与pd_at_rate值是由At Rate()函数计算的,其中pd_at_rate表示剩余容量(全容量的分数)并除以值256将该值定标为分数,Itf_err为下面说明的不确定性误差。
当At Rate值为负时,At Rate OK()函数返回一个预测供给额外放电能量At Rate value10秒钟的能力的布尔值,即在主PC设定At Rate值之后电池能否为额外的负荷安全地供给足够的能量。
Run Ti me To Empty()函数返回在当前放电率上的预测剩余电池寿命(分钟)并且是取决于CAPACITY_MODE位(下面讨论)的设定根据电流或电力之一计算的。这一函数返回的值能被主PC或设备电力管理系统用来获得响应电力策略改变所得到或损失的相对剩余电池寿命的信息。计算公式是由式(5)决定的:
time:=60*(Itf[mAh]-full_cap[mAh]-pd/256-Itf err[mAh])/|I|[mA]
(5)
其中“time”为以分钟表示的返回值,并计入了EDV之后只能通过降
低负荷取出的电池剩余容量;|I|为电流,pd:=pd(C_rate(|I|,T)并在容量计算算法中计算,pd表示剩余容量(full_capacity的分数)。将该值除以256以得出分数。Itf_err为下面说明的不确定性误差。
Average Time To Empth()函数返回预测剩余电池寿命(以分钟表示)的一分钟滚动平均值,并且是根据电流或电力之一计算的。这一函数提供瞬时估算的平均值,借此保证充电状态信息的更稳定的显示。计算公式由式(6)决定:
time:=60*(Itf[mAh]-full_cap[mAh]-pd_avg/256-Itf err[mAh])/I_avg[mA]
(6)
其中“time”为以分钟表示的返回值,I_avg为每隔0.5秒更新的,pd_avg:=pd(C_rate(I_avg),T)并且是在一个周期以前的alarm_control例程中计算的,并表示预测的残留容量(full_capacity的分数)。将这一值除以256以得出一个定标分数。Itf_err为下面说明的不确定性误差。
图20示出比较6单元电池组各种放电电流率上的计算的电池容量特征的两条电压对时间曲线a与b。如图20中所示,当将数量为放电率2C且产生大约1.554Ah(安倍小时)的负荷作用在电池上时,曲线a的电压将在短时间内迅速降至放电结束条件。当将负荷明显地减小到C/5放电率时,电池组电压将强烈地上升以延长电池的寿命一段时间来产生另一0.816Ah。曲线b,具有与曲线a不同的时标,示出在C_rate上的放电将产生大约2.307Ah。当将该负荷减轻到一半C_rate时,电池电压将略为增加而电池寿命能预测为延长一个时间段来产生另一0.78Ah直到到达放电结束电压为止。
如上面所讨论的,某些计算取决于不确定性容量的值,即在容量计算中得出的最大可能误差。Max Error()函数返回容量计算中以百分比表示的实际不确定性。20%的Max Error()输出意味着实际值可以在内部计算的容量±10%之间。系统管理总线接口中的大多数计算已减去不确定性误差,从而误差将是-0/+Max Error()+%。容量算法在EOC与EOD条件上将不确定性设定为0,如上所述。所执行的计算如下:
max_error:=2*100*Itf_err[mAh]/full_cap[mAh]
其中Itf_err_C_D为在充电与放电模式中永远是正的累计电量;Itf_err_s为自身放电过程的累计电量。由于即使在充电时也永远存在自身放电,这一累计是在所有时间中利用来自相对充电状态(SOC)与温度的LUT依赖性进行的。在EOC与EOD条件上将两个累加器都复位到零,EPS为在充电或放电时容量计算的误差分数,主要来自LUT及来自A/D测定,并施加了定标因子256。EPS_S为作为分数的自身放电积分的误差。如果电池在若干周期上不是全部充电或放电并禁止满容量的学习模式,则不确定性将不利地增长。
Cycle Count()函数返回电池已经历过的充电/放电周期数。在上一次不一定是充满电的再充电之后每一次电量下降了设计容量的15%的量时计数周期。
包含在DBOS存储器配置中的其它寄存器有用来选择电池的各种操作模式的Battery Mode()寄存器。例如,将Battery Mode()寄存器定义为包含设定为指定要广播的容量信息是以mAh还是以mWh(毫瓦小时)为单位的一个CAPACITY_MODE位。这一位使功率管理系统能用电池报告的信息来与它们的电特征最佳匹配。例如,一个开关电源表示恒定功率负荷,而一个线性电源则最好由恒定电流模型表示。此外,Battery Mode()寄存器包含一个CHARGER_MODE位,它是设定为指定在智能电池需要充电时要向智能电池充电器22(图1)广播的是充电电压还是充电电流值。通过禁止智能电池广播充电电流与充电电压,这一位允许主PC或电池充电器超越智能电池所要求的充电参数。
在容量基础上计算的另一函数是Battery Status()函数,主设备或PC的电力管理系统利用它来取得报警与状态位以及来自电池的错误码。这一函授返回电池的状态字标志,其中包含报警警告位,诸如OVER_CHARGED_ALARM、TERMI NATE_CHARGE_ALARM、DTEMP_ALARM、OVER_IEMP_ALARM、TERMI NATE_DISCHARGE_ALARM、REMAI NING_CAPACITY_ALARM及REMAI NING_TIME_ALARM,以及状态位,包含已初始化、放电中、充满电及放完电。
电池10能够执行的辅助函数包括:用于提供电池组支持的智能电池规格的版本号的Specification Info();用于向系统提供能用于唯一地识别特定电池的信息的Manufacture Date();提供用于识别特定电池的信息的Serial Number();Manufacturer Name()函数返回智能电池制造商的姓名;Device Name()函数返回包含电池名称的字符串;Device Chemistry()返回包含电池化学的字符串;Manu facturer Data()函数允许访问制造商数据(诸如包含在电池中的批代码、深周期数、放电模式、最深放电、等)。
写块例程
如上所述,电池可接收来自外部设备的数据供在控制命令计算中使用或作为报警阈值。图10中所示的写块775控制这种向电池的数据传送。首先在步骤776,作出判定要从外部主设备读取的数据值是否长于两个字节。在较佳实施例中,大多数控制命令写入电池的数据值为两个字节长。如果数据长于两个字节,即如果count)2,则在步骤778将变量“W”设定为等于分配给及对应于数据的字节数长度的地址单元数。然后在步骤780作出判定前面确定的计数值是否已设定为等于分配的地址单元。如果不是这样,则在步骤790设置指示要发送过量数据或分配的单元不足以接收数据的出错标志。如果前面确定的计数值“count”已设定为等于分配的地址单元数,则程序进入表示为步骤781、783与785的循环,在其中将各数据字节顺序地写到到达电池单元[Adr]的I2C总线(步骤783)。发送了各字节之后,将字节数的计数减一及将要写入下一顺序数据字节的地址单元加一。直到count=0表示已将最后数据字节传输给电池,如步骤785所示,循环将继续进行并进入步骤781来判定电池是否已读取外部设备发送的各数据字节(RDVAL=1)并指示数据字节已成功地传输。如果在每一字节传送后已收到读取确认标志,则循环在步骤783继续进行直到发送了最后数据字节为止。如果尚未收到读取确认标志,则可能发生错误而程序进行到步骤782在其中作出判定发生的是总线出错还是暂停。如果未发生这现两种事件,则程序进行到步骤787去判定是否总线主控器中止了传输。如果是总线主控器中止了传输,则在步骤790设置指示传输了过量数据的出错标志并在步骤795中止传输。如果总线主控器并未中止传输,则系统将继续查看RDVAL标志直到用完内部信号交换定时器(未示出)时间(步骤782)及设置了未知出错标志,而中止传输,如步骤792与795所示。参见图10,在某些情况中知道要读取固定的两字节数据字,如步骤776所示,而算法直接进行到步骤783,其中电池在第一电池地址单元上读取第一数据字节。
在接收到最后数据字节之后,如步骤786所示,作出判定是否已从修改过的I2C总线主控器接收到指示由于外部设备不再发送任何数据这一事实而总线控制结束的停止位标志。如果接收到停止位便退出写块。如果尚未接收到停止位,则可能已出现错误而程序进行到步骤788,在其中作出判定是否已发生了总线出错或暂停。如果发生了错误或暂停,则程序进行设置未知出错标志并中止传输,如步骤792与795所示。如果未出现这些事件,则程序进行到步骤789去判定是否已设置了RDVAL标志来指示已成功地读取了最后的数据字节。如果已成功地读取,则这便是外部设备尚未结束发送数据或并未分配足够的地址单元的指示,而设置一个出错标志,如步骤790所示,并在步骤795中止传输。如果已在步骤789成功地读取了最后的数据值,则进程在步骤786继续查看修改过的I2C总线主控器直到内部信号交换定时器(未示出)时间用完或出现错误(步骤788)。
读块例程
如上所述,电池将返回一个计算的或测定的数据值到一个指定的地址单元,如图11中所示的读块例程800所指示的。在步骤802,首先作出判定要写到主设备的数据值是否长于两个字节。如果数据长于两字节,即如果count>2,则在步骤805指向地址而程序进入指示为步骤808、812与815的循环,在其中将各数据字节顺序地写入到达请求中的主设备的地址单元的SMBus总线,如步骤812所示。发送了各字节之后,将字节数的计数减一并将要写入下一字节的地址单元加一。直到count=0表示已将最后的数据字节传输到外部设备为止,如步骤8 所示,循环将继续进行并在步骤808进入来判定外部设备是否已发送了指示已成功地传输了当前数据字节的确认位。如果在每次字节传送后已接收到确认位,循环在步骤812继续进行直到发送了最后的数据字节为上。如果尚未收到确认位,则可能已出现了错误而程序进行到步骤821,在其中作出判定是否出现了总线出错、中止或暂停。如果未曾出现这些事件,则程序进行到步骤808重新判定是否已收到数据字节确认位。这一过程将一直继续到内部定时器(未示出)时间用完,这时进程在步骤825继续进行在其中设置一个未知错误标志并中止传输。在判定已发送了最后数据字节之后(步骤818),便在图11的步骤818设置指示已发送最后字节的标志。参见图11知道在某些情况中没有要返回的数据,如步骤802所示,算法将直接进行到步骤812而绕过接收确认位步骤808。
下面如步骤822所示,作出判定是否已从I2C总线主控器接收到指示由于外部设备将不再接收任何数据这一事实而控制结束的停止位标志。如果收到停止位便退出读块。如果尚未收到停止位,则可能发生了错误而程序进行到步骤824,在其中作出判定是发生了总线错误或暂停。如果未曾发生这些事件,则程序进行到步骤822再一次判定是否收到停止位。这一过程将继续进行到内部信号交换定时器(未示出)时间用完止,这时进程将在步骤825继续进行,在其中设置一个未知错误标志并中止传输。
报警控制
上面提到的所有报警状态标志都指示电池已到达一定的充电状态(充满电、放空电)或临界状态(最高温度、过量充电)。这些事件是编码在Al_Status电池寄存器中的,并在电池检测到报警条件时由电池将警告信息Alarm Warning()送至外部设备。在这一事件中,电池成为总线主控器并交替地最好在每5秒钟一次的速率上将任何临界与/或报警条件通知主计算机或电池充电器,直到纠正了临界状态为止。如果报警状态是并不需要通知电池充电器报警状态,例如REMAI NING_CAP_ALARM警告信息不是广播给充电器设备的,则将报警条件广播给主计算机10秒钟。如果存在着诸如OVER_CHARGED_ALARM、TERMI NATE_CHARGE_ALARM、DTEMP_ALARM、OVER_TEMP_ALARM及TERMI NATE_DISCHARGE-ALARM等报警状态,则必须以5秒钟的间隔交替地在充电器设备与主设备之间广播报警。
用于通知报警或警告信息的修正的SMBus协议示出在图12(a)与12(b)中详细展示的报警控制例程152中。这一例程为了在执行过图3中所示的容量计算之后可能向主设备广播而运行通过所有可能的报警条件。
在图12(a)中表示为步骤901的第一步骤为检验剩余容量的状态。具体地,作出判定AL_REM_CAP运行值是否大于0且剩余容量(减去不确定性误差)是否小于AL_REM_CAP值。如果这些条件为真,则在步骤904设置REMAI NING_CAPACITY_ALARM位。如果这些条件中没有一个为真,在步骤906清除REMAI NING_CAPACITY_ALARM位。下面,根据一分钟滚动平均电流计算C_rate及根据Crate[pd_avg:=pd(C_rate(I_avg),T]从图19(a)的查找表中访问残留容量。然后在步骤910作出判定电池状态是否是容量减少。如果电池容量正在减少,则在步骤913作出判定AL_REM_TIME报警阈值是否大于零。如果是,则用Average Time To Empty()命令码在步骤915计算当前放电率上的估计剩余时间。当计算的剩余时间落到AL_REM_TIME阈值以下时,如在步骤917所判定的,程序如步骤919所示那样设置REMAI NING_TIME_ALARM位而程序进行到图12(b)中所示的步骤925。如果判定电池状态不是容量减少(步骤910)或者AL_REM_TIME等于零(步骤913)或者计算的剩余时间落到AL_REM_TIME阈值以下(步骤917),则程序清除REMAI NING_TIME_ALARM位,如步骤921所示,而程序进行到图12(b)中所示的步骤925。
如步骤925所示,检验报警状态寄存器的高位字节以判定是否已设定了诸如OVER_CHARGED_ALARM、TERMI NATE_CHARGE_ALARM、DTEMP_ALARM、OVER_TEMP_ALARM、TERMI NATE_DISCHARGE_ALARM、REMAI NING_CAPACITY_ALARM、及REMAI NING_TIME_ALARM等报警位。如果是,则在步骤927检验报警广播标志“报警”。如果报警状态寄存器的高位字节指示无报警条件,即未设定位,则进程在步骤926继续进行并清除报警广播标志。注意在初始化时,是不设置报警广播标志的。然而,只要存在报警条件,便设置这一标志。因此如步骤927所示,如果清除了报警标志,进程继续进行并在步骤930设置报警标志。此外,在步骤930,将报警广播定时器设定为零,并设定指示将报警送至主外部设备而不是电池充电器的“报警至主机”标志。进程在步骤933继续进行,在其中作出判定报警广播定时器是否已用完时间(=0)。由于对于报警条件的这一第一操作周期已在步骤930将广播定时器设定为零,或者如果报警广播定时器时间已用完,则进程在步骤935继续进行。如果定时器尚未用完时间,便退出报警控制进程。在步骤935,将报警广播的地址单元设定到主设备上,并将命令码设定为等于上述电池状态[Battery Status()]函数。这将起动将特定的报警传送给主设备。在步骤937作出判定是否清除了对主机报警标志(=0)。在报警条件的第一操作周期中(步骤930),已设置了对主机报警标志(=1),因此算法跳过步骤940与943(下面讨论)并执行发送信息例程945,将电池的功能改变成具有总线主控器控制,从而能发送报警信息。下面将说明发送信息例程945的细节。此后在步骤947,重新设置广播报警定时器到10秒时间(N_ALARM)并将发送至主机报警标志触发到发送至充电器报警标志。
在步骤945(用发送信息例程)将信息起动为向主设备广播一则报警警告信息之后,且已经重新设置了报警广播定时器,进程便继续进行。下一次容量计算(图3)之后,如果在步骤925报警条件仍然存在(即设置了报警位),进程便继续进行。然而,对于下一及以后的报警条件操作周期,判定了已经设置报警标志(步骤927),因此在步骤931递减报警广播定时器(初始化为10秒),直到定时器用完时间或报警状态改变为止。从而在减量广播定时器之后,进程在步骤933继续进行,在其中判定报警广播定时器是否已用完时间(=0)。如果广播定时器尚未用完时间,则退出报警控制例程并继续执行这组步骤直到报警广播定时器用完时间(步骤933)。直到最好已向主设备广播了报警信息5秒钟,然后不再执行步骤935与937。当广播定时器已用完时间,并且由于已拨动了向主机报警标志(在报警条件的第一操作周期中),步骤937的条件不再为真。因此,在步骤940改变报警广播的地址单元并设定为电池充电器,而程序进行到步骤943,在其中判定是否在下一个10秒中要将特定的报警警告信息发送到电池充电器。如果报警条件不是要传输给电池充电器,则绕过发送信息例程(步骤945),而在步骤947重新设置广播定时器并拨动到向主机报警位,因此信息将再一次传输给主设备。
充电器控制
每当将Batterymode()充电器模式位设置为零且电池检测到智能电池充电器的存在时,电池便能与智能电池充电器通信并将发送Charging Current()与Charging Voltage()值给智能电池充电器。Charging Current()函数设定智能电池充电器可以发送给电池的最大电流并以mA为单位返回所要求的充电率。这允许电池充电器动态地调节其输出电流来匹配最佳再充电要求。最大值OXFFFF表示用Charging Voltage()的输出值恒定电压充电。以图3与13的充电器控制例程154中提出的条件下作为活跃的总线主控器的电池广播结果。
图13中的第一步骤850为判定电池是否在系统中。如果否,在步骤853清除CAPACITY_MODE与CHARGER_MODE变量并退出例程。如果电池装在系统中,在步骤855判定电池是否正插在系统中。如果电池正插在其中,则将信息定时器设定为一,并在步骤857清除CAPACITY_MODE与CHARGER_MODE变量而算法在步骤859继续进行。如果电池不正在插入(步骤855),则算法跳到步骤859,判定充电器模式位的状态。如果该位未在步骤859清除,则退出例程。如果在步骤859设置了CHARGER_MODE位,则在步骤861递减定时吕。下一步骤863为判定信息定时器是否用完时间。如果已用完,则在步骤865重新设置信息定时器并重新进行充电电流计算。如果在步骤863信息定时器未用完时间,则退出例程。下一步骤866为判定返回的计算充电电流值是否为零。如果返回的充电电流值为零,则进程进行到步骤868。如果充电电流不为零,则在步骤867判定状态是否为容量增加(CI)。如果电池是在CI状态中,则进程进行到步骤868。如果容量正在减少,则退出例程。
在步骤868,将充电器广播的地址单元设定到电池充电器上,并将命令码设定为等于命令码Charging Current()。下面在步骤870,用发送信息例程(下面讨论)将充电电流命令信息发送给电池充电器。然后在步骤872,将指示充电器为恒定电流充电设备的最大值(hex FFFF)馈送到Constant Voltage()函数中。在步骤874通过发送信息例程将这一指令广播给充电器。广播了充电电流之后,最终退出该例程。
发送信息例程
如图12(b)中步骤945及图13中步骤870所示,发送信息例程将电池的功能改变成具有总线主控器控制,从而能发送报警信息。图14(a)至14(b)示出发送信息例程。
第一步骤950为判定数据总线的可获得性。如果判定可以获得数据总线,则将第一个数据发送到从属机地址,即外部主设备或电池充电器的地址,如步骤952所示。一得到数据总线,便立即设置两个标志;第一标志是设置成指示现在电池具有总线主控器控制的内部生成的标志(步骤953),而第二标志则是在步骤954清除的传输结束标志。下一步如步骤955所示,为检验是否发送了确认位,即从属设备是否已经收到第一字节数据(从属机地址)。如果尚未发送确认位,则在步骤958检验判定总线是否忙。如果现在总线忙,如果现在总线忙,则程序在图14(b)的步骤960继续进行,如果在步骤95总线不忙,则在步骤959判定是否生成了总线出错或暂停标志。如果发生错误或暂停,则程序进行到步骤973,在其中终止传输并退出例程。如果不存在错误或暂停条件,例程在步骤955继续进行直到从属机发送了指示已收到数据的确认位为止。如果收到了确认位,则在步骤957传送当前命令码。应理解当在严重报警条件中调用发送信息例程时,则将命令码字设置为电池地址(见图12(b)步骤935)而从属机将理解只有两上字节数据要发送。下一步如步骤960所示,为检验是否已发送了确认位,即从属设备是否已收到命令码(或电池地址)。如果尚未收到确认位,则在步骤作出检验以判定是否已生成了总线出错或暂停标志。如果已发生错误或暂停,则程序将进行到步骤973去终止传输并退出例程。如果不存在错误或暂停条件,例程将在步骤960继续进行直到接到确认已收到命令码(或电池地址)为止。如果已收到确认位,则在步骤965将第一字节数据传送给指定的地址单元(见图12(b)步骤935。下一步如步骤966所示为检验是否已发送了确认位,即从属设备是否已收到命令码的第一字节。如果尚未收到确认位,则在步骤967检验判定是否已生成总线出错或暂停标志。如果已发生错误或暂停,则程序进行到步骤973,在其中终止传输并退出例程。如果不存在错误或暂停条件,例程将在步骤966继续进行直到接到确认已收到第一数据字节为止。如果已收到确认位,则在步骤968将第二字节数据传送到下一地址单元。下一步如步骤969所示,为检验是否已发送确认位,即从属设备是否已收到命令码数据的第二字节。如果尚未收到确认位,则在步骤971检验判定是否已生成了总线出错或暂停标志。如果已出现错误或暂停,则程序将进行到步骤973去终止传输并退出例程。如果不存在错误或暂停条件,例程将在步骤969继续进行直到接到确认已收到第二数据字节为止。在全部信息已由电池传送到从属设备之后,便退出发送信息例程
LED显示器
如图2中所示,本发明的电池10提供指示电池相对于full_cap(满容量)值的相对充电状态(类似于燃油计量表)的手动控制四段发光二极管(LED)显示器。在每500msec时段(操作周期)中执行了容量计算、报警控制152、及充电器控制154例程之后,系统将查找LED显示器的硬件触发。任何时候,用户能用如图2(a)中所示的电池10上的开关35起动LED显示器。图15示出LED显示器的控制逻辑。
按动开关35将触发硬件开关,如图15的步骤975所示。如果设置了硬件触发,则进程进行到步骤977。如果未设置LED显示器的硬件触发,则在步骤992清除当前LED显示并重新设置LED显示器定时器。此后,退出LED显示器例程。
在步骤977,判定LED显示器的工作模式是否与调整的满容量(full_cap)的省缺值、Relative State Of Charge()的返回值相关,还是与设计容量(nom_cap)值相关,如上所述。如果判定工作LED显示器模式与full_cap基相关,则在步骤978计算相对于full_cap正规化的相对SOC。否则,在步骤979计算相对于nom_cap正规化的相对SOC。下面在步骤980将一个计数器设定到相对SOC值上,并清除全部四个LED并初始化它们的位值。然后在步骤981判定计数器是否在75%以上。如果计数器在75%以上,则接通全部四个LED用于显示指示>75%电量。如果计数器小于75%,则在步骤983将计数器增加25%并将LED显示寄存器中的LED位移位,使之在接通LED时给出相对SOC的对应指示。步骤981与983重复三次直到达到计数器大于75的条件为止。满足了该条件之后,在步骤985按照LED寄存器中的位形成(未示出)接通(显示)LED。在步骤987判定相对容量是否大于10%。如果是,程序进行到步骤994。如果判定相对容量小于10%,则在步骤989判定是否闪烁LED显示器。因此在步骤989检验LED闪烁位,如果未设置该位,则显示指示小于10%相对SOC的LED将闪烁,如步骤991所示。如果在步骤989设置了闪烁位,则LED将闪烁,并在步骤990清除闪烁位。系统将进行到步骤994在其中减少LED显示器定时器。然后在步骤995判定LED显示器定时器是否已用完时间。如果LED显示器定时器已用完时间,则在步骤996清除硬件触发位,并重新设置显示器定时器。否则,退出LED显示器例程。
虽然已相对于其较佳实施例具体地示出与描述了本发明,熟悉本技术者应理解可在其中作出上述与其它形式与细节上的改变而不脱离本发明的精神与范围,它们只应受所附权利要求书的范围的限制。
Claims (31)
1、一种智能电池,它提供电力并向具有电力管理系统的外部设备报告预定义的电池参数,所述智能电池包括:
(a)至少一个可再充电电池单元,连接在一对接线端上,在放电模式中提供电力给外部设备,而在充电模式中接收由所述远程设备提供或确定的电力,
(b)一条数据总线,用于向外部设备报告预定义的电池标识及充电参数;
(c)一个模拟装置,用于生成表示所述接线端上的电池电压与电流的模拟信号及表示所述单元的电池温度的模拟信号,
(d)一个混合集成电路(IC),具有一微处理器,用于接收这些模拟信号并将它们转换成表示电池电压、电流与温度的数字信号,并从所述数字信号计算时间上的实际充电参数,所述计算包含按照下述算法的一种计算:
CAPrem=CAPFC-∑IdΔtd-∑IsΔt+∑εcIcΔtc
其中εc为电池电流与温度的函数;而Is为电池温度与CAPrem的函数,
(e)确定在所述混合IC内的一个数据存储器,用于即使在标称放完电时存储所述预定义的电池标识与实际充电参数,所述充电参数至少包括充满电容量与剩余容量,
(f)确定在所述混合IC内的一个总线控制器,用于在所述数据总线上发送电池信息给所述远程设备,所述信息包含所述预定义的电池标识及所述实际充电参数。
2、权利要求1中所要求的智能电池,其中所述混合IC在所述数据存储器中设定所要求的充电率,所述充电率选自至少一个维持充电率及一个较佳充电率。
3、权利要求1或2中所要求的智能电池,其中所述总线控制器向远程设备广播电池充电率信息。
4、权利要求1-3中任何一项中所要求的智能电池,其中所述充电率信息作为所述剩余容量与所述电池温度的函数由所述混合IC选择。
5、权利要求1-4中任何一项中所要求的智能电池,其中所述混合IC接收来自所述远程设备的所要求的剩余容量报警值,并在所述剩余容量等于或小于所述剩余容量报警值时发送一个剩余容量报警信号到所述远程设备。
6、权利要求1-5中任何一项中所要求的智能电池,其中所述混合IC计算与存储作为电池电流与时间的函数的平均电流值信息。
7、权利要求1-6中任何一项中所要求的智能电池,其中所述混合IC接收来自所述远程设备的一个要求的剩余时间报警值,并在计算的剩余时间值等于或小于所述要求的剩余时间报警信号时发送一个剩余时间报警信号给所述远程设备。
8、权利要求1-7中任何一项中所要求的智能电池,其中所述计算的剩余时间值是作为剩余容量与所述平均电流值的函数计算的。
9、权利要求1-8中任何一项中所要求的智能电池,其中所述混合IC接收来自所述远程设备的替代低电池平均电流值,并在所述替代低电池平均电流值上作为剩余容量的函数计算一个最优剩余时间值。
10、权利要求9中所要求的智能电池,其中所述混合IC还计算一个最优剩余时间值,所述最优剩余时间值是作为剩余容量与用户指定的电流值的函数被计算的。
11、权利要求1-10中任何一项中所要求的智能电池,其中所述混合IC在所述数据存储器中存储电池模式值及电池电压、电流与温度值,所述电池模式值指示所述电池当前正在充电还是放电。
12、权利要求1-11中任何一项中所要求的智能电池,其中所述总线控制器将响应来自所述远程设备的查询信息发送报告当前模式、电压、电流与温度值的电池信息。
13、权利要求1-12中任何一项中所要求的智能电池,其中所述电池单元为NiMH电池,而所述混合微处理器作为下述条件之一或多个的函数计算充电终止:在充满电时的大于12mV/单元/分钟的负电压斜率、超过0.90°/分钟的ΔT/Δt、或充满电容量的120%的计算电量。
14、权利要求1-13中任何一项中所要求的智能电池,其中所述混合IC在每一个完全与不中断的放完电周期之后作为一个学习值重新设定充满电容量。
15、权利要求14中所要求的智能电池,其中重新设置的充满电容量是从充电终止到标称放完电状态的实际放电与由于自身放电引起的损失的积分。
16、一种对可再充电电池充电及向具有从/向所述可再充电电池接收/提供电力的电力管理系统的外部设备报告预定义的电池参数的方法,所述方法包括:
(a)生成表示电池输入端与电池输出端上的电池电压与电流的模拟信号,及生成表示所述单元上的电池温度的模拟信号,
(b)将所述模拟信号转换成表示电池电压、电流与温度的数字信号,按照下述算法用与所述电池关联的RISC微处理器从所述数字信号中在时间上对实际电池充电参数进行积分:
CAPrem:=CAPFC+∑εcIcΔtc-∑IdΔtd-∑IsΔt
(c)存储εc作为查找表中的电池电流、温度与剩余容量的经验函数,存储CAPFC作为积分之间的学习值,及存储Is作为电池温度与CAPrem的经验函数,所述查找表由与所述电池关联的数据存储器定义,
(d)在所述数据存储器中存储所述预定义的电池标识与实际充电参数,所述充电参数至少包括充满电容量与剩余容量,
(e)在数据总线上发送电池信息到所述远程设备,所述信息包含所述预定义的电池标识参数及所述实际充电参数。
17、权利要求16中所要求的对可再充电电池进行充电的方法,将所要求的充电率存储在所述数据存储器中并发送至所述远程设备,从至少维持充电率、较佳充电率、快速充电率或最高充电率中选择所述充电率。
18、权利要求16或17中所要求的对可再充电电池进行充电的方法,其中响应所述远程设备的查询,在所述数据总线上将电池充电率信息发送至所述远程设备。
19、权利要求16-18中任何一项中所要求的对可再充电电池进行充电的方法,其中所述充电率信息是作为所述剩余容量与所述电池温度的函数选择的。
20、权利要求16-19中任何一项中所要求的对可再充电电池进行充电的方法,其中所述电池从所述远程设备接收所要求的剩余容量报警值,并在所述剩余容量等于或小于所述剩余容量报警值时发送一个剩余容量报警信号到所述远程设备。
21、权利要求16-20中任何一项中所要求的对可再充电电池进行充电的方法,其中平均电流值信息是作为电池电流与时间的函数被计算的,并存储在所述数据存储器中。
22、权利要求16-21中任何一项中所要求的对可再充电电池进行充电的方法,其中所述电池从所述远程设备接收所要求的剩余时间报警值,并在计算的剩余时间值等于或小于所述要求的剩余时间报警信号时发送一个剩余时间报警信号到所述远程设备。
23、权利要求16-22中任何一项中所要求的对可再充电电池进行充电的方法,其中所述计算的剩余时间值是作为剩余容量与所述平均电流值的函数被计算的。
24、权利要求16-23中任何一项中所要求的对可再充电电池进行充电的方法,其中所述电池从所述远程设备接收一替代低电池平均电流值,及所述RISC微处理器作为剩余容量的函数计算在所述替代低电池平均电流值上的最佳剩余时间值。
25、权利要求16-24中任何一项中所要求的对可再充电电池进行充电的方法,其中所述RISC微处理器还计算最佳剩余时间值,所述最佳剩余时间值是作为剩余容量与预先选择的低电池平均电流值的函数被计算的。
26、权利要求16-25中任何一项中所要求的对可再充电电池进行充电的方法,其中在所述数据存储器中存储电池模式值及电池电压、电流与温度值,所述电池模式值指示所述电池当前正在接收还是供应电力。
27、权利要求16-26中任何一项中所要求的对可再充电电池进行充电的方法,其中所述电池响应来自所述远程设备的查询信息发送报告当前模式、电压、电流与温度值的信息。
28、权利要求16-27中任何一项中所要求的对可再充电电池进行充电的方法,其中所述电池是用NiMH电池单元构成的,并作为下述条件之一或多个的函数计算充电终止:在充满电压上的大于12mV/单元/分钟的负电压斜率、超过0.90°/分钟的ΔT/Δt、或充满电容量的120%的计算电量。
29、权利要求16-28中任何一项中所要求的对可再充电电池进行充电的方法,其中所述RISC微处理器在每一个完全与不中断的放完电周期之后作为学习值重新设置充满电容量。
30、权利要求31中所要求的对可再充电电池进行充电的方法,其中将充满电容量重新设置为从充电终止到标称放完电状态的实际放电的积分。
31、权利要求16-30中任何一项中所要求的对可再充电电池进行充电的方法,其中所述电池作为从上次CAPFC全积分起的时间的函数报告不确定性因子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 95196008 CN1163020A (zh) | 1994-10-04 | 1995-10-04 | 用于向外部设备报告电池参数的智能电池算法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/318,004 | 1994-10-04 | ||
CN 95196008 CN1163020A (zh) | 1994-10-04 | 1995-10-04 | 用于向外部设备报告电池参数的智能电池算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1163020A true CN1163020A (zh) | 1997-10-22 |
Family
ID=5083075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 95196008 Pending CN1163020A (zh) | 1994-10-04 | 1995-10-04 | 用于向外部设备报告电池参数的智能电池算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1163020A (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209646A (zh) * | 2008-11-07 | 2011-10-05 | Sakti3有限公司 | 包含混合电化学的电池、模块和组件的控制 |
CN102472801A (zh) * | 2010-02-24 | 2012-05-23 | 三菱重工业株式会社 | 充电率运算系统 |
WO2014169642A1 (zh) * | 2013-09-12 | 2014-10-23 | 中兴通讯股份有限公司 | 一种检测电池容量的装置、方法及电池 |
CN104854770A (zh) * | 2012-12-21 | 2015-08-19 | 索尼公司 | 供电控制设备、电池设备、供电系统以及供电控制方法 |
CN105356544A (zh) * | 2015-11-27 | 2016-02-24 | 山东超越数控电子有限公司 | 一种基于ec控制器的便携式笔记本电池座充装置 |
CN105807247A (zh) * | 2016-05-19 | 2016-07-27 | 国网四川省电力公司电力科学研究院 | 用于三相三元件组合互感器检测的辅助接线装置及方法 |
CN106842058A (zh) * | 2017-02-28 | 2017-06-13 | 上海传英信息技术有限公司 | 一种基于智能终端的电量控制系统和方法 |
CN107102272A (zh) * | 2012-12-27 | 2017-08-29 | 杜拉塞尔美国经营公司 | 利用电池上电路远程感测剩余电池容量 |
CN107257750A (zh) * | 2015-02-18 | 2017-10-17 | 奥迪股份公司 | 具有监测装置的电池单体及相应的运行方法 |
CN107404128A (zh) * | 2012-08-06 | 2017-11-28 | 京瓷株式会社 | 管理系统、管理方法、控制装置和电力存储装置 |
CN107533724A (zh) * | 2016-02-24 | 2018-01-02 | 松下知识产权经营株式会社 | 服务器装置及其控制方法 |
CN107621607A (zh) * | 2017-08-21 | 2018-01-23 | 中山市卓的电子科技有限公司 | 电池性能测试方法、测试终端、可读存储介质及测试系统 |
CN108072841A (zh) * | 2016-11-18 | 2018-05-25 | 半导体组件工业公司 | 用于确定电池的相对充电状态的方法和装置 |
CN108141059A (zh) * | 2015-09-29 | 2018-06-08 | 株式会社村田制作所 | 供电系统 |
US10541540B2 (en) | 2012-08-06 | 2020-01-21 | Kyocera Corporation | Management system, management method, control apparatus, and power storage apparatus |
CN111162965A (zh) * | 2019-12-17 | 2020-05-15 | 杭州迪普科技股份有限公司 | 监控Buffer的方法和装置 |
US10684374B2 (en) | 2013-06-21 | 2020-06-16 | Duravell U.S. Operations, Inc. | Systems and methods for remotely determining a battery characteristic |
US10818979B2 (en) | 2016-11-01 | 2020-10-27 | Duracell U.S. Operations, Inc. | Single sided reusable battery indicator |
CN111913118A (zh) * | 2020-09-04 | 2020-11-10 | 湖州快驴科技有限公司 | 一种能够检测电池历史信息的检测方法 |
CN112349076A (zh) * | 2020-11-05 | 2021-02-09 | 杭州若奇技术有限公司 | 一种干货储存箱的控制方法及干货储存箱 |
US10964980B2 (en) | 2014-05-30 | 2021-03-30 | Duracell U.S. Operations, Inc. | Indicator circuit decoupled from a ground plane |
US10971769B2 (en) | 2016-11-01 | 2021-04-06 | Duracell U.S. Operations, Inc. | Reusable battery indicator with electrical lock and key |
US11024891B2 (en) | 2016-11-01 | 2021-06-01 | Duracell U.S. Operations, Inc. | Reusable battery indicator with lock and key mechanism |
US11024892B2 (en) | 2016-11-01 | 2021-06-01 | Duracell U.S. Operations, Inc. | Dual sided reusable battery indicator |
US11031686B2 (en) | 2016-11-01 | 2021-06-08 | Duracell U.S. Operations, Inc. | Positive battery terminal antenna ground plane |
WO2023159708A1 (zh) * | 2022-02-24 | 2023-08-31 | 深圳市涞顿科技有限公司 | 一种电池常带电自保养的控制方法及常带电自保养的电池 |
US11837754B2 (en) | 2020-12-30 | 2023-12-05 | Duracell U.S. Operations, Inc. | Magnetic battery cell connection mechanism |
-
1995
- 1995-10-04 CN CN 95196008 patent/CN1163020A/zh active Pending
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209646A (zh) * | 2008-11-07 | 2011-10-05 | Sakti3有限公司 | 包含混合电化学的电池、模块和组件的控制 |
CN102472801A (zh) * | 2010-02-24 | 2012-05-23 | 三菱重工业株式会社 | 充电率运算系统 |
CN102472801B (zh) * | 2010-02-24 | 2014-11-05 | 三菱重工业株式会社 | 充电率运算系统 |
US9026389B2 (en) | 2010-02-24 | 2015-05-05 | Mitsubishi Heavy Industries, Ltd. | State of charge computation system |
CN107404128B (zh) * | 2012-08-06 | 2020-06-09 | 京瓷株式会社 | 管理系统、管理方法、控制装置和电力存储装置 |
US10541540B2 (en) | 2012-08-06 | 2020-01-21 | Kyocera Corporation | Management system, management method, control apparatus, and power storage apparatus |
CN107404128A (zh) * | 2012-08-06 | 2017-11-28 | 京瓷株式会社 | 管理系统、管理方法、控制装置和电力存储装置 |
CN104854770A (zh) * | 2012-12-21 | 2015-08-19 | 索尼公司 | 供电控制设备、电池设备、供电系统以及供电控制方法 |
CN107102272A (zh) * | 2012-12-27 | 2017-08-29 | 杜拉塞尔美国经营公司 | 利用电池上电路远程感测剩余电池容量 |
US10698032B2 (en) | 2012-12-27 | 2020-06-30 | Duracell U.S. Operations, Inc. | Remote sensing of remaining battery capacity using on-battery circuitry |
US11307259B2 (en) | 2013-06-21 | 2022-04-19 | Duracell U.S. Operations, Inc. | Systems and methods for remotely determining a battery characteristic |
US10859705B2 (en) | 2013-06-21 | 2020-12-08 | Duracell U.S. Operations, Inc. | Systems and methods for remotely determining a battery characteristic |
US11740291B2 (en) | 2013-06-21 | 2023-08-29 | Duracell U.S. Operations, Inc. | Systems and methods for remotely determining a battery characteristic |
US10684374B2 (en) | 2013-06-21 | 2020-06-16 | Duravell U.S. Operations, Inc. | Systems and methods for remotely determining a battery characteristic |
CN104459544A (zh) * | 2013-09-12 | 2015-03-25 | 中兴通讯股份有限公司 | 一种检测电池容量的装置、方法及电池 |
WO2014169642A1 (zh) * | 2013-09-12 | 2014-10-23 | 中兴通讯股份有限公司 | 一种检测电池容量的装置、方法及电池 |
US10964980B2 (en) | 2014-05-30 | 2021-03-30 | Duracell U.S. Operations, Inc. | Indicator circuit decoupled from a ground plane |
CN107257750B (zh) * | 2015-02-18 | 2020-03-27 | 奥迪股份公司 | 具有监测装置的电池单体及相应的运行方法 |
CN107257750A (zh) * | 2015-02-18 | 2017-10-17 | 奥迪股份公司 | 具有监测装置的电池单体及相应的运行方法 |
US10340558B2 (en) | 2015-02-18 | 2019-07-02 | Audi Ag | Battery cell with monitoring device, and corresponding operating method |
CN108141059A (zh) * | 2015-09-29 | 2018-06-08 | 株式会社村田制作所 | 供电系统 |
CN108141059B (zh) * | 2015-09-29 | 2021-09-07 | 株式会社村田制作所 | 供电系统 |
CN105356544A (zh) * | 2015-11-27 | 2016-02-24 | 山东超越数控电子有限公司 | 一种基于ec控制器的便携式笔记本电池座充装置 |
CN105356544B (zh) * | 2015-11-27 | 2017-12-26 | 山东超越数控电子有限公司 | 一种基于ec控制器的便携式笔记本电池座充装置 |
CN107533724A (zh) * | 2016-02-24 | 2018-01-02 | 松下知识产权经营株式会社 | 服务器装置及其控制方法 |
CN105807247A (zh) * | 2016-05-19 | 2016-07-27 | 国网四川省电力公司电力科学研究院 | 用于三相三元件组合互感器检测的辅助接线装置及方法 |
US11031686B2 (en) | 2016-11-01 | 2021-06-08 | Duracell U.S. Operations, Inc. | Positive battery terminal antenna ground plane |
US10818979B2 (en) | 2016-11-01 | 2020-10-27 | Duracell U.S. Operations, Inc. | Single sided reusable battery indicator |
US11696942B2 (en) | 2016-11-01 | 2023-07-11 | Duracell U.S. Operations, Inc. | Reusable battery indicator with electrical lock and key |
US11664539B2 (en) | 2016-11-01 | 2023-05-30 | Duracell U.S. Operations, Inc. | Dual sided reusable battery indicator |
US10971769B2 (en) | 2016-11-01 | 2021-04-06 | Duracell U.S. Operations, Inc. | Reusable battery indicator with electrical lock and key |
US11024891B2 (en) | 2016-11-01 | 2021-06-01 | Duracell U.S. Operations, Inc. | Reusable battery indicator with lock and key mechanism |
US11024892B2 (en) | 2016-11-01 | 2021-06-01 | Duracell U.S. Operations, Inc. | Dual sided reusable battery indicator |
CN108072841A (zh) * | 2016-11-18 | 2018-05-25 | 半导体组件工业公司 | 用于确定电池的相对充电状态的方法和装置 |
CN106842058A (zh) * | 2017-02-28 | 2017-06-13 | 上海传英信息技术有限公司 | 一种基于智能终端的电量控制系统和方法 |
CN107621607A (zh) * | 2017-08-21 | 2018-01-23 | 中山市卓的电子科技有限公司 | 电池性能测试方法、测试终端、可读存储介质及测试系统 |
CN111162965A (zh) * | 2019-12-17 | 2020-05-15 | 杭州迪普科技股份有限公司 | 监控Buffer的方法和装置 |
CN111913118A (zh) * | 2020-09-04 | 2020-11-10 | 湖州快驴科技有限公司 | 一种能够检测电池历史信息的检测方法 |
CN112349076A (zh) * | 2020-11-05 | 2021-02-09 | 杭州若奇技术有限公司 | 一种干货储存箱的控制方法及干货储存箱 |
US11837754B2 (en) | 2020-12-30 | 2023-12-05 | Duracell U.S. Operations, Inc. | Magnetic battery cell connection mechanism |
WO2023159708A1 (zh) * | 2022-02-24 | 2023-08-31 | 深圳市涞顿科技有限公司 | 一种电池常带电自保养的控制方法及常带电自保养的电池 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1163020A (zh) | 用于向外部设备报告电池参数的智能电池算法 | |
AU692615B2 (en) | Smart battery algorithm for reporting battery parameters to an external device | |
CN103001299B (zh) | 充电器 | |
US9214702B2 (en) | Batteries for electric tools | |
US5652502A (en) | Battery pack having a processor controlled battery operating system | |
CN101599651B (zh) | 通用型快速智能充电器及充电方法 | |
US5600230A (en) | Smart battery providing programmable remaining capacity and run-time alarms based on battery-specific characteristics | |
CN1756024A (zh) | 二次电池充放电控制电路和传感无线终端 | |
US7400149B2 (en) | Method for assessment of the state of batteries in battery-supported power supply systems | |
US20120025786A1 (en) | Battery-controlled charging of a rechargeable battery | |
CN1574544A (zh) | 具有电池充电功能的直流电源单元 | |
CN1691461A (zh) | 蓄电池充电方法、蓄电池剩余容量比率计算方法及电池组 | |
JP5887531B2 (ja) | 充電器 | |
CN1169797A (zh) | 灵巧电池装置 | |
US20030146755A1 (en) | Electronic apparatus and control method | |
US6462514B2 (en) | Battery unit with an integral charge controller | |
CN1333940A (zh) | 能量监测和充电系统 | |
JP2001051030A (ja) | 充電電池あるいは充電電池パック | |
JPH1118314A (ja) | リチウムイオン二次電池の充電方法およびその充電装置 | |
JP3707636B2 (ja) | 充電制御方法および充電制御装置 | |
WO2017090365A1 (ja) | 充電装置及び充電方法 | |
JPH10201117A (ja) | 充電器の制御方法および充電制御装置 | |
JP3993720B2 (ja) | 充電電池あるいは充電電池パック | |
CA2204268A1 (en) | Smart battery device | |
JPH04331391A (ja) | バッテリー駆動パーソナルコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1004174 Country of ref document: HK |