色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 一種精確檢測鋰電池電量的方案

          一種精確檢測鋰電池電量的方案

          作者:李躍勇 (鄭州雅晨生物科技有限公司,鄭州 450000) 時間:2021-04-21 來源:電子產(chǎn)品世界 收藏
          編者按:傳統(tǒng)檢測鋰電池電量的方法一般是通過檢測電池兩端電壓,然后根據(jù)電池放電曲線,通過算法估算出電池電量。本文采用專業(yè)的電量計MAX17055配合充電管理芯片推出一種精確檢測鋰電池電量的解決方案。


          本文引用地址:http://cafeforensic.com/article/202104/424696.htm

          1   傳統(tǒng)電量檢測方案

          傳統(tǒng)的檢測方案采用ADC 采集兩端電壓,然后根據(jù)廠家提供的電池的放電曲線,通過算法估算出來的一個大概的電量數(shù)值。如圖1 所示,此圖是一個容量為2 000 mAh 的鋰電池放電曲線,放電電流為2 000 mA。

          1618993502517500.png

          圖1 鋰電池放電曲線

          X 軸代表剩余電量,Y 軸代表電池兩端電壓。根據(jù)實際需要顯示的電池電量要求,把Y軸分成相應(yīng)的段數(shù),然后對照X 軸坐標值,可大致估算出電池電量。

          例如圖2 所示,當電池電壓下降到3.5 V 左右時,電池電量大概在50% 左右。但這種方式最大的弊端是沒有考慮到電池的內(nèi)阻,從而導(dǎo)致計算出來的電池容量誤差很大。電池兩端電壓計算公式如下:

          V=Voc-I×Rbat

          image.png

          圖2 傳統(tǒng)估算電池電量的方法

          其中:Voc 指的是電池兩端的開路電壓,I 表示電池放電電流,Rbat 表示電池內(nèi)阻,不同廠家的電池內(nèi)阻通常在幾十毫歐到幾百毫歐不等,而且電池內(nèi)阻會隨著電池的老化而增加,通常在100 個周期之后電阻內(nèi)阻會增加1 倍,這種內(nèi)阻的變壓會導(dǎo)致計算出來的誤差非常大。

          從圖1 中的放電曲線上也可以看到,電池滿電量時,電壓約為4.2 V,當電池用2 000 mA 電流開始放電時,電池電壓瞬間就降低到3.9 V 左右,其中的壓降正是電池內(nèi)阻在作怪。當遇到需要突發(fā)電流的情形,就會發(fā)生電池電量格數(shù)跳變的現(xiàn)象。

          李躍勇(1986—),男,鄭州雅晨生物科技有限公司研發(fā)總監(jiān),研究方向:醫(yī)療器械。

          系統(tǒng)框圖

          采用Maxim ModelGauge?m5 EZ算法。ModelGauge m5 EZ 不需要對特定電池特征進行建模,很容易實現(xiàn)設(shè)計,并簡化主機軟件開發(fā)。

          ModelGauge m5 EZ 提供可靠算法,對于絕大多數(shù)鋰電池提供高精度測量。 自動補償老化、溫度和放電率,并提供精確的電量狀態(tài)(SOC,%) 和剩余電量(mAh)。當電池達到接近空電量的臨界區(qū)域時,ModelGauge m5 算法激活特殊的誤差修正算法,進一步消除誤差。系統(tǒng)設(shè)計師不再需要執(zhí)行特征分析,這部分工作實際上已經(jīng)由廠商完成了[1]。該方案系統(tǒng)框圖如圖3 所示,其中鋰電池負端通過檢流電阻連接到系統(tǒng)地, 相關(guān)檢測管腳連接到檢流電阻的兩端,充電管理芯片連接到鋰電池正極以及系統(tǒng)地。

          image.png

          檢流電阻用于檢測通過鋰電池的放電電流和充電電流,該電流送給MAX17055 芯片用于計算電池電量, 充電管理芯片用于給鋰電池充電,其中充電管理芯片可采用通用的TP5400 或BQ24075 等。

          MAX17055 實現(xiàn)了行業(yè)較低的靜態(tài)電流—低功耗模式下僅消耗7 μA 電流。對于空間受限的應(yīng)用,它可以支持1.4mm×1.5mm WLP 封裝[2],非常適合智能手表、手機、無人機等便攜式產(chǎn)品。

          3   系統(tǒng)電路圖

          充電管理芯片采用TP5400,它是一款專用的單節(jié)鋰電池充電器和恒定5 V 升壓控制器,充電部分集高精度電壓和充電電流調(diào)節(jié)器、預(yù)充、充電狀態(tài)指示和充電截止等功能于一體,可以輸出最大1 A 充電電流[3]。充電電路圖如圖4 所示。

          image.png

          圖4 TP5400充電電路

          IN_5V 連接外部充電器的5 V 輸出,OUT_5V 是TP5400 升壓后的5 V 輸出。VBAT 連接鋰電池正極,GND 連接鋰電池負極。CHRG 管腳為漏極開路輸出,當充電器向電池充電時,此管腳被內(nèi)部開關(guān)拉到低電平,表示充電正在進行;否則此管腳處于高阻狀態(tài)。

          STDBY 管腳也為漏極開路輸出,當電池充電完成時,此管腳被內(nèi)部開關(guān)拉到低電平,表示充電完成,否則為高阻狀態(tài)。PROG 管腳用于設(shè)定充電電流大小??筛鶕?jù)下面公式設(shè)定充電電流:

          image.png

          其中IBAT 表示充電電流,RPROG 為1.1 kΩ, 故設(shè)置的充電電流為1 A。根據(jù)芯片數(shù)據(jù)手冊可知,芯片的終止充電電流在C/5,大約是200 mA。MAX17055 硬件電路如圖5 所示。

          image.png

          圖5 MAX17055電路圖

          BATT 腳連接鋰電池正極,MAXGND 連接鋰電池負極,R5 為檢流電阻,此處為5 mΩ,CSP 腳連接檢流電阻正端,CSN 連接檢流電阻負端,SCL 和SDA 腳用于與單片機進行IIC 通信,ALRT 腳用于輸出報警信息。

          THRM 腳可用于連接帶有溫度檢測的鋰電池,如果鋰電池沒有溫度檢測管腳,可按上圖處理即可。

          MAX17055 需進行正確的初始化才能工作,其初始化流程如圖6 所示。

          image.png

          官方提供了MAX17055 初始化代碼例程,例程中的部分寄存器必須根據(jù)自己的實際情況來正確配置才能獲得精確的電量指示,這些寄存器分別如下。

          DesignCap Register(18h):電池容量寄存器,這個值與計算得到的當前的電池容量做對比,用來計算電池的使用壽命和健康狀況。多少毫安時的電池就填寫實際的數(shù)值進去,這里以2 000 mAh 的電池為例,此處可直接填寫0x07D0。

          RSense Register(D0h):檢流電阻大小寄存器,此寄存器例程中并沒有給出,但我們在實際配置過程中必須根據(jù)硬件電路配置此寄存器,否則得不出準確的結(jié)果。

          根據(jù)數(shù)據(jù)手冊官方推薦的數(shù)值,硬件電路采用5 mΩ 的檢流電阻,此處值我們填寫0x01F4。

          IChgTerm Register(1Eh):充電終止電流寄存器,前面我們設(shè)置的充電管理芯片TP5400 的充電終止電流為200 mA,一般我們將此值設(shè)置得比實際終止電流稍微大一些。在這里我們設(shè)置此寄存器的值為260 mA。

          VEmpty Register(3Ah):空電壓寄存器,鋰電池一般設(shè)置為3 V 即可。

          初始化代碼(部分)如下:

          I2C_Read(0x00, &statusPOR);// 讀取Status 寄存器

          if((statusPOR&0x0002) == 0)// 上電復(fù)位事件未發(fā)生

          {

          return SUCCESS;

          }

          else// 上電復(fù)位事件發(fā)生

          {

          I2C_Read(0x00,&reg_tempValue);// 讀FSTAT

          寄存器的值

          while(reg_tempValue&0x01)// 判斷FSTAT.DNR

          狀態(tài)

          {

          I2C_Read(MAX17055_REG_FStat,&reg_

          tempValue);

          I2C_Delay(10);// 延時 10ms

          }

          Read(0xBA,&HibCFG);

          WriteAndVerifyRegister(0x60,0x0090);

          WriteAndVerifyRegister(0xBA,0x0000);

          WriteAndVerifyRegister(0x60,0x0000);

          WriteAndVerifyRegister(0x18,0x07D0);// 設(shè)

          置電池容量為2000mAH

          WriteAndVerifyRegister(0x45,0x003E);// 設(shè)

          置dQAcc

          WriteAndVerifyRegister(0x1E,0x0340);// 設(shè)

          置充電終止電流為260mA, 計算方法0x0340*1.5625/5

          WriteAndVerifyRegister(0x3A,0x9661);// 設(shè)

          置空電壓,計算方法:0x9661*1.25mV/16

          WriteAndVerifyRegister(0xD0,0x01F4);// 設(shè)

          置檢流電阻大小,500=0x01F4

          WriteAndVerifyRegister(0x46,0x0640);// 設(shè)

          置dPAcc

          WriteAndVerifyRegister(0xDB,0x8000);// 設(shè)

          置ModelCFG

          WriteAndVerifyRegister(0x13,0x4600);// 設(shè)

          置FullSocThr 寄存器

          Read(0xDB,&reg_tempValue);

          while(reg_tempValue&0x8000)

          {

          I2C_Read(0xDB,&reg_tempValue);

          I2C_Delay(10);// 延時10ms

          }

          WriteAndVerifyRegister(0xBA,HibCFG);

          Read(0x00,&reg_tempValue);// 讀取Status

          寄存器

          WriteAndVerifyRegister(0x00,0xFFFD);// 清

          除POR 位

          Read(0x00,&statusPOR);// 讀取POR 位

          if((statusPOR&0x0002) == 0)

          {

          return SUCCESS;// 初始化成功

          }

          else

          {

          return FAULT;// 初始化失敗

          }

          4   結(jié)語

          隨著生活水平的提高,人們對便捷式產(chǎn)品的要求越來越高,傳統(tǒng)的依靠電池電壓來推算電量的方式因為顯示不精細、不準確而飽受詬病,特別是針對便捷式的醫(yī)療器械產(chǎn)品來說,往往可能因為電量指示的不準確從而誤導(dǎo)用戶沒有及時地對儀器進行充電,從而影響到儀器的再次使用。此方案可提供準確的電量指示,解決單節(jié)鋰電池供電儀器的電量指示問題。

          參考文獻:

          [1] 選擇合適的電池幫助產(chǎn)品實現(xiàn)最快上市和最長使用時間[Z].Maxim 公司,2017.

          [2] Maxim推出高精度、低靜態(tài)電流電量計,大幅延長電池運行時間 MAX17055 ModelGaugeTM m5通過消除電池依賴性,加速產(chǎn)品上市時間[Z].電子測試,2017.

          [3] TP5400數(shù)據(jù)手冊[Z].南京拓品微電子有限公司.

          (本文來源于《電子產(chǎn)品世界》雜志2021年3月期)



          關(guān)鍵詞: 鋰電池 電量計 MAX17055 202103

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉