一種基于Labview的鋰電池管理系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種基于Labview的鋰電池監(jiān)控系統(tǒng),包括保護硬件模塊與監(jiān)控管理模塊;通用計算機通過SCI串口與控制芯片相連接,控制芯片通過I2C總線與保護芯片連接,保護芯片分別通過均衡電路、充放電電路與鋰電池組相連接。監(jiān)控軟件模塊包含操作系統(tǒng)、通信程序、Labview監(jiān)控程序三部分。Labview監(jiān)控程序采用數(shù)據(jù)流編程方式,功能上包含串口通信模塊,用戶操作模塊,數(shù)據(jù)顯示模塊三部分。串口通信模塊實現(xiàn)與控制芯片的串口通信;用戶操作模塊接收用戶操作生成控制數(shù)據(jù)流;數(shù)據(jù)顯示模塊接收反饋數(shù)據(jù)流并顯示在交互界面上。系統(tǒng)可以對鋰電池進行實時保護,并顯示鋰電池工作狀態(tài),用戶可通過交互界面直接控制保護芯片。
【專利說明】—種基于Labview的裡電池管理系統(tǒng)
[0001]
【技術領域】
[0002]本發(fā)明屬于鋰電池電源監(jiān)控領域,涉及一種基于Labview的鋰電池監(jiān)控系統(tǒng),特別涉及一種采用LabVIEW編程可在通用計算機上運行的,具有交互界面的鋰電池監(jiān)控系統(tǒng)。
【背景技術】
[0003]近些年來隨著無人電子裝備、便攜數(shù)碼設備、電動工具、電動汽車等的發(fā)展,其動力核心——蓄電池正受到越來越多的關注。鋰電池以其高比能量、長循環(huán)壽命、自放電小、無記憶效應和綠色環(huán)保等優(yōu)點備受廠家青睞,是動力電池領域研究的熱點之一。
[0004]由于鋰電池內部結構復雜、充放電化學反應復雜,因而鋰電池作為動力電源來使用,還存在不少問題。首先鋰電池不能承受過度充電與過度放電,其次當電池串并聯(lián)數(shù)目較多時,還會出先電池放電不均衡等新問題,必須對電池組進行均衡放電監(jiān)控。因此鋰電池要能正常工作,離不開鋰電池監(jiān)控系統(tǒng)的監(jiān)控與保護。完善的鋰電池監(jiān)控系統(tǒng),可以保護鋰電池不被損壞、提高鋰電池工作效率、延長鋰電池使用壽命。
[0005]現(xiàn)階段的鋰電池監(jiān)控系統(tǒng),以硬件保護功能設計為主,即單獨的硬件電路實現(xiàn)對鋰電池的保護。在軟件上以電池的電量顯示、電池的工作模式選擇為主,極少有軟件監(jiān)控系統(tǒng),能完整地顯示電池組的工作狀態(tài),并允許用戶直接從軟件上控制保護電路的運行。
【發(fā)明內容】
`[0006]本發(fā)明的上述技術問題主要是通過下述技術方案得以解決的:
一種基于Labview的鋰電池監(jiān)控系統(tǒng),其特征在于:包括保護硬件模塊與監(jiān)控管理模塊;所述保護硬件模塊包括保護電路、控制芯片、通用計算機平臺;所述監(jiān)控模塊包括設置在計算機平臺內的操作系統(tǒng)單元、設置在計算機平臺內Labview監(jiān)控單元、以及通信單元;所述通用計算機平臺通過SCI串口與控制芯片相連接,控制芯片通過I2C總線與保護芯片連接,保護芯片分別通過均衡電路、充放電電路與鋰電池組相連接,保護芯片、均衡電路、充放電電路屬于鋰電池保護電路。
[0007]本發(fā)明創(chuàng)造性的采用成熟的鋰電池保護路,結合Labview虛擬儀器技術,設計了一種基于LabVIEW編程的,運行在通用計算機上的鋰電池監(jiān)控系統(tǒng),該系統(tǒng)包含保護硬件模塊、監(jiān)控軟件兩部分。保護硬件模塊采用成熟的鋰電池保護電路,監(jiān)控軟件模塊由自主設計完成,采用LabVIEW 8.5 (NI公司的Labview集成編程環(huán)境)作為編程環(huán)境。經驗證此監(jiān)控系統(tǒng),不僅能對鋰電池進行過壓、欠壓、過流、短路保護,還能實時監(jiān)控并顯示鋰電池組的工作狀態(tài)(電池電壓、電量、溫度等),同時專業(yè)用戶能夠通過交互界面,直接控制保護芯片,以調整鋰電池保護電路的工作狀態(tài)。
[0008]其中,鋰電池保護電路采用成熟的鋰電池保護電路;控制芯片采用16為單片機;通用計算機平臺為市售普通臺式機,包含必要外設。保護芯片是鋰電池保護電路的核心,保護芯片控制鋰電池保護電路實現(xiàn)對鋰電池的保護。保護芯片通過均衡電路對鋰電池進行均衡操作;保護芯片通過控制充放電電路,完成對鋰電池進行保護。鋰電池保護電路的主要功能如下:(1)實時監(jiān)控并保護鋰電池;(2)實時采集電池的電壓、溫度、電流等工作狀態(tài)數(shù)據(jù)并儲存到保護芯片寄存器中;(3)受控制芯片控制,調整鋰電池工作狀態(tài)。
[0009]在上述一種基于Labview的鋰電池管理系統(tǒng),Labview監(jiān)控單元采用數(shù)據(jù)流編程方式,由一個主vi模塊調用多個子vi模塊構成;主vi模塊實現(xiàn)監(jiān)控程的主要功能,子vi模塊受主vi模塊調用做數(shù)據(jù)處理,具體包括:
EEPROM.v1:受用戶操作模塊調用,生成保護芯片的配置數(shù)據(jù),用戶通過主vi模塊輸入配置的數(shù)據(jù)后,主vi模塊用戶操作模塊調用EEPROM.vi生成保護芯片的配置數(shù)據(jù)(屬于控制流數(shù)據(jù)),后傳回串口通信模塊;
PhyValue.v1:受數(shù)據(jù)顯示模塊調用,從數(shù)據(jù)顯示模塊接收實時監(jiān)控反饋數(shù)據(jù)流,分解數(shù)據(jù)得到,得到每節(jié)鋰電池的電壓、工作電流,并轉換為對應的顯示數(shù)據(jù)格式后,傳回主vi模塊數(shù)據(jù)顯示模塊;
EXT1.v1:受數(shù)據(jù)顯示模塊調用,從數(shù)據(jù)顯示模塊中接收實時監(jiān)控的反饋數(shù)據(jù)流,得到鋰電池溫度,并傳回主vi模塊數(shù)據(jù)顯示模塊;
Capacity, v1:受數(shù)據(jù)顯示模塊調用,根據(jù)PhyValue.vi中各節(jié)電池的電壓,采用分段線性模型,估算節(jié)鋰電池的電量,得到鋰電池組的平均電量,以及電量最低電池和最低的電量,并將這些數(shù)據(jù)傳回主vi模塊數(shù)據(jù)顯示模塊;
Log.v1:受用戶操作模塊調用,從主vi模塊數(shù)據(jù)顯示模塊中接收用戶所選擇數(shù)據(jù),記錄生成日志并保存。
[0010]控制芯片是通用計算機平臺與鋰電池保護電路通信的橋梁,主要功能如下:(I)接收Labview監(jiān)控程序發(fā)送的控制流數(shù)據(jù),并控制保護芯片響應;(2)讀取保護芯片寄存器數(shù)據(jù),生成反饋數(shù)據(jù)流,并發(fā)送到通用計算機。
[0011]通用計算機平臺為Labview監(jiān)控程序提供運行平臺,包含兼容LabVIEW 8.5的操作系統(tǒng);提供鍵盤、顯示器等必要外設;提供SCI串口等通信接口 ;同時為控制芯片供電。
[0012]Labview監(jiān)控程序采用LabVIEW 8.5編寫,由主vi調用多個子vi間構成,vi (vi是虛擬儀器的英文縮寫,也LabVIEW編程環(huán)境生成的程序文件的代稱,下文將用vi指代程序文件),子vi被主vi調用做數(shù)據(jù)處理,主vi實現(xiàn)了 Labview監(jiān)控程序的主要功能。從編程結構上來看主vi分為前面板、程序框圖兩部分。前面板用于與用戶交互,接收用戶操作,顯示數(shù)據(jù)給用戶。主vi程序框圖控制各個vi間的數(shù)據(jù)流,實現(xiàn)主vi的功能。從功能上來說主vi分為串口通信模塊、用戶操作模塊、數(shù)據(jù)顯示模塊三部分。串口通信模塊實現(xiàn)與控制芯片間的通信;用戶操作模塊接收用戶的操作,并將用戶操作轉換為一定格式的數(shù)據(jù),通過串口通信模塊發(fā)送給控制芯片以實現(xiàn)用戶操作;數(shù)據(jù)顯示模塊處理從串口通信模塊,接收控制芯片反饋數(shù)據(jù)并實時顯示。用戶操作模塊需要調用EEPROM.vi實現(xiàn)對EEPROM的操作,及對保護芯片的配置;數(shù)據(jù)顯示模塊需要調用PhyValue.v1、Capacity, v1、EXT1.v1、Log.vi實現(xiàn)對鋰電池狀態(tài)信息的數(shù)據(jù)處理。
[0013]系統(tǒng)運行時采用主Vi前面板作為同用戶的交互界面,子Vi主要用于數(shù)據(jù)處理,在運行時不顯示前面板。EEPROM.vi被主vi調用生成EEPROM配置數(shù)據(jù),完成對鋰電池保護芯片的控制;PhyValue.vi用于將接收到的鋰電池狀態(tài)信息(十六進制數(shù)據(jù)),轉換為對應的物理數(shù)據(jù)并實時顯示,Capacity, vi被PhyValue.vi調用生成鋰電池的電量,EXT 1.vi被PhyValue.vi調用生成鋰電池的溫度;Log.vi被主vi調用生成監(jiān)控日志。Labview監(jiān)控程序經過封裝處理,在未安裝LabVIEW 8.5的計算機上也可運行。
[0014]通信程序運行于控制芯片上由嵌入C語言編寫而成,用于實現(xiàn)控制程序的功能,即擔任保護芯片與Labview監(jiān)控程序間通信的橋梁。從串口接收Labview監(jiān)控程序發(fā)送的用戶命令數(shù)據(jù),進行轉換后通過I2C總線發(fā)送給保護芯片,實現(xiàn)用戶對保護電路的控制。從I2C總線接收到原始鋰電池狀態(tài)信息,將這些信息進行轉換后通過串口發(fā)送給Labview監(jiān)控程序,Labview程序將這些信息轉換為對應的電壓、電流、電量等物理參數(shù)后實時顯示給用戶。
[0015]在上述一種基于Labview的鋰電池管理系統(tǒng),主vi模塊工作流程包括三分支順序結構;第一分支為初始化:初始主Vi模塊前面板,設定系統(tǒng)啟動主Vi模塊前面板顯示控件與輸入控件的初始值,將控制欄初始為串口配置界面;第三分支結束處理:在一次監(jiān)控結束而不退出系統(tǒng)時,對主Vi模塊前面板進行結束處理,控制欄保持最后功能界面;第二分支主循環(huán):為一個循環(huán)結構循環(huán),包含串口通信模塊、用戶操作模塊、數(shù)據(jù)顯示模塊;
串口通信模塊:處于二分支條件結構內,從串口配置界面接收配置數(shù)據(jù),配置串口建立串口通信,將用戶操作模塊的數(shù)據(jù)通過串口發(fā)送到通信單元,從串口接收數(shù)據(jù)并發(fā)送到數(shù)據(jù)顯示模塊;
用戶操作模塊:一個多分支事件結構,從主Vi模塊前面板的輸入控件中接收用戶操作數(shù)據(jù),并生成控制數(shù)據(jù)流,同時對數(shù)據(jù)進行查錯,當數(shù)據(jù)錯誤時提示用戶改正,用戶操作正確后,將控制流數(shù)據(jù)傳送給串口通信模塊;
數(shù)據(jù)顯示模塊:一個多分支條件結構,處于一個二分支條件結構內,接收從串口通信模塊傳來的反饋數(shù)據(jù)流,如果反饋數(shù)據(jù)流標志位為失敗,則在狀態(tài)欄上顯示對應操作失敗后,結束對反饋數(shù)據(jù)流的處理;否則根據(jù)反饋數(shù)據(jù)流的模式位,得到用戶操作指令后,處理后實時顯示給用戶;
串口通信模塊與數(shù)據(jù)顯示模塊均處在2分支的條件結構中,只在各自需要的時候被調用,節(jié)約了計算機資源。
[0016]在上述一種基于Labview的鋰電池管理系統(tǒng),監(jiān)控模塊包含以下兩條數(shù)據(jù)流:控制數(shù)據(jù)流、反饋數(shù)據(jù)流;
控制數(shù)據(jù)流中數(shù)據(jù)第一字節(jié)為模式位,即用戶操作指令;數(shù)據(jù)位為用戶輸入的數(shù)據(jù),包含5種控制數(shù)據(jù)流:實時監(jiān)控、EEPROM配置、讀寄存器、寫寄存器、EEPROM操作,實時監(jiān)控無數(shù)據(jù)位,EEPROM配置數(shù)據(jù)位為EEPROM配置數(shù)據(jù),讀寄存器數(shù)據(jù)位為讀取地址,寫寄存器數(shù)據(jù)位為寫入地址與寫入數(shù)據(jù),EEPROM操作數(shù)據(jù)位為操作指令、操作地址、操作數(shù)據(jù),控制流數(shù)據(jù)傳遞步驟如下:
步驟1.1:前面板主vi模塊輸入控件接收用戶操作,生成操作數(shù)據(jù)傳送到,用戶操作模
塊;
步驟1.2:用戶操作模塊接收操作數(shù)據(jù),當用戶操作正確后,在需要時調用EEPROM.vi,生成控制流數(shù)據(jù);
步驟1.3:串口通信模塊接收用戶操作模塊生成的控制數(shù)據(jù)流,通過串口發(fā)送到控制-H-* I I
心片;
步驟1.4:通信單元從串口接收控制數(shù)據(jù)流后,按控制數(shù)據(jù)流格式分解出操作指令、操作地址與操作數(shù)據(jù)后,調用對應操作函數(shù)通過I2C總線對保護芯片進行控制,至此為一條完整的控制流。
[0017]在上述一種基于Labview的鋰電池管理系統(tǒng),反饋數(shù)據(jù)流中第一字節(jié)為模式位,表示用戶操作指令,第二字節(jié)為標志位,標志用戶操作的成敗,后續(xù)為數(shù)據(jù)位即用戶所需的數(shù)據(jù),當操作失敗時數(shù)據(jù)位為空,寫寄存器數(shù)據(jù)位為空;讀寄存器數(shù)據(jù)位為讀取數(shù)據(jù);實時監(jiān)控數(shù)據(jù)位為鋰電池狀態(tài)寄存器值;EEPR0M操作的數(shù)據(jù)位依次為EEPROM操作指令、反饋數(shù)據(jù),反饋數(shù)據(jù)流傳遞步驟如下:
步驟2.1:保護芯片接受用控制芯片控制,并響應用戶操作后,采集數(shù)據(jù)存儲存于寄存器中,作為初始反饋數(shù)據(jù);
步驟2.2:控制芯片讀取保護芯片寄存器中的數(shù)據(jù),得到用戶操作成敗、用戶所需的數(shù)據(jù),按反饋數(shù)據(jù)流格式整合后,通過串口發(fā)到通用計算機;
步驟2.3:主vi模塊數(shù)據(jù)顯示模塊從串口通信模塊接收數(shù)據(jù)后,將數(shù)據(jù)按反饋數(shù)據(jù)流格式進行分解,按用戶操作指令將數(shù)據(jù),送給前面板不同的顯示控件顯示;
步驟2.4:實時監(jiān)控顯示的數(shù)據(jù),需要依次調用PhyValue.vi>Capacity.v1、EXTl.vi完成數(shù)據(jù)處理后,傳遞回數(shù)據(jù)顯示模塊并由實時監(jiān)控界面顯示;
步驟2.5:Log.vi從數(shù)據(jù)顯示模塊接收數(shù)據(jù)后,生成監(jiān)控日志,至此為一條完整的反饋數(shù)據(jù)流。
[0018]在上述一種基于Labview的鋰電池管理系統(tǒng),系統(tǒng)包含報錯模塊,在硬件通信故障,即I2C總線通信未建立、SCI串口通信未建立時,能通知用戶并要求用戶排除故障,當用戶輸入數(shù)據(jù)錯誤、用戶操作不當時,能通知用戶并要求用戶進行正確的操作。
[0019]因此,本發(fā)明具有如下優(yōu)點:1.采用軟硬結合的系統(tǒng)架構,保護硬件模塊即可自主保護鋰電池,又可以通過軟件接受用戶控制,實時調整鋰電池及其工作電路的工作狀態(tài)。
2.監(jiān)控軟件模塊實時監(jiān)控并顯示鋰電池信息,用戶可查詢鋰電池的工作電流、工作溫度、各節(jié)電池電壓、電池組平均電量、最低電量等全面的信息,以判斷鋰電池的工作狀態(tài),并對手動調整鋰電池工作狀態(tài)。3.監(jiān)控軟件模塊可移植性好,在保護硬件模塊發(fā)生變化時,只需重新建立保護芯片與通用計算機平臺的通信即可正常工作。4.本監(jiān)控系統(tǒng)包含除錯功能,當系統(tǒng)硬件連接出錯時,通知用戶并要求修復硬件連接;當用戶操作不當時,通知用于并要求進行更正操作。5.本系統(tǒng)包含日志記錄功能,用戶可保存并查看所需的鋰電池狀態(tài)記錄。
【專利附圖】
【附圖說明】
[0020]圖1所示為鋰電池監(jiān)控系統(tǒng)的整體框架示意圖。
[0021]圖2所示為監(jiān)控軟件模塊的數(shù)據(jù)流示意圖。
[0022]圖3所示為監(jiān)控系統(tǒng)主vi結構的示意圖。
[0023]圖4所示為監(jiān)控系統(tǒng)控制數(shù)據(jù)流格式示意圖。
[0024]圖5所示為監(jiān)控系統(tǒng)反饋數(shù)據(jù)流格式示意圖。
[0025]圖6所示為通信程序運行流程示意圖。
[0026]圖7所示為系統(tǒng)監(jiān)控流程示意圖?!揪唧w實施方式】
[0027]下面通過實施例,并結合附圖,對本發(fā)明的技術方案作進一步具體的說明。
[0028]實施例:
附圖1所示為鋰電池監(jiān)控系統(tǒng)的整體框圖,系統(tǒng)包括保護硬件模塊、監(jiān)控軟件模塊兩部分。
[0029]保護硬件模塊:通用計算機通過SCI串口與控制芯片相連接,控制芯片通過I2C總線與保護芯片連接,保護芯片分別通過均衡電路、充放電電路與鋰電池組相連接,保護芯片、均衡電路、充放電電路屬于鋰電池保護電路。
[0030]保護芯片:裡電池保護電路米用成熟的裡電池保護電路,啟動后可以自王完成對鋰電池的保護,不一定需要監(jiān)控軟件模塊的控制。保護芯片通過均衡電路對鋰電池進行均衡操作;保護芯片通過控制充放電電路,對鋰電池進行保護。鋰電池保護電路的主要功能如
下::1:實時監(jiān)控并保護鋰電池rl:實時采集電池的電壓、溫度、電流等工作狀態(tài)數(shù)據(jù)并儲
存到保護芯片寄存器中;:t受控制芯片控制,調保護電路工作狀態(tài)。
[0031]控制芯片:采用16位單片機模塊,主要功能如下:接收Labview監(jiān)控程序發(fā)送的控制數(shù)據(jù)流,控制保護芯片響應用戶操作;讀取保護芯片寄存器,生成反饋數(shù)據(jù)流,發(fā)送到通用計算機,顯示給用戶。
[0032]通用計算機平臺:普通臺式機,包含必要外設、通信接口;提供兼容LabVIEW 8.5的操作系統(tǒng);通用計算機平臺為Labview監(jiān)控程序提供運行平臺。
`[0033]監(jiān)控軟件模塊包含操作系統(tǒng)、通信程序、Labview監(jiān)控程序三部分。操作系統(tǒng)由通用計算機平臺提供,不在所設計的范疇內。
[0034]附圖2所示為監(jiān)控軟件模塊數(shù)據(jù)流示意圖。Labview監(jiān)控程序采用數(shù)據(jù)流編程方式構建,由一個主vi調用一系列子vi構成,主vi實現(xiàn)Labview監(jiān)控程序的主要功能,子vi用于數(shù)據(jù)處理。主vi各個模塊與各子v1、監(jiān)控軟件模塊其他部分通過數(shù)據(jù)流相互連接。
[0035]EEPROM.v1:受用戶操作模塊調用,生成保護芯片的配置數(shù)據(jù)。用戶通過主vi輸入配置的數(shù)據(jù)后,主vi用戶操作模塊調用EEPROM.vi生成保護芯片的配置數(shù)據(jù)(屬于控制流數(shù)據(jù)),之后通過串口通信模塊發(fā)送給通信程序;
PhyValue.v1:受數(shù)據(jù)顯示模塊調用,從數(shù)據(jù)顯示模塊接收實時監(jiān)控的反饋數(shù)據(jù)流。分解數(shù)據(jù)得到,得到每節(jié)鋰電池的電壓、工作電流,并轉換為對應的顯示數(shù)據(jù)格式后,傳回主vi數(shù)據(jù)顯示模塊;
EXT1.v1:受數(shù)據(jù)顯示模塊調用,從數(shù)據(jù)顯示模塊中接收實時監(jiān)控的反饋數(shù)據(jù)流,得到鋰電池溫度,并傳回主vi數(shù)據(jù)顯示模塊;
Capacity, v1:受數(shù)據(jù)顯示模塊調用,根據(jù)PhyValue.vi中各節(jié)電池的電壓,采用電量對電池電壓的分段線性模型,估算鋰電池組中每節(jié)電池的電量,得到鋰電池組的平均電量,以及電量最低電池和最低的電量,并將這些數(shù)據(jù)傳回主vi數(shù)據(jù)顯示模塊;
Log.v1:受用戶操作模塊調用,從主vi數(shù)據(jù)顯示模塊中接收用戶所選擇數(shù)據(jù),記錄生成日志并保存。[0036]附圖3所示為監(jiān)控程序主vi結構圖,主vi包含前面板與程序框圖兩部分。前面板用于與用戶交互,接收用戶操作、顯示數(shù)據(jù)給用戶。程序框圖控制主Vi各模塊、各子Vi間的數(shù)據(jù)流,實現(xiàn)主Vi的功能。
[0037]主vi前面板:顯示控件顯示信息給用戶,輸入控件接收用戶操作數(shù)據(jù)用戶(即用戶在前面板上進行操作生成的數(shù)據(jù),包括表征用戶操作類型的數(shù)據(jù)與用戶輸入的數(shù)據(jù)兩部分組成)。主Vi前面板包含狀態(tài)欄、控制欄、菜單欄三部分。狀態(tài)欄屬于顯示控件指示系統(tǒng)運行狀態(tài)和用戶操作成敗,菜單欄屬于輸入控件為用戶提供操作菜單。控制欄用于包含以下五個功能界面,提供用戶5種模式的操作:
串口配置界面:提供了串口配置項目,接收用戶配置,并將配置數(shù)據(jù)發(fā)送到串口通信模
塊;
日志記錄界面:顯示生成的監(jiān)控日志供用戶查看,并按用戶操作保存日志;
EEPROM配置界面:提供了 EEPROM配置表,指導用戶輸入完整的EEPROM配置數(shù)據(jù),并輸入到用戶操作模塊;
實時監(jiān)控界面:實時顯示監(jiān)控數(shù)據(jù),即鋰電池的工作狀態(tài)數(shù)據(jù);
Pro Operation界面:提供用戶三種直接控制保護芯片操作:讀寄存器、寫寄存器、EEPROM操作。EEPROM操作會改變保護芯片工作模。接收到操作數(shù)據(jù)后發(fā)送到用戶操作模塊,之后顯示操作反饋的數(shù)據(jù)包括:讀出寄存器的數(shù)據(jù)、EEPROM操作反饋數(shù)據(jù)兩部分。
[0038]主vi程序框圖:一個三分支順序結構。第一分支為初始化:初始主Vi前面板,設定系統(tǒng)啟動主vi前面板顯示控件與輸入控件的初始值,將控制欄初始為串口配置界面。第三分支結束處理:在一次監(jiān)控結束而不退出系統(tǒng)時,對主Vi前面板進行結束處理,控制欄保持最后功能界面。第二分支主循環(huán):一個循環(huán)結構循環(huán),包含串口通信模塊、用戶操作模塊、數(shù)據(jù)顯示模塊三部分。
[0039]串口通信模塊:處于二分支條件結構內,從串口配置界面接收配置數(shù)據(jù),配置串口建立串口通信,將用戶操作模塊的數(shù)據(jù)通過串口發(fā)送到通信程序,從串口接收數(shù)據(jù)并發(fā)送到數(shù)據(jù)顯示模塊;
用戶操作模塊:一個多分支事件結構,從主vi前面板的輸入控件中接收用戶操作數(shù)據(jù),并生成控制數(shù)據(jù)流,同時對數(shù)據(jù)進行查錯,當數(shù)據(jù)錯誤時提示用戶改正。用戶操作正確后,將控制流數(shù)據(jù)傳送給串口通信模塊。
[0040]附圖4所示為監(jiān)控系統(tǒng)控制數(shù)據(jù)流的格式:數(shù)據(jù)第一字節(jié)為模式位,即用戶操作指令;數(shù)據(jù)位為用戶輸入的數(shù)據(jù)。包含5種控制數(shù)據(jù)流:實時監(jiān)控、EEPROM配置、讀寄存器、寫寄存器、EEPROM操作。實時監(jiān)控由實時監(jiān)控界面輸入沒有數(shù)據(jù)位;EEPR0M配置數(shù)據(jù)位由EEPROM配置界面輸入的EEPROM配置數(shù)據(jù);讀寄存器數(shù)據(jù)位為讀取地址;寫寄存器數(shù)據(jù)位依次為寫入地址、寫入數(shù)據(jù);E E P ROM操作數(shù)據(jù)位依次為操做命令、操作地址、操作數(shù)據(jù),后三種數(shù)據(jù)有Pro Operation界面輸入。
[0041]數(shù)據(jù)顯示模塊:一個多分支條件結構,處于一個二分支條件結構內,接收從串口通信模塊傳來的反饋數(shù)據(jù)流,如果反饋數(shù)據(jù)流標志位為失敗,則在狀態(tài)欄上顯示對應操作失敗,之后結束對反饋數(shù)據(jù)流的處理;否則根據(jù)反饋數(shù)據(jù)流的模式位,得到用戶操作指令后,
處理后實時顯示給用戶。反饋數(shù)據(jù)流有以下四種實時監(jiān)控數(shù)據(jù),此部分數(shù)據(jù)需要調用PhyValue.v1、EXTl.v1、Capacity.vi處理后顯示在實時監(jiān)控界面上;玄+: EEPROM反饋數(shù)據(jù):
顯示在Pro Operation界面上;::重讀寄存器數(shù)據(jù):顯示在Pro Operation界面上;'劣寫寄存器數(shù)據(jù):只用將操作成敗顯示在狀態(tài)欄上即可。
[0042]附圖5所示為監(jiān)控系統(tǒng)反饋數(shù)據(jù)流的格式:第一字節(jié)為模式位,表示用戶操作指令,第二字節(jié)為標志位,標志用戶操作的成敗,后續(xù)為數(shù)據(jù)位即用戶所需的數(shù)據(jù),當操作失敗時數(shù)據(jù)位為空。寫寄存器數(shù)據(jù)位為空;讀寄存器數(shù)據(jù)位為讀取數(shù)據(jù);實時監(jiān)控數(shù)據(jù)位為鋰電池狀態(tài)寄存器值;EEPR0M操作的數(shù)據(jù)位依次為EEPROM操作指令、反饋數(shù)據(jù)。
[0043]串口通信模塊與數(shù)據(jù)顯示模塊均處在2分支的條件結構中,只在各自需要的時候被調用,節(jié)約了計算機資源。為了實現(xiàn)上述監(jiān)控系統(tǒng)設計了兩條數(shù)據(jù)流。
[0044]控制數(shù)據(jù)流:起點為用戶操作終點為保護芯片,實現(xiàn)用戶對保護芯片的控制??刂茢?shù)據(jù)流傳輸步驟如下。
[0045]步驟1.1:前面板主Vi輸入控件接收用戶操作,生成操作數(shù)據(jù)傳送到,用戶操作模塊;
步驟1.2:用戶操作模塊接收操作數(shù)據(jù),當用戶操作正確后,在需要時調用EEPROM.vi,生成控制流數(shù)據(jù);
步驟1.3:串口通信模塊接收用戶操作模塊生成的控制數(shù)據(jù)流,通過串口發(fā)送到控制
心片;
步驟1.4:通信程序從串口接收控制`數(shù)據(jù)流后,按控制數(shù)據(jù)流格式分解出操作指令、操作地址與操作數(shù)據(jù)后,調用對應操作函數(shù)通過I2C總線對保護芯片進行控制。至此為一條完整的控制流。
[0046]反饋數(shù)據(jù)流:起點為保護芯片終點為顯示設備,告知用戶操作的結果以及鋰電池狀態(tài)。反饋數(shù)據(jù)流傳輸步驟如下:
步驟2.1:保護芯片接受用控制芯片控制,并響應用戶操作后,采集數(shù)據(jù)存儲存于寄存器中,作為初始反饋數(shù)據(jù);
步驟2.2:控制芯片讀取保護芯片寄存器中的數(shù)據(jù),得到用戶操作成敗、用戶所需的數(shù)據(jù),按反饋數(shù)據(jù)流格式整合后,通過串口發(fā)到通用計算機;
步驟2.3:主vi數(shù)據(jù)顯示模塊從串口通信模塊接收數(shù)據(jù)后,將數(shù)據(jù)按反饋數(shù)據(jù)流格式進行分解,按用戶操作指令將數(shù)據(jù),送給前面板不同的顯示控件顯示;
步驟2.4:實時監(jiān)控顯示的數(shù)據(jù),需要依次調用PhyValue.v1、Capacity.v1、EXTl.vi完成數(shù)據(jù)處理后,傳遞回數(shù)據(jù)顯示模塊并由實時監(jiān)控界面顯示;
步驟2.5:Log.vi從數(shù)據(jù)顯示模塊接收數(shù)據(jù)后,生成監(jiān)控日志。至此為一條完整的反饋數(shù)據(jù)流。
[0047]附圖6所示為系統(tǒng)通信程序的運行流程示意圖。采用C語言編寫承擔Labview監(jiān)控程序與保護芯片通信的橋梁,其運行流程如下:
(1)初始化:對硬件電路進行初始化,包括控制芯片、I2C總線、串口模塊、保護芯片等模塊;
(2)接收數(shù)據(jù):等待并讀取通過串口寫入控制數(shù)據(jù)流; (3)模式判斷:根據(jù)控制數(shù)據(jù)流模式位判斷用戶操作指令,并跳入對應的處理分支,分支處理完成后回到第2步重復進行;
(4)讀寄存器:從控制數(shù)據(jù)流數(shù)據(jù)位中得到讀取地址,調用讀函數(shù)通過I2C總線讀取保護芯片對應的寄存器;
(5)寫寄存器:從控制數(shù)據(jù)流的數(shù)據(jù)位中得到寫入地址與寫入數(shù)據(jù),調用寫函數(shù)通過IC2寫保護芯片對應的寄存器;
(6)實時監(jiān)控:調用實時監(jiān)控函數(shù),掃描鋰電池工作狀態(tài)寄存器組;
(7)EEPROM操作:從控制數(shù)據(jù)流數(shù)據(jù)位中得到EEPROM操作指令,再根據(jù)操作指令從后續(xù)數(shù)據(jù)位中,得到操作地址與操作數(shù)據(jù),之后調用EEPROM操作函數(shù)進行操作;
(8)EEPROM配置:從控制數(shù)據(jù)流的數(shù)據(jù)位中,取得EEPROM配置數(shù)據(jù),再調用EEPROM配置函數(shù)進行相應配置;
(9)完成所有任務后退。
[0048]第4到7步中,完成操作后,需要判斷操作成敗,并結合反饋數(shù)據(jù)、操作指令生成反饋數(shù)據(jù)流通過串口,發(fā)送給Labview監(jiān)控程序。如果操作失敗,反饋數(shù)據(jù)流不包含數(shù)據(jù)位。
[0049]附圖7所示為系統(tǒng)控流程圖,其中保持界面為特殊的一步即:用戶無操作時,保持在用戶最后操作的界面,并進行相應的任務,等待用戶新的操作:
步驟1:啟動系統(tǒng)進行初始化。硬件上:通信程序對控制芯片、保護芯片、I2C總線、SCI串口進行初次化。軟件上:主vi的前面板被初始化到串口配置界面。
[0050]步驟2:用戶通過串口配置界面,對串口進行配置建立串口通信,一般情況系統(tǒng)默認配置即可。
[0051]步驟3:用戶通過EEPROM配置界面,寫入EEPROM配置數(shù)據(jù),設定保護芯片的工作模式,一般情況按系統(tǒng)默認配置即可。
[0052]步驟4:開啟實時監(jiān)控任務,通過控制欄切換到實時監(jiān)控界面,開始監(jiān)控鋰電池的工作狀態(tài),實時監(jiān)控并顯示鋰電池的狀態(tài),完成后保持界面。
[0053]步驟5:日志記錄,通過控制欄切換到日志生成界面,查看生成的日志,并保存所需數(shù)據(jù),完成后保持界面。
[0054]步驟6:在Pro Operation界面上按用戶所需要進行操作,并顯示操作反饋的數(shù)據(jù),完成后保持界面。
[0055]步驟4,5,6可并列進行沒有先后順序之分,可以自由切換任務,直到無需監(jiān)控時結束程序退出系統(tǒng)。
[0056]所設計系統(tǒng)包含報錯系統(tǒng),在硬件通信故障時,即在I2C總線通信未建立、SCI串口通信未建立時,能通知用戶并要求用戶排除故障。在軟件使用上,用戶輸入操作數(shù)據(jù)錯誤、用戶操作不當時,都能通知用戶并要求用戶進行正確的操作。同時Labview監(jiān)控程序通過封裝處理,在未安裝LabVIEW的通用計算機上也可運行。
[0057]本文中所描述的具體實施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬【技術領域】的技術人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權利要求書所定義的范圍。
【權利要求】
1.一種基于Labview的鋰電池監(jiān)控系統(tǒng)其特征在于:包括保護硬件模塊與監(jiān)控管理模塊;所述保護硬件模塊包括保護電路、控制芯片、通用計算機平臺;所述監(jiān)控模塊包括設置在計算機平臺內的操作系統(tǒng)單元、設置在計算機平臺內Labview監(jiān)控單元、以及通信單元;所述通用計算機平臺通過SCI串口與控制芯片相連接,控制芯片通過I2C總線與保護芯片連接,保護芯片分別通過均衡電路、充放電電路與鋰電池組相連接,保護芯片、均衡電路、充放電電路屬于鋰電池保護電路。
2.根據(jù)權利要求1中所述一種基于Labview的鋰電池管理系統(tǒng)其特征于:Labview監(jiān)控單元采用數(shù)據(jù)流編程方式,由一個主Vi模塊調用多個子Vi模塊構成;主Vi模塊實現(xiàn)監(jiān)控程的主要功能,子Vi模塊受主Vi模塊調用做數(shù)據(jù)處理,具體包括: EEPROM.V1:受用戶操作模塊調用,生成保護芯片的配置數(shù)據(jù),用戶通過主Vi模塊輸入配置的數(shù)據(jù)后,主vi模塊用戶操作模塊調用EEPROM.vi生成保護芯片的配置數(shù)據(jù)(屬于控制流數(shù)據(jù)),后傳回串口通信模塊; PhyValue.v1:受數(shù)據(jù)顯示模塊調用,從數(shù)據(jù)顯示模塊接收實時監(jiān)控反饋數(shù)據(jù)流,分解數(shù)據(jù)得到,得到每節(jié)鋰電池的電壓、工作電流,并轉換為對應的顯示數(shù)據(jù)格式后,傳回主vi模塊數(shù)據(jù)顯示模塊; EXT1.v1:受數(shù)據(jù)顯示模塊調用,從數(shù)據(jù)顯示模塊中接收實時監(jiān)控的反饋數(shù)據(jù)流,得到鋰電池溫度,并傳回主vi模塊數(shù)據(jù)顯示模塊; Capacity, v1:受數(shù)據(jù)顯示模塊調用,根據(jù)PhyValue.vi中各節(jié)電池的電壓,采用分段線性模型,估算節(jié)鋰電池的電量,得到鋰電池組的平均電量,以及電量最低電池和最低的電量,并將這些數(shù)據(jù)傳回主vi模塊數(shù)據(jù)顯示模塊; Log.v1:受用戶操作模塊調用,從主vi模塊數(shù)據(jù)顯示模塊中接收用戶所選擇數(shù)據(jù),記錄生成日志并保存。
3.根據(jù)權利要求2中所述一種基于Labview的鋰電池管理系統(tǒng)其特征于:主vi模塊工作流程包括三分支順序結構;第一分支為初始化:初始主vi模塊前面板,設定系統(tǒng)啟動主vi模塊前面板顯示控件與輸入控件的初始值,將控制欄初始為串口配置界面;第三分支結束處理:在一次監(jiān)控結束而不退出系統(tǒng)時,對主Vi模塊前面板進行結束處理,控制欄保持最后功能界面;第二分支主循環(huán):為一個循環(huán)結構循環(huán),包含串口通信模塊、用戶操作模塊、數(shù)據(jù)顯示模塊; 串口通信模塊:處于二分支條件結構內,從串口配置界面接收配置數(shù)據(jù),配置串口建立串口通信,將用戶操作模塊的數(shù)據(jù)通過串口發(fā)送到通信單元,從串口接收數(shù)據(jù)并發(fā)送到數(shù)據(jù)顯示模塊; 用戶操作模塊:一個多分支事件結構,從主Vi模塊前面板的輸入控件中接收用戶操作數(shù)據(jù),并生成控制數(shù)據(jù)流,同時對數(shù)據(jù)進行查錯,當數(shù)據(jù)錯誤時提示用戶改正,用戶操作正確后,將控制流數(shù)據(jù)傳送給串口通信模塊; 數(shù)據(jù)顯示模塊:一個多分支條件結構,處于一個二分支條件結構內,接收從串口通信模塊傳來的反饋數(shù)據(jù)流,如果反饋數(shù)據(jù)流標志位為失敗,則在狀態(tài)欄上顯示對應操作失敗后,結束對反饋數(shù)據(jù)流的處理;否則根據(jù)反饋數(shù)據(jù)流的模式位,得到用戶操作指令后,處理后實時顯示給用戶; 串口通信模塊與數(shù)據(jù)顯示模塊均處在2分支的條件結構中,只在各自需要的時候被調用,節(jié)約了計算機資源。
4.根據(jù)權利要求3中所述一種基于Labview的鋰電池管理系統(tǒng)其特征于:監(jiān)控模塊包含以下兩條數(shù)據(jù)流:控制數(shù)據(jù)流、反饋數(shù)據(jù)流; 控制數(shù)據(jù)流中數(shù)據(jù)第一字節(jié)為模式位,即用戶操作指令;數(shù)據(jù)位為用戶輸入的數(shù)據(jù),包含5種控制數(shù)據(jù)流:實時監(jiān)控、EEPROM配置、讀寄存器、寫寄存器、EEPROM操作,實時監(jiān)控無數(shù)據(jù)位,EEPROM配置數(shù)據(jù)位為EEPROM配置數(shù)據(jù),讀寄存器數(shù)據(jù)位為讀取地址,寫寄存器數(shù)據(jù)位為寫入地址與寫入數(shù)據(jù),EEPROM操作數(shù)據(jù)位為操作指令、操作地址、操作數(shù)據(jù),控制流數(shù)據(jù)傳遞步驟如下: 步驟1.1:前面板主vi模塊輸入控件接收用戶操作,生成操作數(shù)據(jù)傳送到,用戶操作模塊; 步驟1.2:用戶操作模塊接收操作數(shù)據(jù),當用戶操作正確后,在需要時調用EEPROM.vi,生成控制流數(shù)據(jù); 步驟1.3:串口通信模塊接收用戶操作模塊生成的控制數(shù)據(jù)流,通過串口發(fā)送到控制芯片; 步驟1.4:通信單元從串口接收控制數(shù)據(jù)流后,按控制數(shù)據(jù)流格式分解出操作指令、操作地址與操作數(shù)據(jù)后,調用對應操作函數(shù)通過I2C總線對保護芯片進行控制,至此為一條完整的控制流。
5.根據(jù)權利要求4中所述一種基于Labview的鋰電池管理系統(tǒng)其特征于:反饋數(shù)據(jù)流中第一字節(jié)為模式位,表示用戶操作指令,第二字節(jié)為標志位,標志用戶操作的成敗,后續(xù)為數(shù)據(jù)位即用戶所需的數(shù)據(jù),當操作失敗時數(shù)據(jù)位為空,寫寄存器數(shù)據(jù)位為空;讀寄存器數(shù)據(jù)位為讀取數(shù)據(jù);實時監(jiān)控數(shù)據(jù)位為鋰電池狀態(tài)寄存器值;EEPR0M操作的數(shù)據(jù)位依次為EEPROM操作指令、反饋數(shù)據(jù),反饋數(shù)據(jù)流傳遞步驟如下: 步驟2.1:保護芯片接受用控制芯片控制,并響應用戶操作后,采集數(shù)據(jù)存儲存于寄存器中,作為初始反饋數(shù)據(jù); 步驟2.2:控制芯片讀取保護芯片寄存器中的數(shù)據(jù),得到用戶操作成敗、用戶所需的數(shù)據(jù),按反饋數(shù)據(jù)流格式整合后,通過串口發(fā)到通用計算機; 步驟2.3:主vi模塊數(shù)據(jù)顯示模塊從串口通信模塊接收數(shù)據(jù)后,將數(shù)據(jù)按反饋數(shù)據(jù)流格式進行分解,按用戶操作指令將數(shù)據(jù),送給前面板不同的顯示控件顯示; 步驟2.4:實時監(jiān)控顯示的數(shù)據(jù),需要依次調用PhyValue.v1、Capacity.v1、EXTl.vi完成數(shù)據(jù)處理后,傳遞回數(shù)據(jù)顯示模塊并由實時監(jiān)控界面顯示; 步驟2.5:Log.vi從數(shù)據(jù)顯示模塊接收數(shù)據(jù)后,生成監(jiān)控日志,至此為一條完整的反饋數(shù)據(jù)流。
6.根據(jù)權利要求1中所述一種基于Labview的鋰電池管理系統(tǒng)其特征于:系統(tǒng)包含報錯模塊,在硬件通信故障,即I2C總線通信未建立、SCI串口通信未建立時,能通知用戶并要求用戶排除故障,當用戶輸入數(shù)據(jù)錯誤、用戶操作不當時,能通知用戶并要求用戶進行正確的操作。
【文檔編號】H02H7/18GK103501026SQ201310422907
【公開日】2014年1月8日 申請日期:2013年9月17日 優(yōu)先權日:2013年9月17日
【發(fā)明者】江金光, 譚高建 申請人:武漢大學