深入了解電池管理係統的開路檢測
發布時間:2025-03-21 來源:ADI公司 責任編輯:lina
【導讀】開路檢測功能對於安全可靠地運行電池管理係統(BMS)起著至關重要的作用。鑒於其重要性,我們建議對BMS感興趣或會參與BMS設計的人員花時間了解這項功能。本文以ADI公司的電芯監控器為例,詳細討論了BMS電路在與外部電芯連接後,如何利用算法準確識別幾乎所有開路情況。文中關於開路檢測算法的討論,目的是讓讀者更深入地了解這個BMS功能。本文提供的開路檢測偽代碼旨在為BMS設計人員提供設計參考。
摘要
開路檢測功能對於安全可靠地運行電池管理係統(BMS)起著至關重要的作用。鑒於其重要性,我們建議對BMS感興趣或會參與BMS設計的人員花時間了解這項功能。本文以ADI公司的電芯監控器為例,詳細討論了BMS電路在與外部電芯連接後,如何利用算法準確識別幾乎所有開路情況。文中關於開路檢測算法的討論,目的是讓讀者更深入地了解這個BMS功能。本文提供的開路檢測偽代碼旨在為BMS設計人員提供設計參考。
簡介
在電池管理係統(BMS)中,各電芯和電芯監控電路之間存在大量的布線連接。這些布線連接是確保電芯監控器可靠監控電芯參數(包括電壓、電流、溫度等)的關鍵,同時還可以用作電芯被動平衡放電的電流路徑或繼電器控製信號的傳輸路徑。BMS需xu要yao管guan理li的de電dian芯xin數shu量liang通tong常chang非fei常chang龐pang大da,因yin此ci布bu線xian連lian接jie的de數shu量liang也ye相xiang當dang可ke觀guan。這zhe些xie連lian接jie不bu僅jin數shu量liang繁fan多duo,部bu分fen線xian路lu甚shen至zhi相xiang當dang冗rong長chang,因yin為wei它ta們men往wang往wang需xu要yao跨kua越yue不bu同tong的de印yin刷shua電dian路lu板ban(PCB),或是連接PCB與由眾多獨立電芯組成的電池包。此外還需要配合使用許多連接元件。BMS設(she)計(ji)過(guo)程(cheng)中(zhong),應(ying)盡(jin)量(liang)避(bi)免(mian)出(chu)現(xian)開(kai)路(lu)的(de)情(qing)況(kuang)。如(ru)果(guo)某(mou)個(ge)電(dian)芯(xin)發(fa)生(sheng)開(kai)路(lu),就(jiu)意(yi)味(wei)著(zhe)對(dui)其(qi)狀(zhuang)態(tai)的(de)有(you)效(xiao)監(jian)控(kong)將(jiang)大(da)打(da)折(zhe)扣(kou)或(huo)完(wan)全(quan)失(shi)效(xiao),而(er)失(shi)去(qu)監(jian)控(kong)的(de)電(dian)芯(xin)將(jiang)給(gei)整(zheng)個(ge)BMS帶來潛在的安全隱患,甚至可能在未知時刻對係統造成致命威脅。當出現開路情況時,首要任務是快速、準確、高效地確定開路位置並及時通報。有效、準確的開路檢測算法將大大提高BMS的可靠性,並有利於BMS和電池包的故障排除。通過算法精準地定位故障,可以有效減少人工排除故障過程中許多不必要的重複檢查、拆卸和組裝工作。
BMS的C引腳中的開路檢測
開路檢測對BMS至關重要,因此ADI公司的大部分電芯監控器都配備了開路檢測命令及相應的實現方法。不同型號ADI電芯監控器使用的開路檢測方法可能有所不同,例如ADBMS6830B使用的方法就與LTC6813不同。本文將圍繞後者展開討論。LTC6813采用的開路檢測方法也是ADI各型號電芯監控器常用的方法,具有通用性,其核心是基於ADOW(開路檢查)命令。
ADOW命令主要用於檢查LTC6813-1的ADC與外部電芯之間是否存在開路。此命令與ADCV(測量電芯電壓)命令一樣,對C引腳輸入執行模數轉換,但在測量兩個C引腳時,兩個內部電流源會為其提供電流或吸收電流。ADOW命令的上拉(PUP)位決定電流源是提供還是吸收100μA電流。可以使用以下簡單算法來檢查19個C引腳是否有開路:
• 設置PUP = 1,運行18電芯命令ADOW至少兩次。結束時讀取電芯1至18的電芯電壓一次,並將其存儲在數組CELLPU(n)中。
• 設置PUP = 0,運行18電芯命令ADOW至少兩次。結束時讀取電芯1至18的電芯電壓一次,並將其存儲在數組CELLPD(n)中。
• 對於電芯2至18,求上述步驟中進行的上拉和下拉測量結果之差:CELLΔ(n) = CELLPU(n) – CELLPD(n)。
• 對於從1到17的所有n值:如果CELLΔ(n+1) < -400mV,則C(n)開路。如果CELLPU(1) = 0.0000,則C0開路。如果CELLPD(18) = 0.0000,則C18開路。
數據手冊清晰易懂地解釋了LTC6813中使用的ADOW開路檢測命令及其算法實現。圖1以圖形方式展示了該算法,幫助讀者更直觀地了解算法的精妙之處。
圖1.LTC6813中的開路檢測算法示意圖。
除了圖1中基於ADOW命令的開路檢測圖形展示之外,我們還使用LTC6813評估板和18650電池進行了實際的開路檢測實驗和波形測試。這讓我們能夠更清楚地了解開路檢測期間電路的行為。實驗中每個電芯的電壓約為4V,示波器的4個探頭分別連接到LTC6813的C1/C2/C3/C4引腳。實驗中分別測量了CELL2/CELL3/CELL4的電壓波形。結合數據手冊中提供的ADCV命令執行時序規範(如圖2和表1所示),我們能夠更深入地分析本次實驗的波形檢測結果。ADOW命令執行的時序規範可以參考ADCV命令的時序規範,因為ADOW命令與ADCV命令一樣,對C引腳輸入執行模數轉換。不同的是,在測量兩個C引腳時,ADOW命令會通過兩個內部電流源向其注入或吸收電流。開路檢測實驗的測試結果如圖3和圖4所示。圖3所示的電路測試沒有出現開路,主要作為參考實驗。在圖4所示的電路測試中,C2引腳位置發生了開路,圖中給出了ADOW命令執行過程中,該開路情況下CELL2/CELL3/CELL4的波形測試結果。從測試結果來看,觀察到的電路行為變化與圖1所示一致。
圖2.測量所有18個電芯的ADCV命令時序。
表1.以不同模式測量所有18個電芯的ADCV命令的轉換和同步時間
圖3.開路檢測及波形測試的實驗結果(實驗1)。
圖4.開路檢測及波形測試的實驗結果(實驗2)。
BMS中出現多處開路的問題
設想BMS麵臨一種嚴重情況,即有多條導線開路,例如電芯監控電路中多個C引腳開路。雖然這種情況不太可能發生,但概率低並不意味著不可能。在這種情況下,數據手冊所述的算法對於檢測單個C引腳開路更為有效。當多個C引腳同時出現開路時,機械地應用數據手冊中的算法可能無法產生準確的結果。
例如,在圖5所示的多條導線開路場景中,應用LTC6813數據手冊所述的算法進行開路檢測得到的結果是,隻能檢測到C6、C7、C8、C9引腳的開路,而無法檢測到C2、C3、C4、C5引腳是否開路。這不是我們想要的結果。
圖5.BMS中出現多處開路的檢測算法示意圖(例1)。
盡管如此,數據手冊中提到的開路檢測算法仍然非常有效,能夠準確識別單個C引腳開路,並且還為檢測多處開路提供了有價值的參考。
當電芯監控器的C引yin腳jiao出chu現xian開kai路lu情qing況kuang時shi,無wu論lun是shi單dan個ge開kai路lu還hai是shi多duo處chu開kai路lu,機ji械xie地di應ying用yong數shu據ju手shou冊ce中zhong概gai述shu的de算suan法fa可ke能neng無wu法fa準zhun確que檢jian測ce到dao所suo有you開kai路lu情qing況kuang及ji其qi各ge自zi的de位wei置zhi,尤you其qi是shi當dang多duo處chu開kai路lu同tong時shi發fa生sheng時shi。然ran而er,該gai算suan法fa必bi定ding會hui提ti醒xingBMS存在開路故障。如果BMS電(dian)路(lu)板(ban)出(chu)現(xian)開(kai)路(lu)錯(cuo)誤(wu),電(dian)路(lu)用(yong)戶(hu)需(xu)要(yao)手(shou)動(dong)檢(jian)查(zha)並(bing)更(geng)精(jing)準(zhun)地(di)修(xiu)複(fu)電(dian)路(lu)。通(tong)常(chang),在(zai)進(jin)一(yi)步(bu)的(de)手(shou)動(dong)仔(zai)細(xi)檢(jian)查(zha)中(zhong),可(ke)以(yi)發(fa)現(xian)算(suan)法(fa)未(wei)檢(jian)測(ce)到(dao)的(de)開(kai)路(lu)錯(cuo)誤(wu)。
檢測C引腳上多處開路的算法
有沒有更好的算法可以快速、準確、高效地識別出電芯監控器內的所有開路情況,即使多個C引腳上同時出現多處開路也能檢測到,而不必僅僅依靠經驗豐富的工程師手動檢查來發現電路中的所有開路情況?答案是肯定的。
深入研究ADOW開路檢測算法和數據手冊中獲得的數據,我們發現,隻需增加一個計算步驟,就能準確識別出電路中C引腳的幾乎所有開路情況。無論是單處開路還是多處開路,也不管開路的位置在哪,幾乎全部都能識別出來。之所以說“幾乎全部”,是因為在實際測試中,當C0引腳或C18引腳出現開路情況時,想要準確檢測出電路中的所有開路故障還是很困難的。與C0引腳和C18引腳相關的開路情況,將在本文的後麵部分討論。現在,我們重點介紹如何檢測引腳C1至C17出現開路時的所有開路情況。
所謂“隻需增加一個計算步驟”是指,隻需計算CELLΔ[n]和CELLΔ[n+1]的差值,如此就能得到一個高效、準確的開路檢測算法。下麵介紹該算法的實現和步驟。
第1步:首先,按照數據手冊所述的方法,向電芯監控器發送ADOW命令以啟動開路檢測。然後,在測量兩個C引腳的同時,兩個內部電流源向其注入或吸收電流。每個電芯的電壓數據通過芯片內的ADC獲得,並存儲在三個數組中,分別是CELLPU、CELLPD和CELLΔ數組。
第2步:開始從下往上觀察從CELL 1到CELL 18的數據。搜索CELLΔ數據中的某些特征值,判斷是否發生開路情況。通常,對於一係列相鄰連續開路的起始位置,如果該起始位置出現在Cn引腳(n = 1至17)處,則可以在相應的CELLΔ[n]數據中觀察到大於正閾值+400 mV的電壓值。這個超過閾值的電壓值標誌著Cn引腳出現開路,表示它可能是後續一係列相鄰連續開路情況的起點。檢測到此標誌後,繼續執行第3步。
第3步:從第2步中確定的Cn引腳位置開始,啟動一個循環來計算CELLΔ[n]和CELLΔ[n+1]的差值,同時遞增n的值,n的最大值不應超過17。這就是前麵提到的新增計算步驟。在開路檢測過程中,差值結果呈現出一定的特點:從開路的起始位置到後續相鄰連續的開路位置,如果連續開路情況沒有中斷,則CELLΔ[n]與CELLΔ[n+1]的差值永遠是一個很小的負值1、0或是一個正值。與第2步中設置的正閾值一樣,此步驟使用-400 mV的負閾值來判斷開路情況。在循環計算CELLΔ[n]和CELLΔ[n+1]差值的過程中,如果差值結果大於-400 mV,則表明Cn引腳存在開路情況。
1閱讀本文時,如果結合對圖5和圖6的觀察來理解該算法,讀者會注意到在這兩幅圖中,在相鄰和連續的開路位置,CELLΔ[n]和CELLΔ[n+1]的差值始終為0或正值,而不會出現較小的負值。這看起來可能很奇怪。究其原因是,為了便於計算,圖5和圖6中(zhong)的(de)多(duo)個(ge)電(dian)路(lu)模(mo)型(xing)已(yi)被(bei)簡(jian)化(hua),這(zhe)會(hui)得(de)到(dao)更(geng)理(li)想(xiang)的(de)數(shu)據(ju)。不(bu)過(guo),這(zhe)種(zhong)簡(jian)化(hua)對(dui)於(yu)電(dian)路(lu)行(xing)為(wei)的(de)近(jin)似(si)描(miao)述(shu)是(shi)可(ke)以(yi)接(jie)受(shou)的(de)。在(zai)實(shi)際(ji)的(de)電(dian)路(lu)開(kai)路(lu)測(ce)試(shi)中(zhong),此(ci)差(cha)值(zhi)確(que)實(shi)可(ke)能(neng)是(shi)一(yi)個(ge)很(hen)小(xiao)的(de)負(fu)數(shu)、0或是一個正數。
第4步:繼續第3步中描述的循環計算。當開路情況停止時,CELLΔ[n]和CELLΔ[n+1]的差值不再大於-400 mV,而是會變成一個非常大的負值。當檢測到結果小於-400mV時,表示一係列相鄰連續開路終止於Cn引腳位置。此時,跳過之前檢測到的開路位置,重複第2步至第4步的計算,直至完成所有18個電芯通道和C引腳(不包括C0引腳和C18引腳)的所有開路檢測。
圖5和圖6以多個C引腳同時出現開路的情況為例,對上述算法進行了具體化展示,以幫助讀者直觀地掌握檢測邏輯。
圖6.BMS中出現多處開路的檢測算法示意圖(例2)。
同樣,我們使用LTC6813評估板(DC2350B)和18650電池,開展了檢測C引腳上多處開路的實際實驗和波形測試。這讓我們能夠更清楚地了解LTC6813電路在多處開路檢測期間的行為。測試結果如圖7和圖8所示。在圖7所示的電路測試中,C2引腳和C3引腳位置同時出現開路;而在圖8所示的電路測試中,C2引腳、C3引腳和C4引腳位置同時出現開路。另外,圖7和圖8還提供了在ADOW命令執行期間,相應開路情況下CELL2/CELL3/CELL4的波形測試結果。從測試結果來看,觀察到的電路行為變化與圖5和圖6所示一致。
圖7.開路檢測及波形測試的實驗結果(實驗3)。
圖8.開路檢測及波形測試的實驗結果(實驗4)。
該算法不僅能高效檢測多個C引腳同時出現開路故障的情況,而且同樣適用於整個電芯監控器中僅出現單個開路的情況。讀者可以獨立應用上述算法,僅有一個C引腳開路的情況下(C0引腳和C18引腳除外)進jin行xing開kai路lu檢jian測ce。讀du者zhe會hui發fa現xian,仍reng然ran可ke以yi得de到dao正zheng確que的de開kai路lu檢jian測ce結jie果guo。上shang述shu算suan法fa不bu僅jin繼ji承cheng了le數shu據ju手shou冊ce所suo述shu算suan法fa的de優you點dian,而er且qie克ke服fu了le數shu據ju手shou冊ce算suan法fa應ying用yong於yu多duo個geC引腳同時出現開路情況的局限性,使得多處開路故障的檢測更加準確、高效。
C0引腳或C18引腳出現開路的情況
上述算法用於檢測LTC6813引腳C1至C17的開路情況。回到前麵提到的算法,當C0引腳或C18引腳出現開路情況時,想要準確檢測出電路中的所有開路故障還是非常困難的。接下來我們將探討這兩個引腳出現開路時的複雜性:
情況1:如圖1所示,使用數據手冊中提到的方法可以評估C0引腳或C18引腳的開路,前提是它們不與相鄰的C引腳同時出現開路。具體來說,若C0引腳與C1引腳、C18引腳與C17引腳不是同時出現開路,則可作出如下判斷:如果CELLPU[1] = 0,則C0開路。如果CELLPD[18] = 0,則C18開路。
情況2:如圖9和圖10所示,當C0引腳或C18引腳與其相鄰的C引腳同時出現開路時,通常在這種情況下,仍可使用以下條件來識別C18引腳的開路情況:若CELLPD[18] = 0,則C18開路。但是,當C18引腳與多個相鄰C引腳同時出現開路時,建議將C18引腳的開路檢測規則設置為CELLPD[18] < +400 mV。與此同時,仍然可以使用前麵提到的算法來識別與C18引腳相鄰的開路。
對於C0引腳,可以使用以下條件來識別其開路:若CELLPU[1] = 0,則C0開路。然而,與C0yinjiaoxianglindekailuwufayongqianmiantidaodesuanfalaishibie,yinweitamenbumanzuchufatiaojian。duiyusuanfawufashibiedekailu,rengrankeyitongguoshujushoucezhongtidaodekailujianceguizelaishibie:若CELLΔ[n+1] <–400 mV,則C(n)開路。但需要注意的是,為了精準檢測情況2下C1引腳的開路情況,需要在前麵提到的算法中添加一條額外的開路檢測規則:若C0開路且CELLPD[1] < 400 mV,則C1開路。
情況3:如圖11所示,在PCB內將C0短接至V-並將C18短接至V+,這種方法的優點在於可以免去V-引腳和V+引腳與電池包之間的兩個布線連接。但缺點是,如果C0引腳和C18引腳之間的導線連接阻抗不夠低,則可能會給CELL1和CELL18的電壓檢測引入額外的誤差。因為當C0和V-、C18和V+共用同一連接時,V-引腳和V+引腳在芯片運行期間會承載電源電流,此電源電流相比於采樣電流通常較大。例如,當電芯監控器的內核處於MEASURE狀態,isoSPI處於READY狀態(IB = 1 mA)時,根據LTC6813數據手冊中表2和表3所列出的公式,電流消耗可能達到約21 mA。如果布線阻抗不夠低,C0和C18布線連接處可能會出現明顯的電壓降,從而影響CELL1和CELL18的電壓檢測精度。
圖9.C18引腳開路檢測算法示意圖(基於情況2)。
圖10.C0引腳開路檢測算法示意圖(基於情況2)。
圖11.C0與V-、C18與V+共用同一連接時的示意圖。
表2.LTC6813內核電源電流
表3.LTC6813 isoSPI電源電流公式
基於圖11所示的連接方法,我們來觀察圖12。當C0引腳或C18引腳與其相鄰的C引腳同時出現開路時,通常在這種情況下,仍可使用以下條件來識別C18引腳的開路情況:若CELLPD[18] = 0,則C18開路。但是,當C18引腳與多個相鄰C引腳同時出現開路時,建議將C18引腳的開路檢測規則設置為CELLPD[18] < +400 mV。與此同時,與C18引(yin)腳(jiao)相(xiang)鄰(lin)的(de)開(kai)路(lu)無(wu)法(fa)用(yong)數(shu)據(ju)手(shou)冊(ce)中(zhong)的(de)算(suan)法(fa)或(huo)前(qian)麵(mian)提(ti)到(dao)的(de)算(suan)法(fa)來(lai)識(shi)別(bie),因(yin)為(wei)它(ta)們(men)不(bu)滿(man)足(zu)觸(chu)發(fa)條(tiao)件(jian)。在(zai)這(zhe)種(zhong)情(qing)況(kuang)下(xia),可(ke)以(yi)額(e)外(wai)添(tian)加(jia)一(yi)條(tiao)開(kai)路(lu)檢(jian)測(ce)規(gui)則(ze),作(zuo)為(wei)前(qian)麵(mian)提(ti)到(dao)的(de)算(suan)法(fa)的(de)一(yi)部(bu)分(fen):如果C18開路,並且同時滿足CELLPU[n] < +400 mV和CELLPD[n] < +400 mV兩個條件,則Cn開路。然而,隨著與C18引腳相鄰且連續的開路數量增多,這條檢測規則也有可能失效,芯片無法正常執行ADOW命令。
至於圖12中的C0引腳開路,它將導致芯片無法正常執行ADOW命令。在這種情況下,C0引腳開路無法通過ADOW命令識別。盡管如此,芯片仍然可以執行ADCV命令來完成電芯電壓檢測,並且可能發現CELL1的電壓轉換結果異常低,從而表明C0引腳可能存在開路情況。但是,該方法不被視為本文所述算法的一部分。
圖12.C0引腳或C18引腳開路檢測算法示意圖(基於情況3)。
這些情況說明了上述論斷的理由。當C0引腳或C18引腳出現開路情況時,想要準確檢測出電路中的所有開路故障還是非常困難的。
總之,將本文介紹的所有算法結合起來,我們可以準確識別出電路中C引腳的幾乎所有開路情況,無論其位置和數量如何。然而,一旦要檢測涉及C0引腳或C18引腳的開路故障,該組合算法可能無法保證100%檢測到電路中的所有開路故障。在這種情況下,算法最好發出警示:在C0/C18中檢測到開路故障,實際開路數量可能與算法得出的值不一致。
開路檢測的偽代碼和實驗結果
本文介紹的所有算法均已集成並整合到LTC6813開路檢測偽代碼示例中,如圖13所示,僅供參考。此外,這裏還給出了開路檢測的一些實驗結果。圖14至圖17的結果是在對LTC6813評估板電路的實際開路檢測實驗獲得的。實驗所采用的開路檢測算法是基於本文所介紹算法的組合;開路功能的驅動代碼是基於所提供的偽代碼編寫。從實驗結果可以看出,在設定的條件下,所有開路情況(即使存在多處開路)都可以被準確檢測出來,包括數量和位置。也就是說,本文所述的開路檢測算法既準確,又可靠。
結論
雖然本文主要討論LTC6813的開路檢測方法及算法,但該IC所采用的開路檢測方法具有通用性,也是ADI各型號電芯監控器所采用的共同方法。因此,本文介紹的開路檢測算法隻需稍加修改,即可輕鬆移植到使用類似開路檢測方法的其他ADI電芯監控器上。
圖13.LTC6813器件中開路檢測的偽代碼示例。
圖14.開路實驗及結果(實驗1)。
圖15.開路實驗及結果(實驗2)。
圖16.開路實驗及結果(實驗3)。
圖17.開路實驗及結果(實驗4)。
(來源:ADI公司,作者:Frank Zhang,應用工程師)
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
貿澤聯手Micron推出全新電子書帶你探索麵向AI邊緣應用的創新內存解決方案與設計
利用STM32MP1和STM32MP2在嵌入式 Linux 平台上部署有效的安全保護機製
瑞芯微殺瘋了!全新視覺芯片RV1126B實測數據曝光,算力已達RK3588一半!
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 芯科科技Tech Talks與藍牙亞洲大會聯動,線上線下賦能物聯網創新
- 冬季續航縮水怎麼辦?揭秘熱管理係統背後的芯片力量
- 從HDMI 2.1到UFS 5.0:SmartDV以領先IP矩陣夯實邊緣計算基石
- 小空間也能實現低噪供電!精密測量雙極性電源選型指南,覆蓋小功率到大電流全場景
- 直擊藍牙亞洲大會 2026:Nordic 九大核心場景演繹“萬物互聯”新體驗
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall



