引言
電子科技迅猛發展,電子產品層出不窮,電池作為主要動力來源,其供電能力與安全可靠性日益受到關注。作為電池研發和生產階段不可或缺的環節,傳統的性能測控人工依賴性高,檢測效率低,網絡、智能與自動化亦不能滿足現實的需求。
本文所提出的已經實現并應用的解決方案能夠多路同步全程實時監控電池的測試狀態,先完成測試前PC端的監測配置,通過RS485接口和CAN總線實時返回繼電器在線連接狀態,再根據需求控制與測試項目類型相應繼電器的開啟。監測開始后,電池電壓、電流及溫度等信息實時傳輸到控制室的PC上,可以通過靈活在線編輯的數據曲線反映測試量的變化趨勢,同時也可由記錄的歷史數據查看關鍵點的情況。
系統功能需求分析
根據現實需求,系統總體需要實現的功能有:
(1) 信號采集與控制線路完好性測試:電池測試項目有充電、標稱短路、實測短路、過放放電、強制放電和放電保護等,測試前,能將反映實際硬件連接并與測試項目對應控制電路完好性的繼電器信號以及測量儀表當前值通過RS485和CAN反饋到PC監控界面上。
(2) 測試安全便捷性與自動化:監控界面應有急停按鈕,在發生意外時通過控制急停繼電器能有效切斷測試線路,同時保存當前測試狀態以便排除故障后恢復測試。測試前配置電池電壓、電流與溫度的限值,同時控制測試時間,在遇到突發情況或達到預設目標時自動終止測試。
(3) 測試數據記錄與處理:由需求確定采樣時間間隔,數據以曲線形式實時顯示,坐標時間與數據量程可自動動態調整以滿足觀察趨勢需要。數據實時存儲選擇效率高的二進制文件形式,歷史數據導出回放有兩可選項:Excel表格與曲線形式。曲線可靈活編輯,如平移、局部放大縮小和多條曲線單顯與多顯等。另外光標可跟蹤曲線移動并動態顯示數值。
系統硬件設計
如圖1所示,由系統功能需求分析知,該電池安全監測系統可分為三部分,分別是數據采集層、數據傳輸層與位于用戶終端PC上的數據處理層。用戶通過單片機控制繼電器電路來啟動預設的測試項目,測量儀表實時顯示電池數據,并通過RS485接口由單片機采集,然后采集單片機提取整合有效的電池實時數據經由CAN總線傳輸到PC上。電池監測軟件實時曲線顯示并存儲接收到的電池數據,并與相關達標歷史數據等進行綜合比較,分析電池的可靠安全性。依靠層間通信協議,電池監測系統的層模塊化設計提高了系統的可維護性與可擴展性。
圖1 電池安全項目測試系統總體設計框圖
本設計選用德國Infineon Technologies公司推出的擁有增強C166SV2架構的XC2267M單片機,集成了電壓調節器和多種振蕩器,具有超低耗電的待機與操作模式。測量儀表選擇上海托克智能儀表有限公司的智能數顯表,帶有RS485串行通信接口,上下限報警繼電器輸出(250V/3A),測量頻率可達10Hz,可選量程隨測量數值動態自動切換。
1 繼電器電路控制
根據系統功能能夠需求分析,可知對單片機繼電器控制板的要求是測試前電池監控電路完好性檢驗和測試結束或意外發生時及時有效切斷電路。
圖2為繼電器芯片控制電路圖,反映實際硬件連接并與測試項目對應控制電路完好性的繼電器信號通過4#ST與5#ST經由單片機IO口與CAN總線傳輸到監控界面上。然而由PC監控端通過CAN總線發出的控制命令轉化為單片機輸出引腳的高低電平,再經由繼電器芯片引腳4#Rly與5#Rly通過引腳4#Load與5#Load控制繼電器開合。
圖2 繼電器芯片控制電路圖
2 數據采集與傳輸
測量儀表與電池數據采集單片機通過MODBUS/RS485串口進行通信,網絡工作方式設置為半雙工,通過控制單片機輸出引腳的高低電平觸發實現,接口采用屏蔽雙絞線傳輸。RS485接口采用平衡驅動器和差分接收器的組合,抗干擾能力強,能實現多站點聯網高速率通信,并且接口信號電平低,不易損壞接口電路的芯片。
CAN(Controller Area Network)是一種具有國際標準同時性價比又較高的現場總線,是由德國Bosch公司為分布式系統在強電池干擾環境下可靠工作而開發的,該串行數據通信網絡能有效支持分布式控制和實時控制,硬件的錯誤檢定特性增強了其糾錯和抗干擾能力,高達1Mb/s的數據傳輸速率使得實時控制得以輕易實現。CAN總線采用了多主競爭式總線結構,具有多站運行和分散仲裁的串行總線以及廣播通信的特點,可在節點之間實現自由通信。
一個典型的CAN節點由帶有CAN控制器的MCU和CAN收發器構成。CAN收發器建立CAN控制器與物理總線之間的連接,控制邏輯電平信號在CAN控制器和物理總線的物理層之間的傳遞。CAN控制器執行CAN協議,用于信息緩沖和濾波。
Infineon XC2267M的MultiCAN模塊是根據CAN V2.0B active技術規范設計的,多達6個獨立的CAN節點與所有CAN節點共用的256個獨立報文對象,CAN節點位時序都來自外設時鐘(fCAN),由一對接收和發送引腳將每個CAN節點和總線收發器連接起來,圖3為CAN控制器模塊概覽。
圖3 MultiCAN模塊概覽
圖4為CAN接口電路圖,由于Infineon XC2267M內部集成了MultiCAN模塊,因此在外設上只需考慮CAN收發器,系統選用了PCA82C250T芯片,其與CAN總線的接口部分采取了安全與抗干擾措施。CANH和CANL與地之間并聯了2個68pF的小電容,可濾除總線的高頻干擾。同時其與地之間分別接有一個雙向瞬變抑制二極管SMBJ6.5CA,起過壓保護作用,能在正反兩個方向吸收瞬時大脈沖功率,并把電壓鉗制到預定水平。另外芯片PCA82C250T的Rs引腳上接有一個1.6的斜率電阻,該電阻大小可根據總線通信速率適當調整。
圖4 CAN接口電路圖
上位機軟件設計
VB(Visual Basic)是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言,具有高效、快速和界面設計功能強大的特點。圖5為基于VB開發的電池安全監測軟件的構成框圖,實現功能已滿足前述系統功能需求分析中的要求。
圖5 電池安全監測軟件的構成框圖
該電池測試界面控制軟件可實現對電池測試數據的間接采集和測試電路的監控以及測試數據的記錄和查詢,將反映電池電壓、電流和溫度的儀表數據通過單片機和CAN總線實時顯示在PC監控界面上,并且根據預先設定的采集測試啟動和結束條件(包括時間、電壓、電流和溫度)配置,發送信號給繼電器來控制測試項目電路的選擇和監測啟止。
由圖6基于模塊化設計的主監控界面,可知該電池安全項目測試平臺一次可同時完成4個項目的監測,以“CH1項目”為例來簡述項目配置和測試流程:在圖5上位機監測軟件構成的聯機配置正常的情況下,單擊主監控界面的“CH1項目配置”按鈕會彈出模塊完成項目信息錄入和項目結束條件設定,在配置好采樣間隔后單擊“繼電器連通”發送控制命令開始采集。在“CH1項目配置”緊鄰右側的一欄可查看項目配置結果,如有誤可通過單擊“CH重置”按鈕重新配置。在發生意外時可單擊“中止”按鈕切斷測試電路同時保存當前狀態,同時“中止”按鈕變為“恢復”按鈕,在排除故障后可繼續測試。
圖6 電池安全項目測試主監控界面
結論
應現實需求,本文提出并設計實現了一種基于VB、Infineon XC2267M單片機以及CAN總線的電池安全自動化測控系統,文中對其硬件和軟件構成進行了詳細描述。該方案能夠多路同步全程實時監控電池的測試狀態。同時,電池測控系統的層模塊化設計提高了系統的可維護性與可擴展性。