在當今的汽車中,不斷增加的電力負荷給電池帶來了巨大的挑戰。超過半數因為電力系統導致的汽車故障都可以向上追溯到鉛酸電池,如果了解電池狀態,這些故障是可以避免的。另外,諸如起停系統(start-stop)或智能交流發電機控制等微型混合動力汽車的新功能也要求確切地了解電池狀態。
電池管理系統(BMS)可通過快速、可靠地監測啟動能力中的充電狀態(SoC)、健康狀態(SoH)和功能狀態(SoF),提供必要的信 息。因此,BMS可以最大限度地降低因為電池意外故障而導致的汽車故障次數,從而實現最長電池使用時間和最大電池能效,并可以支持二氧化碳減排功能。 BMS的主要元件是智能電池傳感器(IBS),它可以測量電池端電壓、電流和溫度,并計算出電池的狀態。
本文將介紹如何實施使用最先進的算法來計算SoC、SoH和SoF的BMS,以及如何在飛思卡爾的鉛酸電池IBS中高效地實施上述功能。
1) 簡介
過去,汽車電池的充電級別一直是一項無法了解的因素,在許多情況下會導致汽車故障。根據汽車使用壽命的不同,與電池有關的故障率可能攀升至10000 ppm 。
對汽車電池來說另一個已經存在的非常嚴峻的挑戰來自不斷增長的電力與功耗需求,同時還需要降低二氧化碳排放。
因為電子系統在汽車創新領域里起著非常重要的作用,所以隨著汽車在舒適性功能、安全相關功能電子化、混合動力汽車、駕駛輔助和信息娛樂方面的發展,對電力供應的需求也越來越高。
在另一方面,越來越多的法規出臺呼吁減少二氧化碳排放和燃油消耗。
為了應對上述限制要求,需要采用高級電力管理系統,來確保在各種工作場景中電池都能為引擎啟動提供足夠的電力。
2) 電力管理系統
通常,支持啟動-停止系統所用的典型供電網絡包括一個車身控制模塊(BCM)、一個電池管理系統(BMS)、一個發電機和一個DC/DC轉換器(請參見圖1)。
BMS通過專用的負載管理算法為BCM提供電池狀態信息,通過控制發電機和DC/DC轉換器穩固和管理供電網絡。DC/DC轉換器為汽車內部的各個電氣元件供電。
圖1:典型啟動-停止系統中使用的供電網絡示例
Generator:發電機;Battery mgmnt system:電池管理系統;Energy:電力;Control:控制;AC/DC Converter:AC/DC 轉換器;Consumers:電氣元件
通常,鉛酸電池的BMS直接安裝在電池夾的智能連接器中。連接器包括一個低阻值分流電阻(通常在100uOhm范圍內)和一個帶有高度集 成設備的小型PCB,該集成設備具有準確的測量和處理功能,稱之為智能電池傳感器(IBS,參見圖2)。IBS即便在最惡劣的條件下也能以高解析度和精確 度測量電池電壓、電流和溫度,并能夠在電池的整個使用壽命中準確地預測電池的充電狀態(SoC)、健康狀態(SoH)和功能狀態(SoF)。這些參數定期 或根據要求通過一個獲得汽車行業認證的車載網絡傳送至BCM。
圖2:鉛酸電池的典型智能電池傳感器
Battery Plus Pole:電池正極;Battery Minus Pole:電池負極;Chassis ground:底盤接地;Precision measurement battery current, voltage & temperature:精確測量電池電流、電壓和溫度;Determination of key battery characteristics: state of health (soh) state of charge (soc) state of function (sof):確定主要電池特性:健康狀態(SoH)、充電狀態(SoC)和功能狀態(SoF);Communication to bcm:與BCM通信
除上述功能和參數功能外,對IBS提出的其他主要要求包括低功耗、能夠在惡劣的汽車行駛環境中(即EMC和ESD)工作、進行汽車OEM 廠商驗收的車載通信接口一致性測試(即,LIN)、滿足汽車等級測試限制(針對被測參數的六西格瑪限制),另外還需符合AEC-Q100標準要求。
飛思卡爾宣布推出一款完全集成的LIN電池監控設備,它基于Freescale S12 MCU技術[2],能夠滿足上述所有參數要求。該設備包括三個獨立的測量通道:通過外部分流電阻測量電流;通過直接安裝在電池負極的串聯電阻測量電池電 壓;通過集成傳感器測量溫度。采用一個集成LIN 2.1接口直接將傳感器連接至LIN總線,無需其他部件。飛思卡爾IBS完全符合汽車行業的AEC-Q100標準要求。
在下面幾章里,我們將為您介紹使用飛思卡爾IBS的BMS的實施方案,以及如何通過使用IBS的硬件特性和定點算法來實現BMS的高效運行。
3) 電池監控
正如第2)部分中所提到的,IBS的主要用途是監控電池狀態,并根據需要將狀態變量傳送至BCM或其他ECU。電池監控輸入值將使用已測量的電池電流、電池電壓和溫度采樣值。電池監控輸出值是SoC、SoH和SoF值。
3.1) 充電狀態
(SoC) SoC的定義非常直觀,通常以百分數的形式表示。完全充電的電池SoC為100%,完全放電的電池SoC為0%。SoC值隨電池的充電和放電改變。
該值通過公式(1)計算,其中Cr代表電池的剩余(可放電)電量,Ca代表電池的可用總電量:
但是,有一個問題是可用電池電量常常與電池的標稱容量(通常標注在電池外殼的標簽上)不同。對于一個新電池,它可能比標稱容量稍高,對于已經使用一段的電池來說,可用電量會降低。另一個問題是,實際可用電量很難根據IBS的輸入值來確定。
因此,SoC通常額定為標稱容量Cn,它具有多項優勢:
●特定SoC的電池的可用總充電電量是已知的,包括舊電池。
●測試Cn點的電流(I=Cn/20h)和溫度(27℃)是可確定的
庫侖計數算法是跟蹤SoC快速變化的最佳算法。它基于流進和流出電池集成電流并根據實際情況采納經過計算的SoC。公式(2)用于SoC計算,其中Q(t0)表示電池的初始電量,α表示效能因子,i(t)表示電流(正向或負向),Cn表示電池的標稱容量。
除了α因子以外,公式中的參數都非常直觀。這是一個用來描述效能的因子,也稱為Peukert定律[3] [4]。它表述了在不同放電率的情況下鉛酸電池的電量。當放電率提高時,電池的可用電量將降低。另外一個影響可用電量的參數是溫度。溫度越高,可用電量也 就越高。兩種效能都使用α描述,因此α值需要采用一個2維數組(溫度和放電率)。根據測量到的溫度和放電率,相應的值分別用于每一個集成步驟。α值在很大 程度上取決于電池的設計和化學組成,通常情況下即使是同一家制造商的不同型號的電池該值也會有所不同。他們通常已經在實驗室里通過充電和放電測試。
雖然Peukert定律只適用于放電的情況,但也有一個與α值類似的效能因子用于充電周期。除了溫度和充電率以外,實際的SoC 也需要考慮在內,因為在高SoC情況下的充電效能小于中等SoC情況下的充電效能。
因為綜合了電流值和α值,因此在更改電池條件時產生的誤差、以及電流測量和量化誤差隨著時間的增加變得越來越多。因此,參數Q(t0) (電流集成的起始點)通常通過一種能夠提供更高精度的不同方法獲得:OCV 方法。OCV是當沒有電氣元件從電池中獲取電流時電池兩極之間的電壓。
鉛酸電池顯示OCV和SoC之間有良好的線性關系。因此,通過測量OCV,SoC可以直接計算出來。OCV和SoC之間的確切因子必須表征出來。
這種方法的唯一缺陷是,OCV只能在汽車停好以后測量,例如(幾乎)所有電氣元件都關閉后,或者在汽車熄火后經過數十分鐘甚至小時后再測量。
因此,OCV方法常常用于校準庫侖計數,庫侖計數算法連續運行。這種組合方式提供了一個良好的SoC計算方法,并且可以在一個較長的停車時間內,用自放電率糾正SoC來使計算結果更加精確。
3.2) 健康狀態(SoH)
鉛酸電池的各種老化效應會對電池使用造成不同的影響[5]。由于很難通過IBS逐個對這些老化效應進行監測和量化,因此SoH的額定值通 常不直接與這些老化效應掛鉤。相反,會隨著電池的使用時間增長,容量額定值降低,這是老化的主要結果。與電池老化有關的另一個非常重要的參數是啟動性能; 但是它通常表述為啟動能力的功能狀態(SoF) (請參見第3.3節)。
因此,SoH通過公式(3)來估計,其中Caged代表老化的電池容量,Cn代表在每個SoC計算中引用的標稱容量。
因為Cn 是已知的,因此計算SoH的關鍵任務是找到Caged。一種可能的方法是在電池的整個使用壽命內跟蹤可以到達的最大電量(或SoC)。如果在隨后進行的若 干次完全充電后,電池的最大電量水平低于以前計算的老化容量,則表示老化容量變小。相應的,Caged 和SoH必須根據庫侖計數和OCV方法確定的容量進行調整。完全充電狀態可以在充電電流降低至特定門限值以下時監測。
確定SoH的另外一個方法是跟蹤充電和放電周期,以電池制造商提供的周期穩定點取其額定值。通常,制造商會確保在指定溫度和深度下的充電/放電周期總量,例如,在27攝氏度、25%放電深度時500個周期。通過將所有周期額定為上述數量,并應用溫度和充電狀態校正因子,可支持跟蹤上面提到的Caged值。這些校正因子必須通過表征電池的參數來確定。但是,這兩種方法通常還會與其他專用算法結合使用,這些算法考慮了電池使用壽命中的多個電池參數。
在實驗室中進行大量的電池參數表征可確定這些電池參數,通常只適用于一個特定的電池型號。
3.3) 功能狀態(SoF)
對鉛酸電池來說,發動汽車引擎即便不是最重要的功能,也是非常重要的功能。因此,BMS一個非常重要的任務是預測在實際電量條件下是否能夠啟動汽車。啟動預測通過SoF參數表示。
除了過去“傳統的”停車后再啟動,通過在微型混合動力汽車中引入啟動-停止系統,啟動預測功能正變得越來越重要。BMS必須與BCM通信并決定是否可以在引擎關閉后再次啟動,以及是否可以安全地進入停止模式。
獲取SoF參數的一個非常好的途徑是通過分析最近的引擎啟動情況、剩余電量(作為SoC和SoH的函數)和實際溫度。在啟動期間,電池的 內部電阻(Ri)需要被記錄下來(通過電壓降和電流來計算)。因為Ri在電池的使用壽命中是相對一致的、并且只是在電池使用壽命結束前顯著升高,因此Ri 平均值需要在一個特定的門限值以下,以確保安全啟動。在啟動階段老化電池的另一個影響是,從電壓和電流采樣中計算出的Ri值會表現出非線性的趨勢[5], 即,對于同等電壓樣本會有不同的電流值。而對于新電池來說,Ri是線性的。請參見圖3和圖4了解啟動過程中常見的電壓和電流趨勢。
圖3:啟動電壓趨勢
圖4:啟動電流趨勢
綜合Ri(通過電壓降和電流來計算)、電池剩余電量和實際溫度,可以很好地指示啟動能力。同樣,這些門限值也必須通過電池參數表征來確定。
為了使用必要的準確值來確定Ri的線性或非線性行為,所有在啟動階段取樣的電壓和電流值都需要使用一個線性過濾器來過濾,優選采用帶通過濾器。
4) BMS在硬件和軟件中的高效實施
電氣能效是新型汽車一個最重要的特性,由BMS提供支持。除了管理一些節電功能外,BMS還需要具有高能效,因為它是始終開啟的系統之一,當發電機不工作時需要通過鉛酸電池供電。為了滿足這一要求,IBS的能耗必須盡可能低。
為了實現這一目標,飛思卡爾的IBS實施采用兩種低功耗模型,其中CPU和其他不需要開啟的硬件(HW)模塊都可以關閉。為了降低正常運 行模式中的能耗,并減少客戶的軟件(SW)開發工作,添加了額外的硬件模塊以降低軟件復雜性。為了實現這一目標,可以使用規模更小、功耗更低同時也更為經 濟高效的16位微控制器。另外一種降低軟件復雜性的方法是在整個使用壽命期間確保產品參數,并將工廠調校值存儲在非易失性存儲器(NVM)中。作為產品下 線測試的一部分,這些調教值針對每個芯片逐個進行參數表征描述,并相應地存儲。因此,在軟件中無需使用復雜的校準算法。
除了在硬件中實施的這三種技術以外,本章還介紹了電池監控算法的高效軟件實施方案(請參見圖3)。
4.1) 低功耗模式
實施低功耗模式是一種非常好的降低功耗的方法。實現方法是,在不需要SoC部件(尤其是CPU)時將其關閉、并僅在需要時更改為正常模式(例如,激活所有硬件模塊)。正如前面所提到的,共有兩種低功耗模型,其不同之處僅在于CPU被喚醒后使用的程序進入點。
但是,在低功耗(即沒有軟件交互)模式下,也需要監控電池狀態。首先,需要跟蹤電流,通過庫侖計數方法計算出SoC。相應地,可以支持低功耗模式下的電流測量(即,庫侖計數)和電流采樣值的自動求和。
IBS必須能夠對電池和汽車的狀態更改作出反應,即電池傳感器必須在發生各種事件時喚醒。相應地,也需要測量低功耗模式期間的電流和溫 度。電流變化通常表明汽車狀態發生變化(電氣元件打開或關閉),而溫度改變時有時需要重新校準測量通道參數(請參見4.3)。可以配置電流和溫度采樣值的 門限值,如果超出門限值則觸發喚醒。還可以使用自動庫侖計數器門限值喚醒機制。
除了那些針對被測量參數的喚醒事件以外,還可實施其他喚醒機制,允許BCM或汽車中的其他電氣設備喚醒IBS(通過LIN消息或直接導線連接),還有定時喚醒機制。
上述低功耗模式和喚醒機制的實施允許IBS在大多數時間里都運行在低功耗模式下(通常約為70%),包括引擎運行時。在正常運行模式期間,SoC、SoH和SoF參數將被重新計算。
4.2) 將軟件任務遷移至硬件模塊
實施專用硬件模塊來承擔軟件中的任務是降低軟件復雜性和節省電力的一種有效方式。在將此類硬件模塊用于電池監控算法以前,可以非常高效地 將其用于電壓、電流和溫度測量樣本的預處理。這一點非常必要,因為汽車的電線中常常會出現干擾,并且IBS的采樣值的測量準確度要求非常高。
帶有抽取和抗干擾過濾器的高精度16位sigma-delta ADC非常適合這種應用,因為與其他ADC技術相比它具有高測量精確度。結合誤差補償功能(請參見4.3),已能夠提供非常好的精確度。但是,在信號處理 序列之后常常需要對樣本再次過濾。這樣做的原因是可以去除汽車中其他電氣設備中的噪音,因此需要自由轉換過濾器的頻率特征。另外一個原因是,被觀察的特定 電池參數作為電池監控的一部分,與激勵頻率(由電池的化學組成決定)緊密聯系在一起。例如,Ri就是這種情況。一個可以編程的線性過濾器可以滿足所有這些 要求:過濾器系數可以通過寄存器傳輸到硬件過濾器模塊。這些寄存器可以編程一次,然后在軟件中不再需要完成過濾任務。
電流測量結果面臨一個挑戰,因為需要針對微小電流進行高度精確的測量,同時還必須支持大范圍測量。所要求的精確度要高于10mA,這意味 著在100 μOhm的分流上出現1μV的壓降;在汽車啟動過程中,會出現1000A和更高的電流。為了支持上述兩種需要同時避免出現從軟件執行手動測量重新配置,需 要實施一個自動增益放大器。一個可選擇的增益因子將調節輸入信號,使其經過優化與ADC的參考電壓匹配。增益因子的調節可以自動完成,在整個運行過程中, 無需對軟件進行重新配置。為了便于測試目的,或如果存在特殊的應用環境,也可以選擇固定增益因子。
4.3) 簡化校準工作
確保設備在整個使用壽命期間都保持高精確度的一個非常重要的任務是微調和校準。為此,以前測試的糾正因子也可以應用至關鍵的設備參數中。 作為產品線設備測試的一部分,這些因子針對不同的溫度進行測試,并且存儲在IBS的NVM中。在設備啟動時,各個微調參數必須由軟件寫入至設備寄存器中。 需要微調的參數可以在電流和電壓測量序列中找到。另外,振蕩器、電壓基準和LIN計時也需要被校準。在運行期間,也會需要進行重新校準,例如需要定期執行 校準或在出現溫度急劇變化時執行校準。如果適合,不同的糾正因子必須再次寫入至各自的寄存器。
上面提到的校準功能可以避免客戶針對這些參數進行成本昂貴的產品下線測試。另外,通過簡單地應用參數,還可以降低校準的軟件復雜性。
4.4) 軟件實施方案
在3)章節中提到的電池管理算法需要處理器密集型計算和控制算法。通常,在PC上使用基于模型的模擬工具來完成這些算法的首次實施。這些 工具通常使用浮點數據格式。在之后的開發流程中,這些算法會導入到IBS上。但是,由于成本和功耗的原因,IBS所用的微控制器類上并不提供浮點硬件。因 此,為了實現適用的運行時間,在算法中使用的數據類型必須轉換為定點整數格式。共有多種數據類型和內在值范圍可用。例如,下面列出了在飛思卡爾的IBS上 提供的數據類型:
為了表示小于1的值,LSB被映射為特定的值。
該值由所需的解析度決定。通過選擇其中一個可用的數據類型,可以導出該變量的可用值范圍和虛擬固定小數點(固定點格式)。例如,解析度為1mV,采用標記整數數據類型,則范圍為0至65.535伏特。
因為飛思卡爾IBS中有一個16位S12 CPU,因此整數數據類型可提供16位精度。這意味著8位和16位變量處理起來比32位值具有更高性能。因此,一般都是首選8位和16位變量。
從上面提到的計算SoC、SoH和SoF所用的算法實施范例中可以發現,在許多情況下,16位變量可以提供充足的值精確度和范圍。這是因 為電壓和溫度輸入值都具有16位精確度(通過使用16位ADC)。其他16位精確度就已足夠的值,包括SoC、SoH、Ri和糾正因子α(請參見第3章了 解詳細說明)。即使采用24位精確度的電流采樣值,也可以在大多數時間里映射至16位。在類似3mA的精確度上,通過使用帶標記的16位整數格式,可以表 示+/- 98.3 A范圍的電流值,無需針對數字格式進行進一步的修改。這足可以滿足汽車行駛和停止期間的要求。在啟動過程中,電流采樣值會超過邊界,必須使用32位數據格 式。需要32位格式的參數是與電池充電有關的值(例如,庫侖計數器)。
5) 總結
本白皮書介紹了如何在使用飛思卡爾IBS的微型混合動力汽車中有效實施BMS。討論了最先進的電池狀態計算算法(SoC、SoH和 SoF)。從中可以了解到,在功耗方面可以采用哪些特殊的硬件特性來提供IBS的效率。另外,本文還介紹了具有自動電池狀態監控功能(無需軟件交互)和復雜的喚醒機制的低功耗模式的使用。結果顯示,IBS能夠在大多數時間內處在低功耗模式中。另外,通過正確的硬件信號處理、可編程的過濾器和簡化的校準方 式,我們可以發現軟件復雜性已經顯著降低。本文還介紹了定點算法原則,結果顯示,對于BMS算法中的變量來說,16位定點數據格式常常能夠滿足要求,只在 少數時候需要32位格式。
評論
查看更多