资讯中心

联系我们

深圳市维立信电子科技有限公司
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@welissom.com

如何通过SCPI命令查询Keysight双向直流电源输出电压下冲时间与输出阻抗的关系?

2026-05-19 09:27:29  点击:

  Keysight 双向直流电源无直接 SCPI 命令可同时查询 “下冲时间 - 输出阻抗” 关系;需用 SCPI程控多组输出阻抗→测对应下冲时间→离线拟合关系曲线。以下以 N7900 系列(N7951A/N7952A)为例,给出完整 SCPI 指令与测试流程。

  一、核心原理

  输出阻抗(Zout):电源闭环输出阻抗,可调(如 0.1Ω/0.5Ω/1Ω/5Ω)。

  下冲时间(Tus):负载阶跃时电压跌至最低点再回到稳态的时间,Zout 越大,Tus 越长。

  SCPI 限制:电源仅支持设置 Zout、触发负载阶跃、读取电压波形 / 瞬态参数;无内置 “Zout-Tus” 关联查询指令。

  二、必备 SCPI 命令(N7900 系列)

  1. 基础设置

  scpi

  *RST // 复位

  :SYST:REM // 远程控制

  :VOLT 5.0 // 输出电压5V

  :CURR 10.0 // 电流限制10A

  :OUTP ON // 开启输出

  2. 输出阻抗设置(关键)

  scpi

  :OUTP:IMP 0.1 // 设置Zout=0.1Ω(可选0.1/0.5/1/5Ω)

  :OUTP:IMP? // 查询当前Zout,返回0.1

  3. 负载阶跃触发(产生下冲)

  scpi

  :LOAD:STEP 1.5 // 负载从1A→5A阶跃(双向电源支持双向电流)

  :LOAD:STEP:TRIG // 触发阶跃

  4. 下冲时间测量(读取瞬态参数)

  scpi

  :MEAS:VOLT:UND? // 读取下冲幅度(V)

  :MEAS:VOLT:UND:TIME? // 读取下冲时间(s,核心参数)

  :TRACE:VOLT? // 读取电压波形数据(用于离线分析)

  三、完整测试流程(SCPI 程控 + 数据拟合)

  步骤 1:初始化与阻抗扫描

  scpi

  *RST;:SYST:REM;:VOLT 5.0;:CURR 10.0;:OUTP ON

  :OUTP:IMP 0.1 // Zout=0.1Ω

  :LOAD:STEP 1.5;:LOAD:STEP:TRIG

  :MEAS:VOLT:UND:TIME? // 读Tus1

  :OUTP:IMP 0.5 // Zout=0.5Ω

  :LOAD:STEP 1.5;:LOAD:STEP:TRIG

  :MEAS:VOLT:UND:TIME? // 读Tus2

  :OUTP:IMP 1.0 // Zout=1Ω

  :LOAD:STEP 1.5;:LOAD:STEP:TRIG

  :MEAS:VOLT:UND:TIME? // 读Tus3

  :OUTP:IMP 5.0 // Zout=5Ω

  :LOAD:STEP 1.5;:LOAD:STEP:TRIG

  :MEAS:VOLT:UND:TIME? // 读Tus4

  :OUTP OFF

  步骤 2:数据记录(示例)

  表格

  

  步骤 3:离线拟合关系

  拟合公式:Tus ≈ k·Zout + b(线性正相关)。

  示例拟合:Tus(μs)≈ 32·Zout(Ω)+ 15.

  四、关键注意事项

  阻抗范围:N7900 系列支持0.1Ω~5Ω,超出范围会报错。

  负载阶跃:双向电源需设置双向电流阶跃(如 - 5A→+5A),下冲更明显。

  测量精度:用 **:TRACE:VOLT?读取完整波形,在 Python/MATLAB 中计算精确 Tus**,避免内置测量误差。

  SCPI 超时:阶跃后需延迟 100ms再读 Tus,防止数据未更新。

  五、Python 自动化示例(VISA+SCPI)

  python

  运行

  import pyvisa

  import time

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource('TCPIP::192.168.1.100::INSTR') // 电源IP

  inst.timeout = 5000

  # 初始化

  inst.write('*RST;:SYST:REM;:VOLT 5.0;:CURR 10.0;:OUTP ON')

  # 阻抗扫描

  z_list = [0.1. 0.5. 1.0. 5.0]

  tus_list = []

  for z in z_list:

  inst.write(f':OUTP:IMP {z}')

  time.sleep(0.1)

  inst.write(':LOAD:STEP 1.5;:LOAD:STEP:TRIG')

  time.sleep(0.1)

  tus = float(inst.query(':MEAS:VOLT:UND:TIME?')) * 1e6 // 转μs

  tus_list.append(tus)

  print(f'Zout={z}Ω, Tus={tus}μs')

  inst.write(':OUTP OFF')

  inst.close()

  # 拟合(示例)

  import numpy as np

  z = np.array(z_list)

  tus = np.array(tus_list)

  k, b = np.polyfit(z, tus, 1)

  print(f'拟合公式:Tus(μs) = {k:.1f}·Zout(Ω) + {b:.1f}')

  六、总结

  无直接 SCPI 命令查询 “Zout-Tus” 关系,需程控多组 Zout→测对应 Tus→离线拟合。

  核心 SCPI::OUTP:IMP(设置阻抗)、:MEAS:VOLT:UND:TIME?(读下冲时间)。

  关系特征:Zout 越大,Tus 越长,近似线性正相关。