鉅大LARGE | 點擊量:1144次 | 2021年12月24日
基于單片機設計的分布式電池管理系統
1前言
隨著高科技及其產業的迅速發展,大存儲容量的電池組能源系統已經越來越被人們所重視,在很多領域中都得到廣泛地應用,如在汽車產業發展的新方向、新熱點——電動汽車及混合動力車的研究及產業化中,將作為車載能源的重要供給者。
蓄電池組是由一定數量的單體電池串聯組成的,它可以進行百次至千次的充放電;在使用中必須注意其各個單體電池的各種特性、電池溫度、電池的剩余電量及總電流等參數,因為這些參數直接影響電池的使用壽命,必須做到優化運行和有效監控,防止電池出現過充、過放及溫度過高等問題,從而延長電池的使用壽命和降低成本,特別是提高電池的可靠性。可以把給電池組配套的電子、控制及數字技術稱為數字“電池電子技術”。同樣在汽車的電子、數字技術中,已經使用多個CpU完成各種參數、功能的控制問題,考慮汽車的安全性,運行必須十分可靠,于是發展了并聯的獨立多個系統結構,再由現場總線聯接,組成統一的大系統。
2分布式結構的管理系統
2.1系統結構
充電溫度:0~45℃
-放電溫度:-40~+55℃
-40℃最大放電倍率:1C
-40℃ 0.5放電容量保持率≥70%
系統要實現不同類型的多種功能,集中的或中央處理方式無法滿足安全性要求,自然要采用分布式結構;系統的工作環境惡劣,常處于強電磁干擾及脈沖電流的干擾下,為了確保可靠性,考慮采用和發展了高性能CAN現場總線作為通訊系統;而且CAN總線在汽車上已使用很久,具有很強的抗干擾性,同時該技術比較成熟,已成為汽車使用通訊的標準。因此,在系統的內部通訊以及跟外部通訊都采用CAN總線來實現。
本分布系統是以CpU80C552為公用模塊平臺來設計的,由于CpU存儲空間及運算的有限性,必須采用多CpU來分別實現管理系統所需的各種功能。完成的基本系統由四個模塊并行組成:數據采集、均衡充電、電量估計及通訊顯示;各個模塊分別實現其功能,通過CAN總線進行數據通訊,能夠實現單電池電壓、總電壓、充放電電流、溫度的采集和測量,電量估算。同時,系統還具有很強的擴展性,可以進行具體的電池診斷和電池安全性能保護等功能的研究和開發。在鋰離子電池的管理系統中,108只電池采用9塊測量主板,再加上4塊基本板,共計13塊板。
圖1電池管理系總體結構圖
2.2管理系統主模塊的設計
系統的重要功能包括數據采集、電量估計及顯示診斷等。由于80C552具有8路10位A/D轉換的功能,因此,采集模塊先采用線性光耦法測量單電池的電壓,通過其4個A/D口將模擬量轉換為數字量存入存儲器,溫度測量采用單總線技術,使用Dallas數字芯片來測量溫度,該芯片具有12位的精度等級,能非常準確地測量到系統的溫度。總電壓、電流信號通過特殊的傳感器將其信號轉換為0~10V的信號,通過14位的A/D轉換器件轉換為數字量存入系統。
通訊及顯示模塊供應了雙CAN通訊接口,能夠與系統內各個模塊及外部整車系統通過CAN進行數據傳輸;同時系統供應RS232接口,能夠實現與pC機通訊;模塊還供應5口寸半液晶顯示驅動功能,和按鍵進行人機友好操作;模塊還設有電壓、電量、電流及溫度的上下限報警及自檢功能,保證系統的安全性。
各個系統模塊的基本結構框圖如圖2所示。
圖2模塊結構框圖
2.3電量估算
電量估算采用實時電流積分的安時法進行基本估算,然后通過對影響電池電量的溫度、自放電及老化等各種參數進行修正,并考慮單塊電池間的不一致性,從而得到精確的電池組電量。[page]
圖3電池電量估算框圖
3CAN總線系統
3.1CAN簡介
CAN總線是現場總線的一種,是德國Bosch公司在1986年為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行高速數據通信總線。它采用了ISO/OSI模型的七層結構中的物理層和數據鏈路層,具有較高的可靠性、實時性和靈活性。
CAN總線具有以下獨特的優點:
1)CAN能以多主方式工作,網絡上任意一個節點均可以在任意時刻向網絡上其他節點發送信息,而不分主從,通信方式靈活;
2)CAN可以實現點對點、一點對多點及全局廣播等方式傳送和接受數據,通信介質采用雙絞線、同軸電纜或光纖,選擇靈活,通信距離最遠可達10km/5kb/s,通信速率最高可達1Mb/s/40m。CAN上節點數取決于總線驅動電路,實際可達110個;
3)CAN節點在錯誤嚴重的情況下,具有自動關閉輸出的功能,切斷它與總線的聯系,以使總線上其它操作不受影響。采用NRZ編碼/解碼方式,并采用位填充技術。用戶接口簡單,編程方便,很容易構成用戶系統;
4)CAN采用非破壞性仲裁技術,當兩個節點同時向網絡上傳送信息時,優先級低的節點主動停止數據發送,而優先級高的節點可不受影響地繼續傳輸數據,有效防止了總線沖突。
5)CAN采用短幀結構,每一幀為8bite,傳輸時間短,受干擾的概率低,每幀信息都有CRC校驗及其它檢錯措施,保證了數據的出錯率極低。
3.2CAN總線設計
CAN總線總體結構如圖4所示,在總線的兩端配置了兩個120Ω的電阻,其用途是總線匹配阻抗,可以新增總線傳輸的穩定性和抗干擾能力,減少數據傳輸中的出錯率。CAN總線節點結構一般分為兩類:一類采用CAN適配卡與pC機相連,實現上位機與CAN總線的通訊;另一類則是由單片機、CAN控制器及CAN驅動器構成,作為一類節點與CAN總線進行數據傳輸。在本系統中,CAN控制器采用philips公司生產的SJA1000和82C200,它作為一個發送、接受緩沖器,實現主控制器和總線之間的數據傳輸;CAN收發器采用pCA82C250芯片,它是CAN控制器和物理總線的接口,重要可以供應對總線的差動發送能力和對CAN控制器的差動接受能力。
圖4CAN總線系統結構圖
4CAN總線的軟件設計
CAN總線的三層結構模型為:物理層、數據鏈路層和應用層。其中物理層和數據鏈路層的功能由SJA1000完成,系統的開發重要在應用層軟件的設計上,它重要由三個子程序:初始化子程序、發送數據和接收數據程序。同時,還包括一些數據溢出中斷以及幀出錯的處理。
SJA1000在上電硬件復位之后,必須對其進行軟件初始化之后才可以進行數據通訊,初始化過程重要包括對其復位模式下配置時鐘分頻寄存器CDR、總線按時寄存器BTR0和BTR1、驗收代碼寄存器ACR、驗收屏蔽寄存器AMR及輸出控制寄存器OCR等,實現對總線的速率、驗收屏蔽碼、輸出引腳驅動方式、總線模式及時鐘分頻進行含義。具體的流程如圖5所示。下面為SJA1000發送和接收數據的流程,基本過程為主控制器將數據保存到SJA1000發送緩沖器,然后對命令寄存器的發送請求TR標志位進行置位開始發送;接收過程為SJA1000將從總線上接收到的數據存入接收緩沖器,通過其中斷標志位通知主控制器來處理接收到的信息,接收完畢之后清空緩沖器,等待下次接收,具體的流程如圖6和圖7所示。
圖5CAN總線初始化[page]
圖7CAN接收數據的流程
例如:電池管理系統向整車系統發送總電壓的格式,見表1所列。
表1BCU_VCU_VOLTAGE(0x08)向VCU送回電池組當前的電壓
其中,ID為接收節點總線的地址,電壓值先乘10取整再發送,0x08表示發送幀的內容為電池組的電壓。
5CAN總線應用問題
在硬件方面必須考慮合理的供電,注意對各個CAN器件的電源、地之間的濾波,以及復位電路的設計;同時在實際進行印刷電路板的設計時,合理布線,要加強地線,增強系統的抗干擾性。
在軟件設計時,CAN總線按時器的設置非常關鍵,BTR0決定傳播時間段、相位緩沖段1和相位緩沖段2;BTR1決定同步跳轉寬度和分頻值。在位按時寄存器中,TSEG1,TSEG2,SJW和brp設定的值要比其功能值小1,因此設定范圍是[0.....N-1]而不是[1.....N]。所以位時間可以由[TSEG1+TSEG2+3]tq或者[同步段+傳播段+相位緩沖段1+相位緩沖段2]tq得到,其中,tq由系統時鐘tSCL和波特率預分頻值brp決定:tq=brp/tSCL。同時,還要注意由于不同節點的CAN系統時鐘是由不同振蕩器供應的,每個節點的實際CAN系統時鐘頻率與實際位時有一容差,環境溫度的變化和振蕩器老化影響起始容差,為確保準確地進行數據傳輸,必須保證每個節點對CAN系統時鐘頻率都在特定的頻率容差限值以內,因此,在選擇振蕩器時要以對振蕩器容差范圍要求最高的節點為準。而且,在一個可以擴展的總線結構中,最大節點延遲和總線最大長度必須考慮,一般情況下,延遲為5.5ns/m。
在實際運行中,經常會遇到CAN總線不通或者總線突然關閉現象,其重要原因是由于在數據傳輸過程中出現丟幀現象,從而引起出錯,當錯誤計數器達到一按時會自動關閉總線,因此,必須在軟件設計的過程中,及時對其錯誤狀態ES位進行判別,在出現錯誤時需對SJA1000進行軟件復位,恢復通訊。
6結語
在“863重大專項”電動汽車的電池管理模塊的研制中,就是采用CAN總線通訊的分布式結構。通過對鎳氫電池組、鋰離子電池組的臺架試驗結果表明了系統結構的先進性,實現了各模塊的獨自功能,工作正常可靠,鋰離子電池組系統的CAN總線的節點數新增到12,在強電磁干擾下,仍能正常工作,而且線路連接十分簡單、實用。
兩種電池組的參數、測量方法、電池個數、安全要求都不相同,分組也不相同,但系統均能有效地適應,反映出其具有良好的適應性和較大的靈活性。