張洪濤,裴 浩,楊名軍,葛 林
(湖北工業(yè)大學(xué)電氣與電子工程學(xué)院,湖北 武漢430068)
鋰電池作為一種理想的新型綠色電源,由于其優(yōu)越的性能,逐漸取代了以往常用的鉛酸電池和鎳鎘電池.鋰電池的優(yōu)點(diǎn)是高能量、安全性較高、工作溫度范圍寬、工作電壓平穩(wěn)、使用壽命長.但是由于鋰電池的輸出功率較小,所以通常是將鋰電池串聯(lián)起來作為鋰電池組使用.串聯(lián)使用的鋰電池組由于鋰電池個(gè)體之間制造工藝的區(qū)別,電池之間的電壓不可能完全一致,這樣會(huì)使鋰電池組在充放電過程中,容量高的電池會(huì)對(duì)容量低的電池放電,這種現(xiàn)象會(huì)大幅度降低鋰電池組的使用壽命,為了保證鋰電池組的使用壽命,必須給鋰電池組添加電池檢測系統(tǒng).
目前的鋰電池檢測系統(tǒng)大多數(shù)是固定在電池組上以便實(shí)時(shí)顯示電池組的工作狀態(tài),為了使電池組的工作狀態(tài)可以準(zhǔn)確及時(shí)地顯示在上位機(jī)上,需要給鋰電池檢測系統(tǒng)添加串口通信模塊.本文針對(duì)四節(jié)鋰電池組成的鋰電池組,設(shè)計(jì)了一個(gè)以FPGA作為處理器的鋰電池檢測系統(tǒng).
該系統(tǒng)主要分為以下三個(gè)模塊:FPGA控制模塊、電池?cái)?shù)據(jù)采集模塊、串口通信控制模塊.其中FPGA控制模塊實(shí)現(xiàn)數(shù)據(jù)的處理和串口通信模塊的驅(qū)動(dòng),電池?cái)?shù)據(jù)采集模塊主要包括電池組的電壓、電流、溫度三項(xiàng)數(shù)據(jù)的采集.本系統(tǒng)的串口通信模塊主要分成兩個(gè)模塊,數(shù)據(jù)發(fā)送模塊和數(shù)據(jù)接收模塊.數(shù)據(jù)發(fā)送模塊實(shí)時(shí)發(fā)送電池組的工作狀態(tài)數(shù)據(jù)給上位機(jī),電池組的工作狀態(tài)數(shù)據(jù)主要包括電池的單體電壓,電池組的總體電壓、電流、溫度.數(shù)據(jù)接收模塊通過上位機(jī)給檢測系統(tǒng)發(fā)送控制指令,方便對(duì)電池組進(jìn)行保護(hù)[1].系統(tǒng)結(jié)構(gòu)如圖1所示.
圖1 系統(tǒng)結(jié)構(gòu)圖
本系統(tǒng)硬件電路的設(shè)計(jì)平臺(tái)采用黑金開發(fā)板,該開發(fā)板配置的FPGA芯片是Cyclone II系列的EP2C8Q208C[2],該芯片具有8256個(gè)邏輯單元,同時(shí)具有64M的SDRAM和16M閃存,滿足程序的存儲(chǔ)需求.開發(fā)板時(shí)鐘采用外部20MHz的晶振,具有各種常用接口,包括以太網(wǎng)接口,USB接口,RS232串行接口,VGA接口,PS/2接口.外部設(shè)備中開發(fā)板集成了6個(gè)共陽極的數(shù)碼管,4個(gè)LED燈,5個(gè)獨(dú)立按鍵以及一個(gè)蜂鳴器.此外,開發(fā)板擴(kuò)展了100個(gè)I/O口,可以給開發(fā)板添加外部電路.黑金開發(fā)板完全可以滿足設(shè)計(jì)需求.
電壓采集電路是針對(duì)四節(jié)鋰電池串聯(lián)所構(gòu)成的電池組的電壓進(jìn)行采集,采集芯片是常用的A/D轉(zhuǎn)換芯片ADC0809,該芯片的參考電壓是5V,工作電壓也是5V,但是每節(jié)鋰電池的工作電壓約為3.7 V,串聯(lián)起來的電壓值超過了轉(zhuǎn)換芯片的參考電壓,因此需要采用電阻分壓法,在電池組兩端串聯(lián)四個(gè)阻值完全相同的電阻,A/D轉(zhuǎn)換芯片只對(duì)其中一個(gè)電阻兩端的電壓進(jìn)行采集,這樣采集到的電壓值是實(shí)際電壓值的1/4.
電池組的電壓采集不僅是對(duì)電池組的電壓進(jìn)行采集,也需要對(duì)單體電池的電壓進(jìn)行采集,控制電池兩端開關(guān)的關(guān)斷就可以采集任意一節(jié)電池的電壓.電壓檢測電路如圖2所示,當(dāng)開關(guān)S1和S0閉合時(shí)采集電池V1的電壓值,開關(guān)S4和S6閉合時(shí)采集電池V2的電壓值,開關(guān)S2和S7閉合時(shí)采集電池V3的電壓值,開關(guān)S3和S5閉合時(shí)采集電池V4的電壓值[3].
圖2 電壓采集電路
電壓采集電路中的開關(guān)采用光電繼電器TLP521_1,其內(nèi)部結(jié)構(gòu)如圖3所示,當(dāng)引腳tip_1為低電平時(shí),發(fā)光二極管發(fā)光,此時(shí)光敏器件兩端tip_2和tip_3導(dǎo)通,就實(shí)現(xiàn)了開關(guān)的閉合.
圖3 TLP521_1的內(nèi)部結(jié)構(gòu)
電池組的充放電電流有很大的不確定性,要盡量提高電流的采集頻率.采集電流的A/D轉(zhuǎn)換芯片使用TLC2543,該芯片的轉(zhuǎn)換時(shí)間為10μs,輸出12位數(shù)據(jù),可以滿足采樣頻率和精度的要求.由于電流的變化量微小,為了實(shí)現(xiàn)電流采集的準(zhǔn)確性,在進(jìn)行A/D轉(zhuǎn)換之前,添加了電流放大檢測芯片MAX4172.[4]該芯片可以將采樣的電流放大50倍后再輸出,輸出后的電流值經(jīng)過一個(gè)接地電阻轉(zhuǎn)化為電壓值,再由TLC2543采集.電流采集電路如圖4所示,MAX4172采樣經(jīng)過R5的電流,在其內(nèi)部將電流放大50倍后,通過OUT引腳輸出到電阻R6,將電流轉(zhuǎn)化成電壓.TLC2543采集電阻R6兩端的電壓值.電池組的充放電電流計(jì)算公式如下:
為了防止鋰電池在充放電過程中溫度過高,必須實(shí)時(shí)對(duì)電池組的溫度進(jìn)行采集.本設(shè)計(jì)中采用數(shù)字溫度傳感器DS18B20采集電池組的溫度.DS18B20的硬件電路簡單,只有三個(gè)引腳,其中VCC和GND分別接電源和接地,DQ引腳則用于數(shù)據(jù)的傳輸,溫度采集電路見圖5.
因?yàn)殡姵氐臄?shù)據(jù)采集電路中A/D轉(zhuǎn)換芯片都需要外部提供時(shí)鐘脈沖才能工作,ADC0809的工作時(shí)鐘脈沖為500kHz,TLC2543的時(shí)鐘脈沖為5 MHz,DS18B20的單總線通信的時(shí)序需要精確到us,因此需要1MHz的時(shí)鐘脈沖.時(shí)鐘的分頻可以通過 Quartus II中的軟件 Mega Wizard Plug-In Manager來構(gòu)建一個(gè)分頻電路.分頻電路如圖6所示,inclk0接50MHz的外部晶振,c0為50MHz的1/50,所以為1MHz.同理,c1為5MHz,c2為500 kHz.[5]
圖4 電流采集電路
為了驅(qū)動(dòng)系統(tǒng)中各個(gè)模塊的正常工作,需要通過軟件的方法對(duì)各個(gè)模塊進(jìn)行控制.本設(shè)計(jì)中采用Verilog HDL來實(shí)現(xiàn)軟件的設(shè)計(jì),Verilog HDL的部分語法參照C語言的語法設(shè)立,因此也具備了C語言的優(yōu)點(diǎn).Verilog HDL的代碼使用靈活,具有很強(qiáng)的電路描述能力,可以提高系統(tǒng)設(shè)計(jì)的效率和可靠性.
本系統(tǒng)的軟件流程見圖7,分為電壓采集控制、電流采集控制、溫度采集控制、串口通信控制.其中電池的數(shù)據(jù)采集、串口通信的數(shù)據(jù)發(fā)送都是同時(shí)進(jìn)行的,以方便實(shí)時(shí)地將電池組的數(shù)據(jù)準(zhǔn)確發(fā)送給上位機(jī).
圖7 系統(tǒng)軟件流程圖
最后的串口通信控制,是用戶通過上位機(jī)觀察到系統(tǒng)發(fā)送過來的電池組的數(shù)據(jù),可以根據(jù)這些數(shù)據(jù)向系統(tǒng)發(fā)送指令,停止電池組的充放電,以達(dá)到對(duì)電池組的保護(hù).
本文在軟件Quartus II中對(duì)ADC0809,TLC2543進(jìn)行了時(shí)序仿真(圖8).由圖8,clk_500k是ADC0809的時(shí)鐘脈沖,d是經(jīng)過ADC0809轉(zhuǎn)換后輸入給處理器的數(shù)字量,q是處理器經(jīng)過處理后顯示的數(shù)字量,第一個(gè)周期由于輸出使能端oe在eoc為高電平的時(shí)候沒有置高,所以數(shù)據(jù)不能傳輸?shù)教幚砥?第二和第三個(gè)周期可以看到數(shù)據(jù)正常傳輸?shù)教幚砥鞑@示.
圖9是TLC2543的時(shí)序仿真圖形,icclk是TLC2543所需的時(shí)鐘脈沖,icout是處理器的控制字輸入端,icin是經(jīng)過TLC2543轉(zhuǎn)換后的數(shù)字量,data是處理器處理后顯示的數(shù)字量.因?yàn)門LC2543是在處理器輸入控制字的同時(shí),將上一次轉(zhuǎn)換的數(shù)據(jù)傳輸?shù)教幚砥?,所以第一個(gè)周期的數(shù)據(jù)為0,第二個(gè)周期的數(shù)據(jù)則是第一個(gè)周期是icin的輸入數(shù)據(jù).
[1]張洪濤,周 航,彭瀟麗,等.FPGA的動(dòng)力電池檢測系統(tǒng)研究[J].湖北工業(yè)大學(xué)學(xué)報(bào),2012,27(2):4-7.
[2]褚振勇,奇 亮.FPGA設(shè)計(jì)及應(yīng)用[M].第二版.西安:西安電子科技大學(xué)出版社,2002.
[3]陳洪超,李相東.鋰離子電池原理、研究現(xiàn)狀與應(yīng)用前景[J].南京:軍事通信技術(shù),2005(1):12-15.
[4]楊新偉.便攜式電動(dòng)工具鋰電池組智能監(jiān)控系統(tǒng)設(shè)計(jì)[D].武漢:武漢理工大學(xué)圖書館,2010.
[5]周朝陽.基于FPGA_NIOS的電池充電均衡系統(tǒng)研究[D].西安:西安交通大學(xué)圖書館,2008.