新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 深入了解電池管理系統(tǒng)的開路檢測

深入了解電池管理系統(tǒng)的開路檢測

作者:Frank Zhang 時間:2025-03-17 來源: 收藏

開路檢測功能對于安全可靠地運行()起著至關(guān)重要的作用。鑒于其重要性,我們建議對感興趣或會參與設(shè)計的人員花時間了解這項功能。本文以公司的電芯監(jiān)控器為例,詳細(xì)討論了BMS電路在與外部電芯連接后,如何利用算法準(zhǔn)確識別幾乎所有開路情況。文中關(guān)于開路檢測算法的討論,目的是讓讀者更深入地了解這個BMS功能。本文提供的開路檢測偽代碼旨在為BMS設(shè)計人員提供設(shè)計參考。

本文引用地址:http://2s4d.com/article/202503/468186.htm

簡介

(BMS)中,各電芯和電芯監(jiān)控電路之間存在大量的布線連接。這些布線連接是確保電芯監(jiān)控器可靠監(jiān)控電芯參數(shù)(包括電壓、電流、溫度等)的關(guān)鍵,同時還可以用作電芯被動平衡放電的電流路徑或繼電器控制信號的傳輸路徑。BMS需要管理的電芯數(shù)量通常非常龐大,因此布線連接的數(shù)量也相當(dāng)可觀。這些連接不僅數(shù)量繁多,部分線路甚至相當(dāng)冗長,因為它們往往需要跨越不同的印刷電路板(PCB),或是連接PCB與由眾多獨立電芯組成的電池包。此外還需要配合使用許多連接元件。BMS設(shè)計過程中,應(yīng)盡量避免出現(xiàn)開路的情況。如果某個電芯發(fā)生開路,就意味著對其狀態(tài)的有效監(jiān)控將大打折扣或完全失效,而失去監(jiān)控的電芯將給整個BMS帶來潛在的安全隱患,甚至可能在未知時刻對系統(tǒng)造成致命威脅。當(dāng)出現(xiàn)開路情況時,首要任務(wù)是快速、準(zhǔn)確、高效地確定開路位置并及時通報。有效、準(zhǔn)確的開路檢測算法將大大提高BMS的可靠性,并有利于BMS和電池包的故障排除。通過算法精準(zhǔn)地定位故障,可以有效減少人工排除故障過程中許多不必要的重復(fù)檢查、拆卸和組裝工作。

BMSC引腳中的開路檢測

開路檢測對BMS至關(guān)重要,因此公司的大部分電芯監(jiān)控器都配備了開路檢測命令及相應(yīng)的實現(xiàn)方法。不同型號電芯監(jiān)控器使用的開路檢測方法可能有所不同,例如ADBMS6830B使用的方法就與LTC6813不同。本文將圍繞后者展開討論。LTC6813采用的開路檢測方法也是ADI各型號電芯監(jiān)控器常用的方法,具有通用性,其核心是基于ADOW(開路檢查)命令。

ADOW命令主要用于檢查LTC6813-1ADC與外部電芯之間是否存在開路。此命令與ADCV(測量電芯電壓)命令一樣,對C引腳輸入執(zhí)行模數(shù)轉(zhuǎn)換,但在測量兩個C引腳時,兩個內(nèi)部電流源會為其提供電流或吸收電流。ADOW命令的上拉(PUP)位決定電流源是提供還是吸收100μA電流。可以使用以下簡單算法來檢查19C引腳是否有開路:

u  設(shè)置PUP = 1,運行18電芯命令ADOW至少兩次。結(jié)束時讀取電芯118的電芯電壓一次,并將其存儲在數(shù)組CELLPU(n)中。

u  設(shè)置PUP = 0,運行18電芯命令ADOW至少兩次。結(jié)束時讀取電芯118的電芯電壓一次,并將其存儲在數(shù)組CELLPD(n)中。

u  對于電芯218,求上述步驟中進(jìn)行的上拉和下拉測量結(jié)果之差:CELLΔ(n) = CELLPU(n) – CELLPD(n)。

u  對于從117的所有n值:如果CELLΔ(n+1) < -400mV,則C(n)開路。如果CELLPU(1) = 0.0000,則C0開路。如果CELLPD(18) = 0.0000,則C18開路。

數(shù)據(jù)手冊清晰易懂地解釋了LTC6813中使用的ADOW開路檢測命令及其算法實現(xiàn)。圖1以圖形方式展示了該算法,幫助讀者更直觀地了解算法的精妙之處。

圖片.png

1.LTC6813中的開路檢測算法示意圖。

除了圖1中基于ADOW命令的開路檢測圖形展示之外,我們還使用LTC6813評估板18650電池進(jìn)行了實際的開路檢測實驗和波形測試。這讓我們能夠更清楚地了解開路檢測期間電路的行為。實驗中每個電芯的電壓約為4V,示波器的4個探頭分別連接到LTC6813C1/C2/C3/C4引腳。實驗中分別測量了CELL2/CELL3/CELL4的電壓波形。結(jié)合數(shù)據(jù)手冊中提供的ADCV命令執(zhí)行時序規(guī)范(如圖2和表1所示),我們能夠更深入地分析本次實驗的波形檢測結(jié)果。ADOW命令執(zhí)行的時序規(guī)范可以參考ADCV命令的時序規(guī)范,因為ADOW命令與ADCV命令一樣,對C引腳輸入執(zhí)行模數(shù)轉(zhuǎn)換。不同的是,在測量兩個C引腳時,ADOW命令會通過兩個內(nèi)部電流源向其注入或吸收電流。開路檢測實驗的測試結(jié)果如圖3和圖4所示。圖3所示的電路測試沒有出現(xiàn)開路,主要作為參考實驗。在圖4所示的電路測試中,C2引腳位置發(fā)生了開路,圖中給出了ADOW命令執(zhí)行過程中,該開路情況下CELL2/CELL3/CELL4的波形測試結(jié)果。從測試結(jié)果來看,觀察到的電路行為變化與圖1所示一致。

圖片.png

2.測量所有18個電芯的ADCV命令時序。

1.以不同模式測量所有18個電芯的ADCV命令的轉(zhuǎn)換和同步時間

模式

轉(zhuǎn)換時間(μs)

同步時間(μs)

t0

t1M

t2M

t5M

t6M

t6C

tSKEW2

27 kHz

0

58

104

244

291

1,121

233

14 kHz

0

87

163

390

566

1,296

379

7 kHz

0

145

279

681

815

2,343

670

3 kHz

0

261

512

1,263

1,413

3,041

1,252

2 kHz

0

496

977

2,426

2,909

4,437

2,415

1 kHz

0

960

1,908

4,753

5,702

7,230

4,742

422 Hz

0

1,890

3,777

9,408

11,287

12,816

9,397

26 Hz

0

29,818

59,624

149,044

178,851

201,325

149,033


圖片.png

3.開路檢測及波形測試的實驗結(jié)果(實驗1)。

圖片.png

4.開路檢測及波形測試的實驗結(jié)果(實驗2)。

BMS中出現(xiàn)多處開路的問題

設(shè)想BMS面臨一種嚴(yán)重情況,即有多條導(dǎo)線開路,例如電芯監(jiān)控電路中多個C引腳開路。雖然這種情況不太可能發(fā)生,但概率低并不意味著不可能。在這種情況下,數(shù)據(jù)手冊所述的算法對于檢測單個C引腳開路更為有效。當(dāng)多個C引腳同時出現(xiàn)開路時,機(jī)械地應(yīng)用數(shù)據(jù)手冊中的算法可能無法產(chǎn)生準(zhǔn)確的結(jié)果。

例如,在圖5所示的多條導(dǎo)線開路場景中,應(yīng)用LTC6813數(shù)據(jù)手冊所述的算法進(jìn)行開路檢測得到的結(jié)果是,只能檢測到C6、C7、C8、C9引腳的開路,而無法檢測到C2、C3、C4C5引腳是否開路。這不是我們想要的結(jié)果。

圖片.png

5.BMS中出現(xiàn)多處開路的檢測算法示意圖(例1)。

盡管如此,數(shù)據(jù)手冊中提到的開路檢測算法仍然非常有效,能夠準(zhǔn)確識別單個C引腳開路,并且還為檢測多處開路提供了有價值的參考。

當(dāng)電芯監(jiān)控器的C引腳出現(xiàn)開路情況時,無論是單個開路還是多處開路,機(jī)械地應(yīng)用數(shù)據(jù)手冊中概述的算法可能無法準(zhǔn)確檢測到所有開路情況及其各自的位置,尤其是當(dāng)多處開路同時發(fā)生時。然而,該算法必定會提醒BMS存在開路故障。如果BMS電路板出現(xiàn)開路錯誤,電路用戶需要手動檢查并更精準(zhǔn)地修復(fù)電路。通常,在進(jìn)一步的手動仔細(xì)檢查中,可以發(fā)現(xiàn)算法未檢測到的開路錯誤。

檢測C引腳上多處開路的算法

有沒有更好的算法可以快速、準(zhǔn)確、高效地識別出電芯監(jiān)控器內(nèi)的所有開路情況,即使多個C引腳上同時出現(xiàn)多處開路也能檢測到,而不必僅僅依靠經(jīng)驗豐富的工程師手動檢查來發(fā)現(xiàn)電路中的所有開路情況?答案是肯定的。

深入研究ADOW開路檢測算法和數(shù)據(jù)手冊中獲得的數(shù)據(jù),我們發(fā)現(xiàn),只需增加一個計算步驟,就能準(zhǔn)確識別出電路中C引腳的幾乎所有開路情況。無論是單處開路還是多處開路,也不管開路的位置在哪,幾乎全部都能識別出來。之所以說幾乎全部,是因為在實際測試中,當(dāng)C0引腳或C18引腳出現(xiàn)開路情況時,想要準(zhǔn)確檢測出電路中的所有開路故障還是很困難的。與C0引腳和C18引腳相關(guān)的開路情況,將在本文的后面部分討論。現(xiàn)在,我們重點介紹如何檢測引腳C1C17出現(xiàn)開路時的所有開路情況。

所謂只需增加一個計算步驟是指,只需計算CELLΔ[n]CELLΔ[n+1]的差值,如此就能得到一個高效、準(zhǔn)確的開路檢測算法。下面介紹該算法的實現(xiàn)和步驟。

1步:首先,按照數(shù)據(jù)手冊所述的方法,向電芯監(jiān)控器發(fā)送ADOW命令以啟動開路檢測。然后,在測量兩個C引腳的同時,兩個內(nèi)部電流源向其注入或吸收電流。每個電芯的電壓數(shù)據(jù)通過芯片內(nèi)的ADC獲得,并存儲在三個數(shù)組中,分別是CELLPU、CELLPDCELLΔ數(shù)組。

2步:開始從下往上觀察從CELL 1CELL 18的數(shù)據(jù)。搜索CELLΔ數(shù)據(jù)中的某些特征值,判斷是否發(fā)生開路情況。通常,對于一系列相鄰連續(xù)開路的起始位置,如果該起始位置出現(xiàn)在Cn引腳(n = 117)處,則可以在相應(yīng)的CELLΔ[n]數(shù)據(jù)中觀察到大于正閾值+400 mV的電壓值。這個超過閾值的電壓值標(biāo)志著Cn引腳出現(xiàn)開路,表示它可能是后續(xù)一系列相鄰連續(xù)開路情況的起點。檢測到此標(biāo)志后,繼續(xù)執(zhí)行第3步。

3步:從第2步中確定的Cn引腳位置開始,啟動一個循環(huán)來計算CELLΔ[n]CELLΔ[n+1]的差值,同時遞增n的值,n的最大值不應(yīng)超過17。這就是前面提到的新增計算步驟。在開路檢測過程中,差值結(jié)果呈現(xiàn)出一定的特點:從開路的起始位置到后續(xù)相鄰連續(xù)的開路位置,如果連續(xù)開路情況沒有中斷,則CELLΔ[n]CELLΔ[n+1]的差值永遠(yuǎn)是一個很小的負(fù)值1、0或是一個正值。與第2步中設(shè)置的正閾值一樣,此步驟使用-400 mV的負(fù)閾值來判斷開路情況。在循環(huán)計算CELLΔ[n]CELLΔ[n+1]差值的過程中,如果差值結(jié)果大于-400 mV,則表明Cn引腳存在開路情況。

1閱讀本文時,如果結(jié)合對圖5和圖6的觀察來理解該算法,讀者會注意到在這兩幅圖中,在相鄰和連續(xù)的開路位置,CELLΔ[n]CELLΔ[n+1]的差值始終為0或正值,而不會出現(xiàn)較小的負(fù)值。這看起來可能很奇怪。究其原因是,為了便于計算,圖5和圖6中的多個電路模型已被簡化,這會得到更理想的數(shù)據(jù)。不過,這種簡化對于電路行為的近似描述是可以接受的。在實際的電路開路測試中,此差值確實可能是一個很小的負(fù)數(shù)、0或是一個正數(shù)。

4步:繼續(xù)第3步中描述的循環(huán)計算。當(dāng)開路情況停止時,CELLΔ[n]CELLΔ[n+1]的差值不再大于-400 mV,而是會變成一個非常大的負(fù)值。當(dāng)檢測到結(jié)果小于-400mV時,表示一系列相鄰連續(xù)開路終止于Cn引腳位置。此時,跳過之前檢測到的開路位置,重復(fù)第2步至第4步的計算,直至完成所有18個電芯通道和C引腳(不包括C0引腳和C18引腳)的所有開路檢測。

5和圖6以多個C引腳同時出現(xiàn)開路的情況為例,對上述算法進(jìn)行了具體化展示,以幫助讀者直觀地掌握檢測邏輯。

圖片.png

6.BMS中出現(xiàn)多處開路的檢測算法示意圖(例2)。

同樣,我們使用LTC6813評估板(DC2350B)18650電池,開展了檢測C引腳上多處開路的實際實驗和波形測試。這讓我們能夠更清楚地了解LTC6813電路在多處開路檢測期間的行為。測試結(jié)果如圖7和圖8所示。在圖7所示的電路測試中,C2引腳和C3引腳位置同時出現(xiàn)開路;而在圖8所示的電路測試中,C2引腳、C3引腳和C4引腳位置同時出現(xiàn)開路。另外,圖7和圖8還提供了在ADOW命令執(zhí)行期間,相應(yīng)開路情況下CELL2/CELL3/CELL4的波形測試結(jié)果。從測試結(jié)果來看,觀察到的電路行為變化與圖5和圖6所示一致。

圖片.png

7.開路檢測及波形測試的實驗結(jié)果(實驗3)。

圖片.png

8.開路檢測及波形測試的實驗結(jié)果(實驗4)。

該算法不僅能高效檢測多個C引腳同時出現(xiàn)開路故障的情況,而且同樣適用于整個電芯監(jiān)控器中僅出現(xiàn)單個開路的情況。讀者可以獨立應(yīng)用上述算法,僅有一個C引腳開路的情況下(C0引腳和C18引腳除外)進(jìn)行開路檢測。讀者會發(fā)現(xiàn),仍然可以得到正確的開路檢測結(jié)果。上述算法不僅繼承了數(shù)據(jù)手冊所述算法的優(yōu)點,而且克服了數(shù)據(jù)手冊算法應(yīng)用于多個C引腳同時出現(xiàn)開路情況的局限性,使得多處開路故障的檢測更加準(zhǔn)確、高效。

C0引腳或C18引腳出現(xiàn)開路的情況

上述算法用于檢測LTC6813引腳C1C17的開路情況?;氐角懊嫣岬降乃惴?,當(dāng)C0引腳或C18引腳出現(xiàn)開路情況時,想要準(zhǔn)確檢測出電路中的所有開路故障還是非常困難的。接下來我們將探討這兩個引腳出現(xiàn)開路時的復(fù)雜性:

情況1如圖1所示,使用數(shù)據(jù)手冊中提到的方法可以評估C0引腳或C18引腳的開路,前提是它們不與相鄰的C引腳同時出現(xiàn)開路。具體來說,若C0引腳與C1引腳、C18引腳與C17引腳不是同時出現(xiàn)開路,則可作出如下判斷:如果CELLPU[1] = 0,則C0開路。如果CELLPD[18] = 0,則C18開路。

情況2如圖9和圖10所示,當(dāng)C0引腳或C18引腳與其相鄰的C引腳同時出現(xiàn)開路時,通常在這種情況下,仍可使用以下條件來識別C18引腳的開路情況:若CELLPD[18] = 0,則C18開路。但是,當(dāng)C18引腳與多個相鄰C引腳同時出現(xiàn)開路時,建議將C18引腳的開路檢測規(guī)則設(shè)置為CELLPD[18] < +400 mV。與此同時,仍然可以使用前面提到的算法來識別與C18引腳相鄰的開路。

對于C0引腳,可以使用以下條件來識別其開路:若CELLPU[1] = 0,則C0開路。然而,與C0引腳相鄰的開路無法用前面提到的算法來識別,因為它們不滿足觸發(fā)條件。對于算法無法識別的開路,仍然可以通過數(shù)據(jù)手冊中提到的開路檢測規(guī)則來識別:若CELLΔ[n+1] <–400 mV,則C(n)開路。但需要注意的是,為了精準(zhǔn)檢測情況2C1引腳的開路情況,需要在前面提到的算法中添加一條額外的開路檢測規(guī)則:若C0開路且CELLPD[1] < 400 mV,則C1開路。

情況3如圖11所示,在PCB內(nèi)將C0短接至V-并將C18短接至V+,這種方法的優(yōu)點在于可以免去V-引腳和V+引腳與電池包之間的兩個布線連接。但缺點是,如果C0引腳和C18引腳之間的導(dǎo)線連接阻抗不夠低,則可能會給CELL1CELL18的電壓檢測引入額外的誤差。因為當(dāng)C0V-、C18V+共用同一連接時,V-引腳和V+引腳在芯片運行期間會承載電源電流,此電源電流相比于采樣電流通常較大。例如,當(dāng)電芯監(jiān)控器的內(nèi)核處于MEASURE狀態(tài),isoSPI處于READY狀態(tài)(IB = 1 mA)時,根據(jù)LTC6813數(shù)據(jù)手冊中表2和表3所列出的公式,電流消耗可能達(dá)到約21 mA。如果布線阻抗不夠低,C0C18布線連接處可能會出現(xiàn)明顯的電壓降,從而影響CELL1CELL18的電壓檢測精度。

圖片.png

9.C18引腳開路檢測算法示意圖(基于情況2)。

圖片.png

10.C0引腳開路檢測算法示意圖(基于情況2)。

圖片.png圖片.png

11.C0V-C18V+共用同一連接時的示意圖。

2.LTC6813內(nèi)核電源電流

狀態(tài)

IVP

IREG(內(nèi)核)

睡眠

VREG = 0 V

6.1 μA

0 μA

VREG = 5 V

3 μA

3.1 μA

待機(jī)

14 μA

35 μA

REFUP

550 μA

900 μA

測量

950 μA

15 mA

3.LTC6813 isoSPI電源電流公式

IsoSPI狀態(tài)

ISOMD連接

IREG (isoSPI)

IDLE

N/A

0 mA

就緒

VREG

2.2 mA 3 × IB

V-

1.5 mA 3 × IB

激活

VREG

寫入:2.5 mA (3 + 20 × 100 ns / tCLK ) × IB
 
讀取:2.5 mA   (3 20 × (100 ns × 1.5)   / tCLK ) × IB

V-

1.8 mA (3 20 × 100 ns / tCLK) × IB

 基于圖11所示的連接方法,我們來觀察圖12。當(dāng)C0引腳或C18引腳與其相鄰的C引腳同時出現(xiàn)開路時,通常在這種情況下,仍可使用以下條件來識別C18引腳的開路情況:若CELLPD[18] = 0,則C18開路。但是,當(dāng)C18引腳與多個相鄰C引腳同時出現(xiàn)開路時,建議將C18引腳的開路檢測規(guī)則設(shè)置為CELLPD[18] < +400 mV。與此同時,與C18引腳相鄰的開路無法用數(shù)據(jù)手冊中的算法或前面提到的算法來識別,因為它們不滿足觸發(fā)條件。在這種情況下,可以額外添加一條開路檢測規(guī)則,作為前面提到的算法的一部分:如果C18開路,并且同時滿足CELLPU[n] < +400 mVCELLPD[n] < +400 mV兩個條件,則Cn開路。然而,隨著與C18引腳相鄰且連續(xù)的開路數(shù)量增多,這條檢測規(guī)則也有可能失效,芯片無法正常執(zhí)行ADOW命令。

至于圖12中的C0引腳開路,它將導(dǎo)致芯片無法正常執(zhí)行ADOW命令。在這種情況下,C0引腳開路無法通過ADOW命令識別。盡管如此,芯片仍然可以執(zhí)行ADCV命令來完成電芯電壓檢測,并且可能發(fā)現(xiàn)CELL1的電壓轉(zhuǎn)換結(jié)果異常低,從而表明C0引腳可能存在開路情況。但是,該方法不被視為本文所述算法的一部分。

 圖片.png

12.C0引腳或C18引腳開路檢測算法示意圖(基于情況3)。

這些情況說明了上述論斷的理由。當(dāng)C0引腳或C18引腳出現(xiàn)開路情況時,想要準(zhǔn)確檢測出電路中的所有開路故障還是非常困難的。

總之,將本文介紹的所有算法結(jié)合起來,我們可以準(zhǔn)確識別出電路中C引腳的幾乎所有開路情況,無論其位置和數(shù)量如何。然而,一旦要檢測涉及C0引腳或C18引腳的開路故障,該組合算法可能無法保證100%檢測到電路中的所有開路故障。在這種情況下,算法最好發(fā)出警示:在C0/C18中檢測到開路故障,實際開路數(shù)量可能與算法得出的值不一致。

開路檢測的偽代碼和實驗結(jié)果

本文介紹的所有算法均已集成并整合到LTC6813開路檢測偽代碼示例中,如圖13所示,僅供參考。此外,這里還給出了開路檢測的一些實驗結(jié)果。圖14至圖17的結(jié)果是在對LTC6813評估板電路的實際開路檢測實驗獲得的。實驗所采用的開路檢測算法是基于本文所介紹算法的組合;開路功能的驅(qū)動代碼是基于所提供的偽代碼編寫。從實驗結(jié)果可以看出,在設(shè)定的條件下,所有開路情況(即使存在多處開路)都可以被準(zhǔn)確檢測出來,包括數(shù)量和位置。也就是說,本文所述的開路檢測算法既準(zhǔn)確,又可靠。

結(jié)論

雖然本文主要討論LTC6813的開路檢測方法及算法,但該IC所采用的開路檢測方法具有通用性,也是ADI各型號電芯監(jiān)控器所采用的共同方法。因此,本文介紹的開路檢測算法只需稍加修改,即可輕松移植到使用類似開路檢測方法的其他ADI電芯監(jiān)控器上。

圖片.png

圖片.png


13.LTC6813器件中開路檢測的偽代碼示例。

圖片.png

14.開路實驗及結(jié)果(實驗1)。

圖片.png

15.開路實驗及結(jié)果(實驗2)。

圖片.png

16.開路實驗及結(jié)果(實驗3)。

圖片.png

17.開路實驗及結(jié)果(實驗4)。



關(guān)鍵詞: 電池管理系統(tǒng) BMS ADI

評論


相關(guān)推薦

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

關(guān)閉