辦公桌上的 Keysight U3606B 真的很好用,這次研究不斷電指示燈,拿它來監測鎳氫電池充放電時,電池的電壓與電流變化情形。
通常 DMM (Digital Multi-Meter) 一次只能測量電壓或是電流,無法兩者同時測量,如果想同時測量,一般需要兩台儀器,那 U3606B 如何辦到用一台儀器同時測到電池的電壓與電流呢?關鍵在 U3606B 內建電源供應,只要設定電源供應為定電流源 (CC, Constant Current),輸出 0 mA,就可以監測電池兩端電壓情形,再加上 U3606B 輸入端子測量電池電流,這樣兩個物理量就可以同時監測了。
我同時寫了一個 Python 程式,可以把讀值存檔,它需要安裝 PyVISA 模組
> pip install pyvisa
# (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")
U3606B 從新上市到現在已經超過十年了,很多電子電路實驗這一台就可以搞定,當初選用它,沒有後悔過。
延伸閱讀


沒有留言:
張貼留言