辦公桌上的 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 從新上市到現在已經超過十年了,很多電子電路實驗這一台就可以搞定,當初選用它,沒有後悔過。
延伸閱讀
沒有留言:
張貼留言