王 婷 褚曉銳 楊曉娟 李姚凡
(1、西昌學(xué)院,四川 西昌 615700 2、重慶市南川區(qū)道南中學(xué)校,重慶 408400)
隨著新能源汽車發(fā)展,退役電池在梯次利用成為一個(gè)研究熱點(diǎn)。該過程中,退役電池相互搭配需要依據(jù)其實(shí)際容量而定,且后續(xù)使用過程中需要長期監(jiān)控電池容量。[1]因此,本文提出一種能夠自動化長期檢測電池容量的系統(tǒng)。
電充容量檢測通常使用兩種方法檢測。一種是以放電的方式,檢測電池從充滿到放空的功率,并對時(shí)間做積分。這種方式檢測電池容量,準(zhǔn)確度程度高,但耗時(shí)較長。另一種方式是通過測量電池內(nèi)阻,估算電池容量。[2]該方法優(yōu)點(diǎn)是測量速度快,缺點(diǎn)由于電池內(nèi)阻與容量的關(guān)系只能通過數(shù)學(xué)公式計(jì)算,而每個(gè)電池的個(gè)體性能參數(shù)不同,因此其內(nèi)阻與容量的關(guān)系確定性不強(qiáng)。[3]
考慮到上述兩種方法的優(yōu)缺點(diǎn),本文提出綜合使用上述兩種方法構(gòu)建一種電池容量檢測裝置。該裝置既能以測量電池內(nèi)阻的方式,快速估算電池容量,又能通過放電方式,準(zhǔn)確測量電池容量。
電池容量實(shí)際測量公式如下:
上式中,IL為電池放電電流,通過測量獲取。t為累積放電時(shí)間,通過計(jì)時(shí)獲取。在電池電壓降低到電池最低允許放電電壓值時(shí),截止放電。并返回最終電池容量測定結(jié)果。
內(nèi)阻測試原理為:電池短時(shí)間在阻值RL已知,且固定不變的負(fù)載上放電時(shí),測定負(fù)載端電壓UL,再測定斷開負(fù)載時(shí)的電池電壓U0,按照如下公式計(jì)算電池內(nèi)阻:
因此,檢測方案需要具備電池端電壓檢測功能、負(fù)載斷開與接入功能、負(fù)載電流檢測功能、充電功能以及設(shè)備自身供電。設(shè)備檢測結(jié)果通過OLED顯示器顯示,輸入使用按鍵鍵盤,所以還需要人機(jī)交互功能。上述功能模塊統(tǒng)籌測控需使用中央控制模塊完成。
中央控制模塊直接控制負(fù)載的通斷,并使用電壓、電流測量模塊測量相關(guān)參數(shù)。在恰當(dāng)?shù)臅r(shí)候控制充電電路的啟停。
根據(jù)上文制定的電路方案,進(jìn)行硬件設(shè)計(jì)。由于主控電路居于核心地位,其他電路的設(shè)計(jì)要以主控為基礎(chǔ),因此先設(shè)計(jì)主控電路。
綜合考慮上一章功能模塊,可選用STM32F103單片機(jī)作為主控單元,選擇依據(jù)論證如下:
2.1.1 該單片機(jī)自帶3路12位,共計(jì)21通道AD轉(zhuǎn)換器,可完成電池電壓檢測任務(wù)。也可間接檢測負(fù)載電流,該部分設(shè)計(jì)將在后續(xù)電流檢測電路部分詳細(xì)論證;
2.1.2 該單片機(jī)具備超過20個(gè)雙向IO接口,可作為負(fù)載接入電路的開關(guān)控制引腳,也可控制充電電路的啟停,還可通過IO引腳連接鍵盤和顯示設(shè)備;
2.1.3 該單片機(jī)內(nèi)存高達(dá)64k字節(jié),flash空間為128k字節(jié),即便使用ucos3操作系統(tǒng),占用空間仍未超過50%。因此存儲空間富裕;
2.1.4 該單片機(jī)使用cortex m3處理器,最高運(yùn)行頻率為72mHz,可提供較高算力。
在中控電路(圖1)上分別將A0,A1引腳引出,作為電流采樣、電壓采樣電路的端口。上述接口在單片機(jī)內(nèi)部可連接ADC1的通道0和通道1。兩個(gè)通道分時(shí)復(fù)用可測量得到電池的電流和電壓數(shù)據(jù)。
圖1 中控電路原理圖
考慮到設(shè)備需要人機(jī)交互功能,因此將A2至A7作為鍵盤按鍵電路引出,該部分引腳在單片機(jī)內(nèi)部可通過程序設(shè)置上拉輸入模式,直接連接按鍵。將B8,B9作為顯示器的數(shù)據(jù)輸出線路引出并通過軟件設(shè)置為推挽輸出。
B12至B14分別連接充電啟動電路、蜂鳴器電路、測溫電路。
電流測量電路(圖2)目的在于測量電池放電電流,以此統(tǒng)計(jì)電池容量。設(shè)計(jì)選用BTS7960芯片,通過設(shè)置該芯片的IS引腳合適的對地電阻值,再測量“I_Sensor”節(jié)點(diǎn)電壓,可間接計(jì)算得到負(fù)載電流。計(jì)算公式如下:
圖2 電流測量電路
上式中:IL為負(fù)載電流;K=8.5,為系數(shù)由芯片特性決定;US為“I_Sensor”節(jié)點(diǎn)電壓,可通過單片機(jī)測量得到;RS為外接對地電阻,此處假設(shè)負(fù)載電流為5A,單片機(jī)測量電壓范圍為0至3.3 V,反向計(jì)算得到RS=5.6 kΩ。因此,在設(shè)計(jì)該接地電阻的時(shí)候,使用5.6 KΩ電阻??紤]到可能調(diào)整該電阻的情況,設(shè)置了一個(gè)并聯(lián)電阻作為后備替補(bǔ)位置,如果不用,焊接時(shí)保持留空即可。
電池電壓測量電路如圖3所示。由于電池電壓充滿為12V,單片機(jī)測量電路最大測量電壓為3.3 V。因此設(shè)計(jì)一個(gè)串聯(lián)分壓電路將電池電壓按比例分壓后從“Test_Bat”節(jié)點(diǎn)輸入單片機(jī)采樣。
圖3 電池電壓測量電路
在完成硬件設(shè)計(jì)的基礎(chǔ)上,進(jìn)行軟件設(shè)計(jì)。根據(jù)總體設(shè)計(jì)要求,軟件設(shè)計(jì)按功能分為多個(gè)模塊完成。多個(gè)模塊的協(xié)同配合,在使用操作系統(tǒng)的前提下可達(dá)到簡化設(shè)計(jì)難度的效果。
結(jié)合本設(shè)計(jì),操作系統(tǒng)需要具備的特點(diǎn)如下:(1)輕量化,可燒入單片機(jī);(2)開發(fā)難度低,開發(fā)周期短;(3)可靠性高,可支持軟件系統(tǒng)連續(xù)穩(wěn)定工作。綜合考慮,UCOS3可達(dá)到上述目的。該操作系統(tǒng)編譯后僅占用50kB空間,最小模式運(yùn)行內(nèi)存占用僅10kB;其源代碼完全公開,接口文檔健全,因此容易開發(fā);該操作系統(tǒng)采用c語言開發(fā),系統(tǒng)內(nèi)部不存在動態(tài)內(nèi)存開銷,穩(wěn)定性極佳。
軟件開發(fā)按層次劃分為驅(qū)動開發(fā)、應(yīng)用層開發(fā)。
驅(qū)動層包括如下部分:(1)溫度測量驅(qū)動;(2)電池電壓、電流測量驅(qū)動;(3)按鍵掃描驅(qū)動;(4)顯示驅(qū)動。該部分底層硬件驅(qū)動,按照技術(shù)手冊編寫、移植即可。
應(yīng)用開發(fā)分別為基本數(shù)據(jù)顯示模塊、充電模塊、放電實(shí)測容量模塊、內(nèi)阻測試模塊。其中,基本數(shù)據(jù)顯示模塊通過驅(qū)動獲取電池電壓、溫度數(shù)據(jù)并顯示。充電模塊工作時(shí),通過檢測電池電壓,如果電壓低于充滿狀態(tài)電壓,則啟動充電電路進(jìn)行充電。
電池容量測定模塊首先會檢測電池是否充滿,如果沒充滿,則進(jìn)入充電狀態(tài),充滿則通過實(shí)際放電的方式進(jìn)行容量實(shí)測。
按照第一章當(dāng)中的公式,可完成內(nèi)阻測定模塊編寫。
最后,再將以上模塊用狀態(tài)機(jī)方式完成編寫,狀態(tài)之間的切換根據(jù)變量“CurState”實(shí)現(xiàn),狀態(tài)之間可相互存在邏輯切換關(guān)系,例如:充電完成后自動切換到放電模式。也可由人工按鍵方式切換狀態(tài)。
經(jīng)測試,該設(shè)計(jì)成果可順利完成電池內(nèi)阻測定以及電池容量測定的功能,測試結(jié)果如圖4。
圖4 容量測定及內(nèi)阻測試圖