要使用SCPI指令查询双向直流电源输出电流的过冲,需结合序列模式配置、瞬态响应测试与数据分析,通过以下步骤实现:
电流过冲通常表现为输出电流在阶跃变化时(如负载突变或电源启动)超过稳态值并伴随振荡。通过SCPI指令可实现:
plaintextSOURce:LIST:COUNt 2 ; 设置2个序列点SOURce:LIST:CURRent:DATA1 0, 0.1 ; 第1点:0A,持续0.1秒(空载)
SOURce:LIST:CURRent:DATA2 10, 0.1 ; 第2点:10A(满载),持续0.1秒
SOURce:LIST:FUNCtion ON ; 启用序列模式
SOURce:LIST:CYCLe OFF ; 禁用循环(单次执行)
plaintextTRIGger:SOURce EXTernal ; 选择外部触发源TRIGger:SLOPe POSitive ; 上升沿触发
OUTPut:STATe ON ; 准备输出,等待触发
plaintextTRIGger:SOURce IMMediate ; 选择内部触发TRIGger:INITiate ; 立即启动序列
plaintextMEASure:CURRent? ; 查询当前输出电流(单位:A)
pythonimport pyvisaimport timerm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR") # 替换为实际地址# 配置序列(略,参考步骤1)power.write("TRIG:SOUR IMM")power.write("TRIG:INIT")# 连续采集100个电流值(采样间隔10ms)current_data = []for _ in range(100): current = float(power.query("MEAS:CURR?")) current_data.append(current) time.sleep(0.01)power.close()
计算超调量:
:输出电流峰值(从数据中提取)。
:稳态电流值(如满载电流10A)。
振荡次数与稳定时间:
初始化与复位:
plaintextSYSTem:REMote ; 进入远程模式*RST ; 复位设备
配置序列与触发:
plaintextSOUR:LIST:COUN 2SOUR:LIST:CURR 0, 0.1, 10, 0.1 ; 简化指令(部分电源支持)
SOUR:LIST:FUNC ON
TRIG:SOUR EXT
TRIG:SLOP POS
OUTP:STAT ON
启动测试并采集数据:
TRIG:INIT)。MEAS:CURR?,记录电流变化。数据分析:
PROG:LIST:CURR:DATA#),需参考具体型号手册。SOUR:CURR:PROT:LEV),避免损坏设备。plaintextSOUR:LIST:CURR:DATA1 0, 0.1 ; 设置序列点SOUR:LIST:GOTO 2 ; 跳转到第2点(部分型号支持)
plaintextLIST:CURR:DATA1 0, 1000 ; 时间单位可能为100μs(1000=100ms)
plaintextPROG:LIST:CURR:DATA1 0, 0.1 ; 设置序列点PROG:LIST:GOTO 2 ; 跳转到第2点