張洪濤,周 航,彭瀟麗,吳 芬
(湖北工業(yè)大學(xué)電氣與電子工程學(xué)院,湖北 武漢430068)
動(dòng)力電池作為電動(dòng)汽車的動(dòng)力源,要求具有高使用效率和高使用壽命,因此,電池檢測(cè)系統(tǒng)的好壞是動(dòng)力電池能否得到廣泛應(yīng)用的關(guān)鍵.電池檢測(cè)系統(tǒng)的功能是能夠檢測(cè)電池的單體和整組的荷電狀態(tài),在保障電池安全和使用壽命的前提下,充分發(fā)揮電池的性能.并且能夠防止電池出現(xiàn)過(guò)充電、過(guò)放電以及過(guò)熱等問(wèn)題[1].
目前的電池檢測(cè)系統(tǒng)有的使用專用電池管理芯片,但專用芯片功能簡(jiǎn)單、運(yùn)算能力差,不能滿足系統(tǒng)需要.本文針對(duì)一個(gè)三路的動(dòng)力電池組,設(shè)計(jì)了一個(gè)基于FPGA的動(dòng)力電池檢測(cè)系統(tǒng).該系統(tǒng)靈活性強(qiáng),運(yùn)行穩(wěn)定,數(shù)據(jù)可以實(shí)時(shí)準(zhǔn)確顯示.
本系統(tǒng)大致分為四個(gè)部分:電池各項(xiàng)數(shù)據(jù)的采集、數(shù)據(jù)處理、數(shù)據(jù)顯示、溫度保護(hù).電池各項(xiàng)數(shù)據(jù)的采集包括電壓采集電路、電流采集電路、溫度采集電路.通過(guò)這三個(gè)電路采集電池特性,將數(shù)據(jù)傳輸?shù)教幚砥?,通過(guò)處理器將數(shù)據(jù)進(jìn)行處理并顯示.設(shè)置報(bào)警溫度與采集溫度進(jìn)行對(duì)比,如果溫度超出報(bào)警溫度,則啟動(dòng)溫度保護(hù)模塊.系統(tǒng)框圖見(jiàn)圖1.
本系統(tǒng)硬件電路設(shè)計(jì)的開(kāi)發(fā)平臺(tái)是基于Altera公司的DE2開(kāi)發(fā)板,開(kāi)發(fā)板的主控芯片是CycloneⅡ系列EP2C35F672C6.該開(kāi)發(fā)平臺(tái)的硬件功能較為強(qiáng)大:有各種常用的存儲(chǔ)器,包括8 M 字節(jié)SDRA M、512 K字節(jié)SRA M、4 M 字節(jié)閃存、可擴(kuò)展SD卡;有各種常用的I/O接口,包括一個(gè)三線的RS232串行接口和PS/2接口、VGA接口、以太網(wǎng)接口、一個(gè)USB2.0接口、視頻輸入接口、音頻輸入輸出接口及2個(gè)GPIO口;有多種顯示控制元器件,包括7個(gè)數(shù)碼管,一個(gè)1602液晶顯示屏,18個(gè)紅色的發(fā)光二極管,9個(gè)綠色的發(fā)光二極管,4個(gè)按鍵,18個(gè)波段開(kāi)關(guān)及兩個(gè)晶振時(shí)鐘(27 MHz和50 MHz)[2].在已有的兩個(gè)晶振時(shí)鐘不能滿足系統(tǒng)需求的情況下,還可以從外部接入所需要的晶振時(shí)鐘.因此DE2可以勝任該系統(tǒng)的開(kāi)發(fā)任務(wù).
圖1 系統(tǒng)結(jié)構(gòu)圖
該模塊使用系統(tǒng)自帶的50 MHz的時(shí)鐘主頻率,采用Verilog HDL對(duì)其進(jìn)行分頻.得到5 MHz(cl k_5 M)、500 k Hz(cl k_500 K)和1 MHz(cl k_1 M)的時(shí)鐘頻率分別供給電流檢測(cè)模塊、電壓檢測(cè)模塊、溫度檢測(cè)模塊.時(shí)鐘分頻電路的Veril og HDL硬件描述語(yǔ)言如下所示.
該模塊針對(duì)三路電池組的電壓進(jìn)行檢測(cè),通過(guò)對(duì)開(kāi)關(guān)的控制,可以對(duì)電池組的單節(jié)電池電壓進(jìn)行檢測(cè),也可以對(duì)電池組的總體電壓進(jìn)行檢測(cè).由于三路電池組的電壓高于10 V,而該模塊所采用的AD轉(zhuǎn)換芯片是ADC0809.其工作電壓為5 V,參考電壓也為5 V,所以采用電阻分壓法,在電池組兩端串聯(lián)三個(gè)阻值相同的電阻.而ADC0809只對(duì)其中一個(gè)電阻兩端的電壓進(jìn)行檢測(cè).因此,測(cè)得的電壓為實(shí)際電壓的1/3,電路圖見(jiàn)圖2.
圖2 電壓檢測(cè)電路
該電路的開(kāi)關(guān)采用可控制的光電藕合器件TLP521-1.本電路采用6個(gè) TLP521-1,由處理器控制(圖2),S0和S1導(dǎo)通則所測(cè)的是電池V1的電壓,S2和S4導(dǎo)通則測(cè)的電池V2的電壓,S3和S5導(dǎo)通則測(cè)的電池V3的電壓,S0和S3導(dǎo)通則測(cè)的是電池組的總體電壓.
對(duì)于電流的數(shù)據(jù)采集是否準(zhǔn)確直接影響著電池管理系統(tǒng)整體性能是否良好,由于電池組在實(shí)際充放電過(guò)程中電流的變化有很大的不確定性,因此電流的采集需要單獨(dú)進(jìn)行,并具有盡可能高的采樣頻率.電流檢測(cè)電路見(jiàn)圖3.
圖3 電流檢測(cè)電路
在電池組與負(fù)載之間加上一個(gè)50 mΩ的測(cè)流電阻R4來(lái)檢測(cè)負(fù)載電流,負(fù)載電流經(jīng)過(guò)電流檢測(cè)放大器MAX4172的RS+端到RS-端,在MAX4172的內(nèi)部放大50倍后由OUT引腳輸出,再經(jīng)過(guò)對(duì)地電阻R5
[3].AD轉(zhuǎn)換芯片TLC2543采集電阻R5兩端的電壓.測(cè)得
其中:Gm為MAX4172的跨導(dǎo),其值為10 mA/V.為了滿足采集電流的采樣頻率,本文選用TLC2543作為AD轉(zhuǎn)換芯片.該芯片是一款12位分辨率的AD轉(zhuǎn)換器,在溫度范圍內(nèi)轉(zhuǎn)換時(shí)間為10μs,既可滿足采樣頻率,又可滿足精度要求[4].
溫度采集電路在硬件電路設(shè)計(jì)上比較簡(jiǎn)單(圖4),主要采用數(shù)字溫度傳感器DS18B20來(lái)實(shí)現(xiàn)溫度信號(hào)向電信號(hào)的轉(zhuǎn)換,只需將其三個(gè)管腳按圖4所示連接,并且多片DS18B20可以直接并聯(lián)在這三根線上,主要通過(guò)程序?qū)崿F(xiàn)溫度的轉(zhuǎn)換和讀取.
圖4 溫度檢測(cè)電路
電池組的工作溫度范圍在-20~60℃之間,影響電池組安全性的主要原因是熱失控.為了保證電池組的性能良好,溫度保護(hù)模塊非常重要.上節(jié)提到的溫度檢測(cè)電路可以實(shí)時(shí)采集電池組的工作溫度,本文用程序設(shè)定一個(gè)報(bào)警溫度,當(dāng)所采集的溫度達(dá)到報(bào)警溫度時(shí),電池組與負(fù)載之間斷開(kāi),使電池停止工作.并且在電池組處安裝一個(gè)小風(fēng)扇,當(dāng)溫度達(dá)到報(bào)警溫度時(shí),處理器控制風(fēng)扇轉(zhuǎn)動(dòng),加快電池散熱.
FPGA的軟件設(shè)計(jì)是在Nios II IDE集成開(kāi)發(fā)環(huán)境下進(jìn)行的,Nios II IDE是Nios系列軟核處理器中使用最普遍的開(kāi)發(fā)工具,可以在該開(kāi)發(fā)環(huán)境中完成所有的軟件開(kāi)發(fā)任務(wù),比如對(duì)程序進(jìn)行編輯、編譯、下載、調(diào)試等等.NiosⅡ系列32位RISC嵌入式處理器具有超過(guò)200DMIP的性能,靈活性高,可以在多種系統(tǒng)設(shè)置組合中進(jìn)行選擇,而且成本低,開(kāi)發(fā)周期短,適應(yīng)性強(qiáng).一臺(tái)電腦、一塊開(kāi)發(fā)板和一條JTAG下載線就可以實(shí)現(xiàn)對(duì)系統(tǒng)的軟件開(kāi)發(fā)和調(diào)試[5].
本系統(tǒng)的軟件流程如圖5所示,分為電壓檢測(cè)控制、電流檢測(cè)控制、溫度檢測(cè)控制、溫度保護(hù)控制4個(gè)部分.其中電流檢測(cè)、電壓檢測(cè)、溫度檢測(cè)同時(shí)進(jìn)行,可根據(jù)采集的溫度數(shù)據(jù)和報(bào)警溫度進(jìn)行比較,控制電池組的斷開(kāi)和風(fēng)扇的開(kāi)啟.
圖5 系統(tǒng)軟件流程圖
本 文 在 軟 件 Quartus II中 對(duì) ADC0809,TLC2543進(jìn)行了時(shí)序仿真.圖6是ADC0809的時(shí)序仿真圖形.由圖6所示,clk_500k是ADC0809的時(shí)鐘脈沖,d是經(jīng)過(guò)ADC0809轉(zhuǎn)換后輸入給處理器的數(shù)字量,q是處理器經(jīng)過(guò)處理后顯示的數(shù)字量,第一個(gè)周期由于輸出使能端oe在eoc為高電平的時(shí)候沒(méi)有置高,所以數(shù)據(jù)不能傳輸?shù)教幚砥?第二和第三個(gè)周期可以看到數(shù)據(jù)正常的傳輸?shù)教幚砥鞑@示.
圖7是TLC2543的時(shí)序仿真圖形,iccl k是TLC2543所需的時(shí)鐘脈沖,icout是處理器的控制字輸入端,icin是經(jīng)過(guò)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是系統(tǒng)所采集的電壓與實(shí)際電池組的電壓的對(duì)比,可以看出該系統(tǒng)在時(shí)序和數(shù)據(jù)顯示的準(zhǔn)確度上都可以滿足設(shè)計(jì)要求.
表1 電池組測(cè)試數(shù)據(jù)
本設(shè)計(jì)旨在建立一個(gè)基于FPGA控制的小型電池檢測(cè)系統(tǒng),以Altera公司的Cyclone II系列的FPGA芯片EP2C35F672C6為主控芯片,實(shí)現(xiàn)了對(duì)電池組的電壓、電流、溫度三種數(shù)據(jù)的實(shí)時(shí)采集、處理、監(jiān)控和顯示,并且防止電池組在工作時(shí)溫度過(guò)高.在軟件方面,系統(tǒng)以NiosⅡIDE作為軟件開(kāi)發(fā)平臺(tái),由于NiosⅡIDE可以提供工程模板形式的代碼實(shí)例,使得工作系統(tǒng)建立的速度快速提升.利用FPGA系統(tǒng)開(kāi)發(fā)周期短、高效靈活、擴(kuò)展容易的特點(diǎn),可以不斷升級(jí)電池檢測(cè)系統(tǒng),增加更多功能.
[1]劉曉康,詹瓊?cè)A,何葵,等.電動(dòng)汽車用電池管理系統(tǒng)的研究[J].華中科技大學(xué)學(xué)報(bào),2007,35(8):83-84.
[2]張志剛.FPGA與SOPC設(shè)計(jì)教程:DE2實(shí)踐[M].西安:西安電子科技大學(xué)出版社,2007:30-31.
[3]王 晨,李延軍,張玉興.基于 MAX4172的電流檢測(cè)電路設(shè)計(jì)與實(shí)現(xiàn)[A]∥2010通信理論與技術(shù)新發(fā)展——第十五屆全國(guó)青年通信學(xué)術(shù)會(huì)議論文集(下冊(cè))[M].北京:國(guó)防工業(yè)出版社,2011:238-240.
[4]杜開(kāi)初.串行12位 A/D TLC2543及其應(yīng)用[J].世界電子元器件,2000(10):37-38.
[5]ALTERA 公司[EB/OL].(2010-06)[2010-07-15]http://www.altera.com/literature/lit-nio2.jsp.