電池的容量-到底是多少? 實測給你看-碳鋅/鹼性/充電/鉛酸

各位家裡的遙控器、無線滑鼠一定都需要電池,你是否覺得常常在換電池? 那你知道這些乾 電池的容量 到底是多少呢? 電池容量越多當然撐得越久,目前我看除了充電電池有標示容量之外,其餘電池幾乎都沒有標示,我們這次就來實測一下電池容量,我準備了碳鋅電池、鹼性電池、充電電池以及汽車備用電池,我們一起來看看吧。

電池的容量

大家也許知道電池的容量是電流乘以小時,若不熟悉的話,你把電流想像成水流,水庫容量就是水流可以流多久時間的意思,這樣就很好理解了。有些電池會標示如下圖的容量,以這顆充電電池來說,它的容量是2450mAh。但目前坊間似乎只有充電電池有標容量,一般的乾電池並沒有標示容量。

電池的容量 單位是mAh
電池的容量 單位是mAh

那各位來猜猜看,這個2450mAh的數字是怎麼測量到的? 是把電阻直接掛在電池上面,然後等著電池沒電就好了嗎? 概念上是如此沒錯,但如果真的以下圖這樣的定電阻接法,在實務上會有些問題,我先說喔,掛電阻不是不能測試容量,只是有點麻煩。

定電阻的負載不適合做放電曲線
定電阻的負載不適合做放電曲線

因為在實務上,隨著電流不斷的消耗,電池的電壓會慢慢地下降,電壓可能從6V下降到4V,在電阻固定的情況之下,電流也會同時變小,也就是說在放電過程中,每個時間點的電流都是不一樣的,這樣會讓電池的容量計算很困難,真的要計算容量的話,會需要動用到積分,而且以實驗設計的角度來看,一個實驗內同時有電壓與電流兩個變因在變化,對於實驗結果的理解也不是很方便。

為了讓閱讀圖表的人能夠快速掌握電池的放電特性,我們一般會用定電流的方式來做測試,但電池的電壓在放電過程中會下降耶! 那怎麼辦? 難道電流變小的時候,在實驗中途去更換更小的電阻來把電流往上拉嗎? 沒錯,思考方向正確,只不過沒那麼粗糙。

如下圖,只要使用MOS來取代電阻,我們就可以使用Gate極的電壓來做電流的控制,至於G極該怎麼控制,那就是你自動控制的功夫了,這種電路就稱為電子負載。既然它的電流可以動態調整,換個角度說,它的電阻、電壓也可以動態調整,因此排列組合起來,電子負載就會有好幾種模式,例如Constant Current(CC)、Constant Resistance(CR)、Constant Power(CP)以及Constant Voltage(CV)。

電子負載的等效電路
電子負載的等效電路

電子負載

下圖就是一台電子負載PRODIGIT 3111,它可以抽載70A,瓦數可以到350W,下圖就是我拿它來測試鉛酸電池時候的英姿。雖然拿它來測試乾電池的容量有點大才小用,不過只要能完成測試,拿哪一種儀器來都可以。

電子負載正測試 電池的容量
電子負載正測試 電池的容量

由於這種測試通常會需要長時間測試,動不動就十幾個小時,我當然不可能站在儀器前面每分鐘紀錄讀值。所以我必須把儀器跟電腦做連接,寫程式去跟儀器連接,把讀值抓出來。

通常儀器背後都有通訊Port,例如RS232、USB或是GPIB,如果是要抓波形拚速度的話,USB是不錯的選擇,但是我這台只需要每分鐘讀一次,所以我選RS232這種簡單又方便的介面,只要買個USB-RS232的傳輸線,就可以搞定。

電子負載的RS232遠端控制介面
電子負載的RS232遠端控制介面

電腦端的程式我是用Python寫的,因為它簡單好用外掛又多,我不需要再重新做輪子,程式列在下方給各位參考。大意就是把RS232 COM Port打開,然後開始讀值的迴圈,並且把抓到的值寫入TXT檔內,之後就可以用試算表作圖。

import serial
import time

ser = serial.Serial('COM3',115200,timeout=1)  # open serial port
print(ser.name,"is opened =",ser.isOpen()) # check port status
n=ser.write(b'*IDN?rn')     # write a string
line = ser.readline()
print(line.decode("utf-8"))

#PRODIGIT 3111 command set

ser.write(b'MODE CCrn')
ser.write(b'CC:HIGH 0.1rn')
ser.write(b'LOAD ONrn')

# ser.write(b'REMOTErn')
# ser.write(b'MODE CCrn')
# ser.write(b'CC:HIGH 1rn')
# ser.write(b'BATT:UVP 10.5rn')
# ser.write(b'BATT:TEST ONrn')
# ser.write(b'TESTING?rn')
# tresult = ser.readline()
# tresult=tresult.decode("utf-8")
# strout="Testing="+tresult+"n"
# print(strout)

time.sleep(3)

loop = True
count=1
strout=""

while loop :
    ser.write(b'MEAS:VOLT?rn')
    Vrms=ser.readline()
    Vrms=Vrms[:-3].decode("utf-8")
    ser.write(b'MEAS:CURR?rn')
    Irms=ser.readline()
    Irms=Irms[:-3].decode("utf-8")
    ser.write(b'MEAS:POW?rn')
    Watt=ser.readline()
    Watt=Watt[:-3].decode("utf-8")

    minute=count/60
    str_minute="{:.2f}".format(minute)
    strout=str_minute+","+Vrms+","+Irms+","+Watt+"n"
    print(strout)

    f = open("meas.txt", "a")
    f.write(strout)
    f.close()
    count+=1

    time.sleep(1)

ser.close()             # close port

我知道這個程式有個小Bug,也就是程式碼自己無法關掉COM port,因為它在Loop迴圈之外,除非自己將程式中斷掉,但由於只是做小測試,所以我就偷懶不改了。若各位對Python不熟悉,你們可以到臉書搜尋紀老師程式教學網,裡面有很多Python的學習資源,各位不妨參考看看。

電池的容量 是多少?

接著就來開始測試 電池的容量 ,我預計使用三種AA的三號電池。因為每測試一次都要花上十幾小時,所以我只測試一組樣本,無法得知母體平均值,如此一來實驗結果一定會有偏差,因此實驗結果只能給各位當參考看熱鬧。另外我曾經自己更換過汽車備用電源裡面的免保養鉛酸電池汽車備用電池-忘記充電造成失效-更換電池DIY,所以我也想知道它的電池容量是多少。

下列的測試我會把電池串四顆來測試,因為這台電子負載的工作電壓需要在1.2V以上,如果我拿單顆電池來測試,那只能從1.5V測試到1.2V然後放電曲線可能就會開始亂跳了,為了讓放電曲線好看一點,我就將四顆電池串接,這樣電壓就會到6V,而且由於我是以定電流來測試,測試四顆與測試一顆電池的容量,會是一樣的。

碳鋅電池

下圖是一般常買得到的碳鋅電池,打從我有記憶以來電池都是長這個樣子,這種電池就是便宜好用,不怕漏液。我的意思是它還是會漏液,只是清理起來比較好處理,不像鹼性電池漏液時會有腐蝕性,處理起來很花功夫。

測試碳鋅 電池的容量
測試碳鋅 電池的容量

經過十幾小時的測試,它的放電曲線長得如下圖這個樣子,由於是四顆串接,一開始電壓大約是6V多一點,然後馬上快速降到5.5V,接著在5V左右維持了一段時間,最後電壓開始下降而且越來越快。

碳鋅電池的放電曲線
碳鋅電池的放電曲線

你一定有看到曲線右邊翹了一個尾巴,那是因為我在測試末期故意把負載卸掉,想看看電壓如何表現,於是就看到了電壓有回升的趨勢。所以要測試電池是否有電,若沒接負載,想單靠三用電表測量電壓,這樣的判斷並不是很準確,因為電池空載的時候,電壓會回升。

這個其實可以人性化的解釋,我來舉個例子,你在操場上跑十圈之後累得半死,於是你慢慢走回家,但隔壁有位老兄剛好出來散步他也是慢慢走,你們兩位都是慢慢走,但是誰得體力保存得多呢? 當然是那位還沒跑步的老兄囉,所以光看走路速度無法判斷誰得體力較多。接著你稍做休息一分鐘之後,走路已經健步如飛了,但真的要你再去跑一圈操場,只有一圈喔,可能只有前幾步跑很快,後面的步伐就慢下來了,因為你的體力早就耗光了,這跟電池空載時的電壓變化,幾乎是一樣的行為,這樣應該就有理解了吧。

我們來算一下碳鋅電池的容量吧,每顆電池表訂1.5V,我自行定義1V叫做沒電,四顆串接就是要以4V為界線,根據上圖的曲線,在100mA的電流之下,電池大約可以撐8.37小時,所以它的容量計算如下

\(100mA\times 8.37hr=837mAh\) 碳鋅電池容量

也就是說如果你的遙控器每按一個鈕需要花1mA電流的話,理論上你可以持續按住837小時它才會沒電,事實上按鈕也只是一秒鐘的事情,所以這種電池在遙控器上可以用很久。

鹼性電池

接著來測試鹼性電池的容量,鹼性電池據廣告說很耐用,我實際來測試看看容量是多少。使用鹼性電池有一點要注意的地方就是,不要長時間使用,因為用久了它一樣會漏液,而且它使用強鹼溶液作為電解質,例如KOH氫氧化鉀或NaOH氫氧化鈉,一但漏液清理起來實在很麻煩,手會有刺刺的感覺,還會腐蝕電路板。所以要拿它的好處之餘,自己也要付出一點關心,不然遙控器很快就掛了。

測試鹼性 電池的容量
測試鹼性 電池的容量

經過二十多小時的測試,終於得到下面的放電曲線,若一樣以4V為界線的話,它整整放電大約20小時啊,中間還有一段很平緩的區間,真的又穩又久,果然很帶勁。到了測試尾聲大約第24小時的時候,電壓突然陡降,基本上就跟小孩瞬間秒睡的狀況是一樣的。

鹼性電池的放電曲線
鹼性電池的放電曲線

所以鹼性電池的容量計算如下:

\(100mA\times 21hr=2100mAh\) 鹼性電池容量

我查了維基百科的鹼性電池容量,它是寫2700mAh,不過廠牌不同我們只能參考,大約就是2000mAh以上。

各位一定有發現到了第25小時曲線尾巴有點鬚鬚,這是因為電壓已經掉到低於1.2V,這是儀器的極限了,低於這個電壓儀器不保證可以抽到100mA的電流,所以電壓有點高高低低的,實務上低於儀器的操作電壓,我們是不予參考的,這邊只是列出來給各位看好玩的。

充電電池

接著我們來看看坊間的充電電池,它們這個族群是目前唯一有標示容量的電池,敢標示就要勇於接受測試,我是真的滿好奇的。

測試充電 電池的容量
測試充電 電池的容量

這一次測試的時間超長,整整經過了24小時啊,但由於充電電池很貴,所以我沒有讓它放到乾,不然一次噴掉四顆電池很心痛啊。哇! 這個曲線超級平坦的啦,比鹼性電池要穩要久,難怪要這麼貴,不過看在可以重複使用的份上,也算值得。

充電電池的放電曲線
充電電池的放電曲線

馬上來計算充電電池的容量如下:

\(100mA\times 24hr=2400mAh\) 充電電池容量

各位可以把畫面往回捲動,看看最開始的充電電池標示容量,它是標示2450mAh,幾乎和計算的電池容量一樣呢! 這真是太厲害了,果然敢標就是有料。不過我得要跟各位說明,電池的容量會隨著電流變大而縮小,所以我如果把電流設定為1000mAh,它的放電時間就不會是單純的2.4hr,也許會只有1hr,這個是電池天生的特性。相反的,我如果把電流變小,改為50mA來測試,那麼我可能就會得到超過2450mAh的容量。

汽車備用電池

最後來看看我之前更換的免保養鉛酸電池汽車備用電池-忘記充電造成失效-更換電池DIY,來測試看看它的容量是多少,這個一顆就是12V,所以不用串接了,直接測試就好,至於放電電流我就設定為1A,畢竟是要給汽車發動使用的,設定個1A並不為過,而且可能還嫌小了,因為汽車引擎發動瞬間,以我的老爺車為例,啟動馬達瞬間大約會抽掉220A的電流,只要能在那個瞬間支應幾百安培的電流就達到救援的功能了。

新買的鉛酸電池
新買的鉛酸電池

畢竟這顆電池還在我的車上服役中,為了保護這顆電池,我需要修改一下程式,各位可以看到剛才的程式碼內有已經用井號mark起來的”BATT:UVP 10.5″,這個意思就是電壓低於10.5V會自動停止測試,以免把電池搞壞,據讀者說這顆電池已經停產了,萬一壞了我就得買新的了。

經過12小時的測試,我發現它的放電曲線有點怪怪的,竟然中間有個轉折,仔細一看原來是剛才設定的保護措施生效了,當電池放電過程中電壓低於10.5V時,電子負載會自動把負載卸掉,負載一旦消失,就跟剛才我提過的跑操場例子一樣,電池卸載後電壓會迅速恢復,但它其實是沒電的,所以放電中途才會有電壓回升產生轉折的狀況。

汽車備用電池的放電曲線
汽車備用電池的放電曲線

接著來計算 電池的容量 :

\(1A\times 4hr=4AH\) 汽車備用電池容量

這個算出來的容量明顯和標示的9AH不符合,但我並不擔心,因為我並不知道它那個9AH是用多少電流測試來的,我相信只要我把放電電流改為500mA,它的放電時數就會增加,而且容量也會增加。畢竟這顆電池是要拿來給汽車的啟動馬達運轉用的,重點的放電時間只有2sec,能撐得過它就發揮功能了。

小時率

一般汽車、摩托車的鉛酸電池都會標示容量,至於它是放電放多久而得到這個容量,這個放電時間就稱為小時率。我在廠商的官網上面看到的資料是說汽車電池是以5小時率來標示容量,摩托車是以10小時率來標示容量,在這裡列出給各位參考。

電池容量需要和小時率一起看
電池容量需要和小時率一起看

定電阻放電

前面所有的文章都是講定電流放電,但是實際在使用的時候,很多機會是類似定電阻的狀況。如果用定電阻來做放電測試,會看到甚麼結果呢,我們就實際來做一次。

下圖的曲線是用一顆三號電池,接上4ohm負載所得到的曲線,紅線是鹼性電池,藍色是碳鋅電池,上方是電壓V,下方是電流mA,由於是定電阻,所以兩張圖的線形長得完全一樣。

定電阻模式的放電曲線
定電阻模式的放電曲線

各位會發現定電阻模式之下的鹼性電池,放電曲線較為和緩,比前述的定電流模式和緩多了,曲線看起來比較圓滑。而碳鋅電池也是一樣的情況,原本在定電流模式就已經比較圓滑的放電曲線,在定電阻模式之下,又變得更圓滑了,幾乎是一條往下的直線。

造成這個圓滑現象的原因是,電池在放電過程中,電壓會下降,由於負載是定電阻,根據V=IR因此電流也跟著下降,既然電流越來越小,電壓當然也就降得沒那麼快了,因此放電曲線顯得較圓滑。

由於放電過程中電流會隨時間變動,也就是越變越小,所以當你要計算容量的時候,會需要動用到積分,那真是很複雜啊。最方便的方式就是,用定電流測量容量,我們只需要單純的將電流乘以時間就能得到答案,

這篇文章花了很多時間測試,也噴掉很多顆電池,希望這篇對各位有幫助。

相關文章

汽車備用電池-忘記充電造成失效-更換電池DIY

3 Comments

Leave a Reply

Your email address will not be published.


*