<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鋰電池電量檢測解決方案

我快閉嘴 ? 來源:電子產品世界 ? 作者:李躍勇 ? 2021-05-02 12:37 ? 次閱讀

1 傳統鋰電池電量檢測方案

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

鋰電池電量檢測解決方案

圖1 鋰電池放電曲線

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

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

V=Voc-I×Rbat

鋰電池電量檢測解決方案

圖2 傳統估算電池電量的方法

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

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

系統框圖

MAX17055采用Maxim ModelGauge?m5 EZ算法。ModelGauge m5 EZ 不需要對特定電池特征進行建模,很容易實現電量計設計,并簡化主機軟件開發。

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

鋰電池電量檢測解決方案

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

MAX17055 實現了行業較低的靜態電流—低功耗模式下僅消耗7 μA 電流。對于空間受限的應用,它可以支持1.4mm×1.5mm WLP 封裝,非常適合智能手表、手機、無人機等便攜式產品。

3 系統電路圖

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

鋰電池電量檢測解決方案

圖4 TP5400充電電路

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

STDBY 管腳也為漏極開路輸出,當電池充電完成時,此管腳被內部開關拉到低電平,表示充電完成,否則為高阻狀態。PROG 管腳用于設定充電電流大小??筛鶕旅婀皆O定充電電流:

鋰電池電量檢測解決方案

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

鋰電池電量檢測解決方案

圖5 MAX17055電路圖

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

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

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

鋰電池電量檢測解決方案

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

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

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

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

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

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

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

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

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

{

return SUCCESS;

}

else// 上電復位事件發生

{

I2C_Read(0x00,?_tempValue);// 讀FSTAT

寄存器的值

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

狀態

{

I2C_Read(MAX17055_REG_FStat,?_

tempValue);

I2C_Delay(10);// 延時 10ms

}

Read(0xBA,&HibCFG);

WriteAndVerifyRegister(0x60,0x0090);

WriteAndVerifyRegister(0xBA,0x0000);

WriteAndVerifyRegister(0x60,0x0000);

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

置電池容量為2000mAH

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

置dQAcc

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

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

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

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

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

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

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

置dPAcc

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

置ModelCFG

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

置FullSocThr 寄存器

Read(0xDB,?_tempValue);

while(reg_tempValue&0x8000)

{

I2C_Read(0xDB,?_tempValue);

I2C_Delay(10);// 延時10ms

}

WriteAndVerifyRegister(0xBA,HibCFG);

Read(0x00,?_tempValue);// 讀取Status

寄存器

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

除POR 位

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

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

{

return SUCCESS;// 初始化成功

}

else

{

return FAULT;// 初始化失敗

}

4 結語

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鋰電池
    +關注

    關注

    257

    文章

    7782

    瀏覽量

    164299
  • 檢測
    +關注

    關注

    5

    文章

    4153

    瀏覽量

    90855
  • 電量
    +關注

    關注

    0

    文章

    107

    瀏覽量

    18118
收藏 人收藏

    評論

    相關推薦

    鋰電池電量檢測問題

    打算自制一鋰電池電量檢測板(20~30V輸入),能將電量值通過串口或其他方式將數據傳給計算機,有沒有什么芯片或軟件可用借鑒?要求盡量降低成本。工作溫度要在-20~60度。謝謝!
    發表于 04-11 11:20

    8腳帶AD轉換單片機做鋰電池電量檢測是否可行

    8腳帶AD轉換單片機做鋰電池電量檢測是否可行
    發表于 12-14 21:12

    [求助] 顯示5串鋰電池電量方案?最好有電路圖

    顯示5串鋰電池電量方案?最好有電路圖 ,用LED燈顯示的
    發表于 01-14 20:58

    鋰電池電量檢測疑問

    最近在做一個手持設備時遇到了電池電量檢測問題。一開始我使用檢測鋰電池電壓的辦法,但發現不準確,最后只做了低電量報警。網上搜索發現,有一種“庫
    發表于 10-19 17:39

    鋰電池電量檢測----充電過程,鋰電池電量怎么檢測?

    1、給電池充電,本來打算通過檢測電池電壓Vbat,來計算電池的充電電量;2、但是5V適配器接上后,主控板就會輸出4.2V的Vbat,這時
    發表于 03-18 17:04

    鋰電池電量檢測芯片

    求教介紹款鋰電池電量檢測芯片:1)使用I2C通信接口;2)測量3.7V鋰電池;3)成本盡量??;4)封裝小點;5)使用庫侖計數,或者阻抗跟蹤的檢測技術;
    發表于 05-24 18:41

    簡單的鋰電池電量檢測電路 從百度里下載的

    簡單的鋰電池電量檢測電路從百度里下載的
    發表于 06-04 09:43

    單個鋰電池電量檢測集成電路LC709203F

    導讀:On Semi公司的LC709203F是用于手持設備的單個鋰電池電量檢測集成電路(IC),具有高精度電池電量檢測和精密電壓測量,不需要外接電阻,支持高達400kHz的I2C接口和
    發表于 09-30 16:03

    單節鋰電池電量指示芯片

    YJ60A是一款單節鋰電池電量指示芯片,可實現四個電壓點的檢測,檢測精度高。
    發表于 12-07 20:56

    單節鋰電池電量指示芯片

    YJ60A 是一款單節鋰電池電量指示芯片,可實現四個電壓點的檢測。
    發表于 12-19 18:31

    單節鋰電池電量指示芯片

    YJ60A是一款單節鋰電池電量指示芯片,可實現四個電壓點的檢測。
    發表于 02-18 19:59

    單節鋰電池電量指示芯片

    YJ60A是一款單節鋰電池電量指示芯片,可實現四個電壓點的檢測。
    發表于 02-20 13:05

    單節鋰電池電量指示芯片

    YJ60A是一款單節鋰電池電量指示芯片,可實現四個電壓點的檢測。
    發表于 02-24 11:09

    單節鋰電池電量指示芯片

    YJ60A是一款單節鋰電池電量指示芯片,可實現四個電壓點的檢測。
    發表于 03-04 10:23

    鋰電池電量指示電路

    鋰電池電量指示電路內部有四個比較器,由四個獨立的指示電路實現電池的端電壓指示。
    發表于 12-06 18:23
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>