打造你的自動化實驗室:儀器控制入門 (4)

第四部分:實戰演練 —— 操作 Chroma 電子負載
學會了控制電源供應器後,我們來挑戰另一種在電力電子測試中不可或缺的儀器:電子負載 (Electronic Load)。電子負載可以用來模擬待測物 (如電源供應器、電池) 的負載情況。
我們將以 Chroma 可程式化直流電子負載 為例。
1. 任務目標
這次的任務是模擬一個設備正在消耗 0.5A 的恆定電流:
設定電子負載為「定電流 (Constant Current, CC)」模式。
設定拉載電流值為 0.5A。
開啟負載輸入 (開始拉載)。
等待 3 秒鐘。
讀取此時負載兩端的電壓和實際拉載的電流。
關閉負載輸入。
2. 查詢儀器手冊
同樣,我們需要查閱儀器的編程手冊來找到對應的 SCPI 指令。對於 Chroma 電子負載,常見的指令可能如下:
設定模式:
MODE <CCH|CCM|CCL>(電子負載的定電流細分為三種模式 CCH, CCM, CCL)設定定電流值:
CURR:STAT:L1 <current>開啟/關閉負載:
LOAD <ON|OFF>讀取量測電壓:
FETCh:VOLTage?讀取量測電流:
FETCh:CURRent?重置儀器:
*RST(在開始新測試前重置儀器是個好習慣)
3. 編寫控制腳本
讓我們將這些指令整合到一個自動化測試腳本中。
import pyvisa
import time
# --- 設定區 ---
VISA_ADDRESS = '請換成你的 Chroma 電子負載位址'
LOAD_CURRENT = 0.5
# 建立資源管理器
rm = pyvisa.ResourceManager()
try:
# 開啟與儀器的連線
eload = rm.open_resource(VISA_ADDRESS)
eload.timeout = 5000
# 在開始前,發送重置指令,讓儀器回到預設狀態
eload.write('*RST')
print(f"成功連接到: {eload.query('*IDN?').strip()}")
# --- 開始自動化流程 ---
# 1. 設定為定電流模式
print("設定為定電流 (CCM) 模式...")
eload.write('MODE CCM')
# 2. 設定拉載電流
print(f"設定拉載電流為: {LOAD_CURRENT}A")
eload.write(f'CURR:STAT:L1 {LOAD_CURRENT}')
# 3. 開啟負載
print("開啟負載...")
eload.write('LOAD ON')
# 4. 等待 3 秒
time.sleep(3)
# 5. 讀取量測值
voltage = float(eload.query('FETC:VOLT?'))
current = float(eload.query('FETC:CURR?'))
print(f"量測結果 -> 電壓: {voltage:.3f}V, 電流: {current:.3f}A")
except Exception as e:
print(f"發生錯誤: {e}")
finally:
# 6. 關閉負載
if 'eload' in locals():
print("關閉負載。")
eload.write('LOAD OFF')
eload.close()
print("儀器連線已關閉。")
透過這個範例,您可以看到,即使是不同的儀器,只要它們都遵循 SCPI 標準,控制的邏輯和 PyVISA 的使用方法都是非常相似的。這正是儀器控制標準化的威力所在。



