前文提及不斷電指示燈,本文繼續討論它的電路特性,利用 Keysight U3606B 記錄指示燈充放電時,鎳氫電池的 V 及 I 數值變化情形。
本文圖表所記錄的是有問題的電池,放電很快就沒電了,另外紅字標示可能是 U3606B 的控制誤差,正常電池自放電應該會洩漏 -0.xx uA,但是測量卻是 +0.xx uA,這是因為 U3606B 設定為 CC 0 mA,在電池內部自放電時,偷偷吃進 U3606B 0.xx uA。
電源狀態 | 指示燈開關 | 電池電壓 | 電池電流 | 備 註 |
---|---|---|---|---|
停電 | OFF | 2.22 V | 0.17 uA | 初始狀態 |
AC 110 V | OFF | 2.22 V | 0.70 mA | 入電,電池開始充電 |
3.70 V | 0.49 mA | 電池 500 秒後就充到 3.7 V,但是仍繼續定電流充電 | ||
停電 | OFF | 3.70 V | 0.11 uA | 剛停電瞬間 |
3.46 V | 0.06 uA | 電池 500 秒後,自放電電壓略降 | ||
停電 | ON | 2.92 V | -6.1 mA | 由電池供電照明 |
2.41 V | -1.0 mA | 10 秒後,電池放到沒電 | ||
1.97 V | -0.7 mA | 再經過 500 秒 | ||
AC 110 V | ON | 2.08 V | 0.6 mA | 入電充電,同時照明 |
2.47 V | -0.08 uA | 120 秒後,電池開始自放電 | ||
2.50 V | -0.3 mA | 再經過 380 秒 | ||
AC 110 V | OFF | 2.54 V | 0.6 mA | 關掉照明,電池開始充電 |
3.72 V | 0.5 mA | 電池 500 秒後就充到 3.7 V,但是仍繼續定電流充電 | ||
AC 110 V | ON | 2.88 V | -25.8 mA | 啟動照明 |
2.75 V | -9.3 mA | 10 秒後,電池放電差不多 | ||
2.54 V | -1.0 mA | 再經過 490 秒 | ||
停電 | ON | 2.33 V | -0.9 mA | 停電 |
2.16 V | -0.8 mA | 電池持續放電 500 秒 |
# (C) 2024, Bridan, CC BY-SA 3.0 TW # The program is for V and I measurement # https://4rdp.blogspot.tw from __future__ import division, unicode_literals, print_function, absolute_import import pyvisa import time import datetime print("VISA list:") rm = pyvisa.ResourceManager() print(rm.list_resources()) addr = input("Input U3606B VISA address: ") hybrid = rm.open_resource(addr) hybrid.read_termination = '\n' hybrid.write_termination = '\n' hybrid.write("*RST") time.sleep(3) hybrid.write("CONFIGURE:CURRENT") hybrid.write("SOURCE:CURRENT:RANGE 0.1") hybrid.write("OUTPUT ON") # set data file file = 'VI- ' + datetime.datetime.now().strftime('%Y-%m-%d %H.%M.%S') + '.csv' w_file = open(file, 'w') w_file.write('Time,V,I\n') t = input("How long time would you like to measure? (sec) ") n = int(t) while n > 0: t = str(datetime.datetime.now()) v = hybrid.query("SOURCE:SENSE:VOLTAGE?") i = hybrid.query("FETCH?") data = t[t.find(' '):] + ' , ' + v + ' , ' + i + '\n' print(data) w_file.write(data) time.sleep(1) n -= 1 w_file.close() hybrid.write("OUTPUT OFF")