1. 程式人生 > >TI單節電量計基本介紹及常見問題解答

TI單節電量計基本介紹及常見問題解答


原連結:bbs.eeworld.com.cn/thread-441955-1-1.html

電量計(gas gauge /fuel gauge)是用來計量顯示電池電量,通常包括mAh剩餘容量(RM),滿充容量(FCC),百分比容量(SOC),電壓,電流,溫度等,部分電量計還包含放空,充滿時間。TI阻抗跟蹤電量計還有2個重要引數,Qmax(最大化學容量,指以非常小的電流從充抱到徹底放空的容量)和阻抗表(重要的有25度下(部分很老型號為0度)的Ra table)。筆記本電量計(2-4串)還具備非常完善的保護功能。
常見問題: Q:採用電量計有什麼好處,哪些應用需要使用電量計? 一般來說,可充放電池都是電量計的應用場合,取決於成本,使用者體驗等多方面考量。 好處:
  1. 提高使用者體驗(能夠精確知道電量,不會有大幅度不合理跳變,傳統簡單的電壓法很容易有異常跳變,簡單的庫侖計會有累計誤差以及需要經常更新校準)
  2. 儘可能多放出電池電量,延長使用時間(獲得精確電量資訊能夠保證不突然宕機前提下采用更低的關機電壓)
  3. 成本效益,在2的前提下對於大容量電池能夠多放出來的電量可能比一個電量計成本還要高,另外在體積受限場合能夠避免使用高能量密度電池也能夠帶來成本上優化
Q:為什麼電量計精度十分難提高
  • 電池模型非常複雜,電芯型別繁多,有很多非線性引數,放電曲線受溫度,負載等影響很大,電池內阻隨著老化放電深度溫度會有明顯的變化。
  • 不同系統負載情況比較複雜,有的系統電流變化很快,有電流尖峰,電流變化範圍比較寬
Q:TI電量計高精度的原因
  • 成熟的專業演算法阻抗跟蹤,能夠很好得跟蹤電池的引數變化,在低溫和老化等情形都能夠保持良好的精度,同時上電第一個週期也有不錯的精度,並且只需要下載量產檔案無需要每個電池都進行迴圈老化,演算法基本內容
  • 有大量的電芯研究經驗和客戶反饋,積累了豐富的電池知識,通過客戶反饋的資訊不斷完善電量計特性
  • 硬體上的優勢,採用雙高精度15-16位ADC和低功耗微控制器

Q:TI電量支援哪種電池材料 目前TI阻抗跟蹤演算法電量主要是支援鋰電池,包括鈷理,錳鋰,鐵鋰和三元等多種材料,其中對於固定電芯資訊的BQ27425 BQ27421/441目前不支援鐵鋰並且需要針對材料選擇不同字尾型號,其他型號電量計需要針對特定材料下載相應的電芯資訊。
Q:TI單節電量計產品分類和如何選型 TI單節目前主推的型號有BQ27541 BQ27741 BQ27510 BQ27520 BQ27531/530 BQ27421/441 BQ27425
  • 考慮封裝BQ27741 BQ27520 BQ27425BQ27530/BQ27531均為CSP封裝,對於許多應用工藝要求比較高,BQ27541 BQ27510 BQ27441/BQ27421(421為9球CSP 可以無須過孔layout) 封裝有利於提高量產良品率和測試
  • 精度和成本要求,BQ27541 BQ27741 BQ27510 BQ27520 BQ27531/530設計精度為1%,基於Flash,成本比較高,BQ27421/441 BQ27425設計精度為5%,BQ27425為中成本,BQ27421/441儲存器件為ROM,成本低
  • 系統端和電池端,BQ27541/BQ27741為電池端(packside)電量計,通常是放置在電池包裡的,整個生產由電池廠家完成,精度也更高,系統使用者只需要完成I2C讀寫容量資訊命令即可,開發難度非常低,並且能夠用於電池識別,缺點是整個方案成本會稍高。其餘電量計為系統端電量計,放置在主機板上,系統使用者需要完成引數配置等除錯過程,稍微會複雜
  • 其他因素,BQ27741為帶保護功能電量,能夠設定更靈活的保護
                      BQ27530/531帶charger控制功能,能夠實現充電優化                       BQ27425/BQ27421為整合電流取樣電阻的電量計,最大長時間放電電流僅支援2A                       BQ27421/BQ27441為簡單易用電量計,配置引數流程簡單,適合用於微控制器控制場合                       BQ27620為只採電壓的電量計,使用較為複雜,建議選型前聯絡FAE。 Q:開發電量計需要哪些工具
  • 上位機軟體,目前主要有EVSW,BqCONFIG 和Gauge studio,通常可以在官網具體料號下面的軟體連結處下載獲得,BqCONFIG主要是stepbystep配置電量計引數以生成量產檔案使用,EVSW是用於記錄除錯資料,更新配置檔案等,Gauge studio為EVSW升級版本,新的型號將逐漸採用這個軟體取代EVSW和BqCONFIG
    Gaugestudio
    BQ275XX EVSW
    bqCONFIG
  • 電芯或者電池包,電子負載,電源,精密萬用表,如果有低溫測試需求還需要溫箱等
Q:能夠不使用/2300,僅使用微控制器便完成整個開發過程嗎? 不使用官網的評估套件就無法使用上位機進行相關配置,除錯和生成量產檔案,尤其對於BQ275XX、BQ27741這類需要燒寫電芯特性引數(CHEM-ID)的電量來說,開發階段僅通過微控制器是無法實現的這些引數燒寫,即使對於bq27421/441這些可以用微控制器完成配置的電量計,缺乏很好的除錯工具也會造成開發效率低下。 Q:連線電腦後無法使用 確實在部分電腦有無法使用現象,解決方法先嚐試裝驅動軟體(有32位和64位版本的驅動),如果不行建議更換為 Q:如何完成開發過程並得到量產檔案? 開發步驟主要包括:1.配置引數 2.校準 3.電芯曲線CHEM-ID選擇 4.迴圈學習golden learning 5.匯出量產檔案 1.配置引數,可以通過bqCONFIG或者EVSW裡的bqEASY進行配置,最通用的方式是通過EVSW或者Gauge studio對dataMemory裡的引數進行修改。主要引數(部分電量計可能沒有顯示全部引數,可以不填寫)有
 a. 判斷滿充條件引數 ->Charge Voltage 滿充充電電壓,charger恆壓充電時電壓 ->Taper Current   滿充時電流,一般設定比charger停止充電時電流略大25mA左右(注意BQ27425,BQ27421/441填寫方式略有不同,換算數值為Taper current(數值)=Design Capacity*10/Taper current(mA)) ->Taper Voltage   用於判斷電池符合滿充的條件,一般設定為100或者150mV,即比充電電壓小100-150mV b. 電池容量資訊 ->Design Capacity按電芯標稱容量填寫 ->Design Energy      按電芯標陳能量填寫(4.2V鈷鋰為標稱容量*3.7,4.35V滿充電壓的電池為標稱容量*3.8) c. 系統資訊(注意BQ27425,BQ27421/441填寫方式略有不同,換算數值為Threshold(數值)=Design Capacity*10/Threshold(mA)) ->Terminate Voltage系統正常執行最低工作電壓 ->Dsg Current Threshold放電閾值 ->Chg Current Threshold充電閾值 ->Quit Current
其他的資訊,包括中斷管腳功能,溫度感測器選擇等,根據需要填寫

2.校準 先確保無負載和充電電流情況下校準CC offset,然後校準 board offset,然後加上1A放電電流通過萬用表填寫實際電流數值校準Pack current 電壓和溫度校準無先後順序,需要確保電池或電源電壓數值穩定時通過萬用表讀取實際數值進行校準 對於整合取樣電阻的電量計無需要對pack current進行校準。

3.CHEM-ID選擇 A電池先採用0.5C恆流,恆壓taper電流小於0.01C充飽 B靜置2小時 C連線EVM板,自動log DataRAM資料,間隔為4s一次 D開始用0.1C電流放電,一直放到2.8V E靜置5小時 G 通過bqCONFIG/EVSW/Gauge studio相應介面下載CHEM_ID 注意板在做CHEM_ID前要先校準好,放電過程要連續,記錄的資料包含放電完之後靜置的那5小時,BQ27425/BA27421/441無需要這個步驟,只需要選擇相應型號

4.迴圈學習和匯出量產檔案 A、確認已經設定好相關的引數以及進行校準和CHEM_ID選擇才可以進行此步驟,傳送命令0x41復位,匯出DFI檔案或者SENC檔案備用 B、準備好一個放空的電芯(電壓在3.0V-3.3V),靜置5小時 C、連線板,傳送0x0021命令使能IT演算法,建議自動記錄Data RAM資料(4s間隔)Data FLash資料(10分鐘間隔) D、按照正常充電過程將電池充飽,然後靜置2小時,再按照0.2C電流進行放電到截止電壓,再靜置5小時,確保update status的數值為0x06 E、匯出DataFlash的gg檔案,用記事本開啟修改Update Status為0x02,Cycle Count為0 F、匯入之前備份的DFI或者senc檔案,然後再寫入修改後的gg檔案 G、生成DFI,dffs檔案 注意:測試過程在常溫進行,鐵鋰電池需要更長的靜置時間,A,E,F僅針對pack side電量計BQ27541和BQ27741,對於bq27421/441不需要步驟G,只需要得到gg檔案即可。BQ27425對應DFI檔案叫做DMI檔案。BQ27421/441和BQ27425無需要傳送0x0021命令。對於BQ275XX和BQ27741實際量產時最後需要確認傳送使能(0x0021)和seal命令(0x0020),BQ27421/441BQ27425需要傳送seal命令(0x0020)
Q:為什麼需要seal電量計?如何unseal電量計? Seal電量計以方面可以防止正常執行時錯誤寫入電量計引數,另一方面可以保證電量計引數不被第三方讀出
Unseal電量計方式,對暫存器00和01寫入DataMemory裡的2個引數:Sealed to Unsealed = 36720414 Unsealed to Full = FFFFFFFF,預設是36720414 和FFFFFFFF,如果修改過則按照修改後的引數(注意傳送時要連續)先往00暫存器發0414中的14


再往01暫存器發0414中的04


再發3672(圖略),同理傳送FFFFFFFF。
Q:電量計得到量產檔案後如何進行量產?
系統端電量計可以通過AP編寫相關的配置程式下載dffs或者bqfs檔案電池端電量計可以通過專業第三方量產裝置或者使用多個EV2300進行小批量生產
Q:如何編寫I2C程式?
TI 提供了一個基於MSP430的讀寫例程。MSP430™ Microcontroller Software for Handheld FuelGauges and Battery Authentication Products。如果實際編寫中發現還是通訊不正常,可以使用示波器抓取相應波形對比一下。例如讀電壓波形,08暫存器連續讀2個位元組得到5E0E,那麼電壓值為0x0E5E=3678

Q:如何獲得TI的技術支援除了聯絡TI和代理商的FAE以外?
常見的方式就是通過deyisupport和E2E論壇發帖詢問。
Deyisupport中文論壇主要是由國內FAE進行支援,
E2E英文論壇主要由產品線支援
Q.如何log資料和匯出gg檔案,senc檔案?
通常在論壇提及電量計問題時,會經常遇到log資料,gg和senc檔案。Senc檔案包含了電量計所有引數,包括firmware,隱藏引數和公開引數。GG檔案只包含公開引數。Log資料包含了一段時間內電量計暫存器的數值。一般除錯過程中,儘量記錄gg檔案和log資料。EVSW裡log資料和匯出GG檔案方法

Log 資料方式:Option-set logging Interval 設定記錄資料間隔,一般記錄時間不長的話採用預設的1000mS即可,然後點選start logging填寫檔名點save就可以log資料了。

GG檔案匯出方式:點選DataFlash進入引數頁面,選擇File選單下的Export填檔名點save就可以匯出gg檔案。同樣位置Import就是匯入GG檔案。Options選單裡可以設定gg檔案自動匯出的間隔名稱,最後選擇AutoExport就能夠自動記錄GG檔案。Gauge studio裡log資料和匯出gg檔案方法

Gaugestudio 裡點選Datalog(1)然後新增需要記錄的資料(2),設定記錄時間間隔(5),然後點選開始(3),資料記錄完成後再點選3的位置,按4儲存。

GG 檔案匯入和匯出點選DataMemory,圖中的2 和3就是匯入匯出GG檔案 GG裡引數的修改直接選擇相應的引數,輸入修改後數值回車就,修改完建議點Read All鍵確實是否寫入成功。

Q:為什麼無法修改GG裡的引數

  • 電壓低於Flash能夠更新的電壓值,預設數值電壓為2.8V
  • Ra table等部分引數不允許直接修改,需要修改的話必須通過匯出gg檔案用記事本等軟體修改後再匯入
  • 電量計處於seal狀態,需要unseal後才能操作
  • 如果是BQ27425,BQ27421/441需要先發送0x0013命令進入配置模式後才能修改GG數值
  • 如果是使用自己程式設計修改,需要寫入正確的checksum