趙 勝,李 圍,趙 權(quán)
應(yīng)用研究
基于RS485通信的深海電池組數(shù)據(jù)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
趙 勝,李 圍,趙 權(quán)
(武漢船用電力推進(jìn)裝置研究所,武漢 430064)
針對(duì)深海鋰電池組在充放電過(guò)程中的數(shù)據(jù)監(jiān)測(cè)的問(wèn)題,設(shè)計(jì)了基于Labview圖形化編程平臺(tái)的監(jiān)測(cè)系統(tǒng),通過(guò)單片機(jī)與上位機(jī)的485串行通信實(shí)現(xiàn)了對(duì)電池組電壓、電流和溫度數(shù)據(jù)的采集、監(jiān)控以及報(bào)警功能。
Labview 數(shù)據(jù)采集 RS-485串行通信 實(shí)時(shí)監(jiān)測(cè)
現(xiàn)在,電池在各個(gè)領(lǐng)域和行業(yè)中廣泛的使用,船舶,航空,以及交通領(lǐng)域等等[1],對(duì)我們的生活產(chǎn)生了深刻的影響,為了保證電池使用的安全與穩(wěn)定,對(duì)電池工作狀態(tài)下的監(jiān)測(cè)和早期的預(yù)警是非常重要的[2],對(duì)電池?cái)?shù)據(jù)的監(jiān)測(cè)也必須具有時(shí)效性、準(zhǔn)確性、持續(xù)性等特點(diǎn)[3],同時(shí),也要具備對(duì)數(shù)據(jù)的存儲(chǔ),故障報(bào)警的反應(yīng),數(shù)據(jù)查詢(xún)分析和統(tǒng)計(jì)等功能。
為了對(duì)電池充放電的過(guò)程進(jìn)行有效的管理,利用Labview測(cè)控軟件開(kāi)發(fā)設(shè)計(jì)電池組數(shù)據(jù)采集與監(jiān)測(cè)系統(tǒng),具有數(shù)據(jù)采集和波形顯示、故障報(bào)警、數(shù)據(jù)查詢(xún)和存儲(chǔ)等功能。Labview是圖形化編程語(yǔ)言的開(kāi)發(fā)環(huán)境,采用數(shù)據(jù)流的編程方式,程序框圖中節(jié)點(diǎn)之間的數(shù)據(jù)流向決定了VI及函數(shù)的執(zhí)行順序[4]。Labview集成了與滿(mǎn)足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能[5]。Labview編程簡(jiǎn)單方便,界面形象,生動(dòng),易于監(jiān)測(cè)[6]。利用Labview開(kāi)發(fā)的上位機(jī),可以實(shí)現(xiàn)與單片機(jī)的通信,接收電池組各項(xiàng)數(shù)據(jù)并顯示出來(lái),簡(jiǎn)單方便。
鋰離子電池組在充放電過(guò)程中利用電源管理系統(tǒng)完成對(duì)電壓、電流和溫度等各項(xiàng)參數(shù)的采集,使用充放電機(jī)給電池充電、放電,利用開(kāi)關(guān)控制調(diào)節(jié)充電和放電的狀態(tài)。在充放電過(guò)程中,觀(guān)察電壓,電流以及溫度的實(shí)時(shí)變化。利用電源管理系統(tǒng)采集電池工作狀態(tài)下的電流、電壓和溫度信號(hào),通過(guò)RS-485串口通訊端將信息傳遞給上位機(jī),然后會(huì)在上位機(jī)上顯示電池組各個(gè)參數(shù)的數(shù)值以及波形,方便隨時(shí)的監(jiān)測(cè)。該數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
利用充放電機(jī)對(duì)電池組進(jìn)行充放電循環(huán)試驗(yàn),充放電可以提供穩(wěn)定的恒流源,通過(guò)開(kāi)關(guān)面板可以調(diào)節(jié)充放電的模式,通過(guò)RS485接口與上位機(jī)進(jìn)行通信。
電池電壓的采集使用LTC6804-2芯片,可快速高效的測(cè)量12個(gè)串接電池的電壓,總誤差低于1.2 mv,LTC6804-2內(nèi)部的ADC采集完成后,通過(guò)SPI總線(xiàn)通訊將數(shù)據(jù)傳送給MCU。LTC6804-2芯片的電壓檢測(cè)功能,很大程度上簡(jiǎn)化了電池管理的設(shè)計(jì)方案。單節(jié)鋰電池最高電壓不高于3.65 V,電池端電壓信號(hào)可以直接接入電池管理芯片通信端口,由此可以得到電壓的值。
電池組的工作電流為放電過(guò)程回路中的電流,使用電流檢測(cè)板采集電路中的電流值。
霍爾電流傳感器的型號(hào)眾多,量程范圍寬泛,精度高、靈敏度高,抗干擾能力強(qiáng)。利用電流傳感器的霍爾效應(yīng)檢測(cè)電路中的磁場(chǎng)強(qiáng)度,然后通過(guò)磁場(chǎng)強(qiáng)度計(jì)算電路中的電流值。
電池溫度的測(cè)量通過(guò)內(nèi)部的溫度傳感器將測(cè)量結(jié)果存放在溫度寄存器中,再經(jīng)過(guò)單總線(xiàn)輸入輸出端口與單片機(jī)端口完成串行數(shù)據(jù)傳送。
利用電源管理系統(tǒng)采集電壓、溫度、電流數(shù)據(jù),使用電子開(kāi)關(guān)控制總電路及充放電過(guò)程。上位機(jī)程序監(jiān)測(cè)RS485串口通訊端輸出,通過(guò)電子開(kāi)關(guān)調(diào)節(jié)電池充電和放電過(guò)程之間的轉(zhuǎn)換。
電源管理系統(tǒng)與上位機(jī)采用485串口通信模式。在異步串行通信方式中,通信的發(fā)送與接收設(shè)備使用各自時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過(guò)程,該方式實(shí)現(xiàn)起來(lái)簡(jiǎn)單方便。具體通信流程如圖2所示。
因此,對(duì)電池的電流和電壓數(shù)據(jù)的采集利用串行通訊模式進(jìn)行,采用RS-485異步串行通信標(biāo)準(zhǔn)實(shí)現(xiàn)單片機(jī)和上位機(jī)之間的數(shù)據(jù)通信。RS-485采用半雙工工作方式,支持多點(diǎn)數(shù)據(jù)通信,平衡發(fā)送和差分接收,可以抑制共模干擾,使通信保持穩(wěn)定。
圖2 電池?cái)?shù)據(jù)采集通信流程
利用Labview平臺(tái)開(kāi)發(fā)上位機(jī),Labview具有PCI,PXI,RS-232/485,USB等各種儀器通訊總線(xiàn)標(biāo)準(zhǔn)的所有功能函數(shù),以及對(duì)鋰離子電池的充放電過(guò)程中電壓、電流、溫度數(shù)據(jù)的變化進(jìn)行實(shí)時(shí)監(jiān)測(cè)的功能。將界面上的數(shù)據(jù)顯示控件、表格以及波形圖合理的分布在前面板上,設(shè)計(jì)出的上位機(jī)前面板如圖3所示。
圖3 基于Labview平臺(tái)上位機(jī)前面板
上位機(jī)分為前面板和程序框圖,前面板主要分為六個(gè)子模塊:電池模塊數(shù)據(jù)界面、電壓數(shù)據(jù)界面、溫度數(shù)據(jù)界面、保護(hù)參數(shù)界面、程序更新界面、數(shù)據(jù)查詢(xún)界面。電池模塊數(shù)據(jù)界面列出了通訊端口,總電壓及支路電壓、總電流及支路電流、溫度值顯示框,波形圖表,上限報(bào)警燈等顯示控件;電壓數(shù)據(jù)界面列出了各支路單體電壓值顯示控件,以及最高電壓序號(hào),最低電壓序號(hào)顯示控件;溫度數(shù)據(jù)界面列出了各支路單體溫度值顯示控件,以及最高溫度序號(hào)和最低溫度序號(hào);保護(hù)參數(shù)界面列出了支路過(guò)流,支路過(guò)充,過(guò)溫,欠溫,單體電壓的保護(hù)值,可以設(shè)定和讀取保護(hù)參數(shù);程序更新界面實(shí)現(xiàn)了讀取特定文件,并向下位機(jī)發(fā)送指令更新程序狀態(tài);數(shù)據(jù)查詢(xún)界面可以查詢(xún)不同時(shí)間段的電池組的數(shù)據(jù),并將查詢(xún)結(jié)果導(dǎo)出到excel中,以上就是上位機(jī)六個(gè)子模塊完成的功能。
Labview程序框圖面板中,主要由選擇打開(kāi)串口,上位機(jī)向下位機(jī)發(fā)送請(qǐng)求指令,上位機(jī)獲取電壓值、電流值、溫度值和波形值等部分,關(guān)閉與串口的會(huì)話(huà)部分構(gòu)成。
首先打開(kāi)串口會(huì)話(huà)通過(guò)VISA資源名稱(chēng)設(shè)置串口號(hào)為COM,VISA serial屬性節(jié)點(diǎn)對(duì)串口初始化的波特率為19200bit/s,數(shù)據(jù)位為8,無(wú)校驗(yàn)位,停止位為1。上位機(jī)收到下位機(jī)傳送的數(shù)據(jù)包,并將數(shù)據(jù)信息解析出來(lái),對(duì)應(yīng)每一個(gè)單體的電壓、溫度值,以及充放電過(guò)程中的支路中的電流值。
上位機(jī)向下位機(jī)發(fā)送請(qǐng)求指令,在一個(gè)while循環(huán)中進(jìn)行,將請(qǐng)求指令寫(xiě)入VISA寫(xiě)入函數(shù)的寫(xiě)入緩沖區(qū)。程序中“等待下一個(gè)整數(shù)倍毫秒”函數(shù)控制循環(huán)速度,“停止”節(jié)點(diǎn)退出整個(gè)循環(huán)。
上位機(jī)獲取數(shù)據(jù)值通過(guò)VISA Read節(jié)點(diǎn)讀取數(shù)據(jù)包,將數(shù)據(jù)包里面的有效信息通過(guò)截取字符串函數(shù)截取出來(lái),然后將字符串轉(zhuǎn)換為字節(jié)數(shù)組,字節(jié)數(shù)組轉(zhuǎn)換簇函數(shù),最后將數(shù)據(jù)信息按字節(jié)數(shù)解析,單體電壓信息由16位組成,占用兩個(gè)字節(jié),電流信息由16位組成,占用兩個(gè)字節(jié),溫度數(shù)據(jù)由8位組成,占用一個(gè)字節(jié),電池鼓脹信息占用一個(gè)bit,以及狀態(tài)信息包含循環(huán)次數(shù)、剩余容量、工作狀態(tài)、故障信息各占一個(gè)字節(jié)。程序中對(duì)單體電壓、電流和溫度的值都設(shè)置了最大值,單體電壓值超出最大電壓值3.6V,低于2.65V報(bào)警燈都會(huì)亮起,電流值大于100A,溫度超過(guò)80℃同樣也會(huì)報(bào)警。
程序?qū)崿F(xiàn)了IAP程序更新,調(diào)試上位機(jī)向BCU板發(fā)送程序更新指令,BCU板回復(fù)程序更新準(zhǔn)備好應(yīng)答,上位機(jī)收到應(yīng)答后開(kāi)始發(fā)送程序數(shù)據(jù),間隔10 ms。BCU接收程序數(shù)據(jù)后進(jìn)行應(yīng)答,反饋更新?tīng)顟B(tài)。
管理系統(tǒng)初始化會(huì)清除所有故障記錄數(shù)據(jù),復(fù)位容量值,初始化設(shè)定所有保護(hù)參數(shù)。調(diào)試上位機(jī)向BCU板發(fā)送管理系統(tǒng)初始化指令,BCU板完成初始化后回復(fù)指令。上位機(jī)后面板部分程序框圖如圖4所示。
關(guān)閉與串口的會(huì)話(huà)部分,當(dāng)程序運(yùn)行結(jié)束時(shí),會(huì)清空緩沖區(qū),在條件結(jié)構(gòu)中,條件判斷為真時(shí),使用VISA Close節(jié)點(diǎn)關(guān)閉串口會(huì)話(huà),單片機(jī)與上位機(jī)通信結(jié)束。
圖4 上位機(jī)后面板部分程序框圖
經(jīng)測(cè)試,該深海電池組數(shù)據(jù)監(jiān)測(cè)系統(tǒng)可以快速、準(zhǔn)確的監(jiān)控電池組實(shí)時(shí)電壓,溫度,電流等數(shù)據(jù)及報(bào)警信息,對(duì)電池組全過(guò)程的運(yùn)行狀態(tài)能夠精確記錄,方便操作人員對(duì)電池組系統(tǒng)的狀態(tài)進(jìn)行分析,以及突發(fā)報(bào)警狀況大的及時(shí)響應(yīng)。
本文主要為了研究二次鋰離子電池組在充電放電的過(guò)程中各項(xiàng)數(shù)據(jù)的實(shí)時(shí)變化,采用Labview圖形化編程平臺(tái)設(shè)計(jì)了上位機(jī),界面簡(jiǎn)潔直觀(guān),開(kāi)發(fā)效率高,使用方便。通過(guò)單片機(jī)與上位機(jī)的RS-485串行通信實(shí)現(xiàn)了對(duì)電池組電壓、電流和溫度數(shù)據(jù)的采集,監(jiān)控和報(bào)警功能,同時(shí)數(shù)據(jù)也以圖形和數(shù)值的形式顯示出來(lái)。
[1] 湯佳明, 安偉. 基于LABVIEW的上位機(jī)串口通信程序設(shè)計(jì) [J]. 電子設(shè)計(jì)工程, 2018, 26(11): 86-90.
[2] 魏興亞, 魏寧嫻, 趙佩. 基于LabVIEW的鋰電池SOC估計(jì)與參數(shù)監(jiān)測(cè)系統(tǒng)[J]. 應(yīng)用能源技術(shù), 2016(2016年01): 45-48.
[3] 李夢(mèng), 楊金月. 基于LabVIEW開(kāi)發(fā)平臺(tái)的單片機(jī)串口通訊系統(tǒng)設(shè)計(jì)[J]. 赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版), 2017, 33(23): 37-39.
[4] 萬(wàn)松峰, 郭聯(lián)金. 基于LabVIEW和ARM的溫濕度監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 煤礦機(jī)械, 2016, 37(8): 24-26.
[5] 劉威. 圖形化語(yǔ)言L(fǎng)ABVIEW應(yīng)用于數(shù)據(jù)采集[J]. 電子技術(shù)與軟件工程, 2017(13): 249-249.
[6] 段文勇, 李燕. 基于LabVIEW的無(wú)線(xiàn)溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 科技視界, 2017(4): 181-181.
Design of data monitoring system on lithium-ion battery based on RS485
Zhao Sheng, Li Wei, Zhao Quan
(Wuhan Institute of Marine Electric Propulsion, CSIC, Wuhan 430064, China)
TM912
A
1003-4862(2022)10-0084-03
2021-09-30
趙勝(1988-),男,工程師。研究方向:電源管理系統(tǒng)及設(shè)計(jì)開(kāi)發(fā)。E-mail:550736090@qq.com