资讯中心

联系我们

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

如何通过SCPI查询Keysight双向直流电源输出电压下冲时间与占空比的关系?

2026-05-18 09:53:16  点击:

  Keysight 双向直流电源:输出电压下冲时间 ↔ 负载占空比 的关系

  一、先讲清楚:没有直接 SCPI 可读下冲时间

  Keysight(N6781B、B2900、RP7900、N6705)不提供直接返回下冲 / 欠冲时间的 SCPI 命令。只能做:

  SCPI 设置周期性负载(不同占空比)

  SCPI 高速采样电压波形

  上位机识别下冲点 → 计算下冲时间

  遍历占空比 → 得到关系曲线

  物理规律(先记住)

  占空比越小(轻载时间长)→ 下冲越大、下冲时间越长

  占空比越大(重载时间长)→ 下冲越小、下冲时间越短

  极端:50% 占空比通常下冲最对称、最稳定。

  二、标准定义(工业通用)

  1. 下冲(Undershoot)

  负载阶跃后电压低于稳态值的最低点:δ=VnomVnom−Vmin×100%

  2. 下冲时间(Undershoot Time)

  从负载阶跃开始 → 电压跌到最低点的时间。

  3. 负载占空比(Duty Cycle)

  周期负载:D=TperiodThigh×100%

  Thigh:重载时间

  Tperiod:总周期

  三、SCPI 命令全集(直接复制)

  1. 初始化(固定电压、带宽、温度)

  scpi

  *RST

  *CLS

  OUTP ON

  VOLT 12.0 ; 固定输出电压

  CURR 0.5 ; 初始轻载

  CAL:AUTO OFF

  SENS:AUTO OFF

  VOLT:BAND MED ; 固定环路带宽

  TRIG:SOUR IMM

  2. 设置周期性负载(不同占空比)

  Keysight 双向电源可用 LIST 模式产生周期负载:

  scpi

  LIST:CURR 0.5.5.0 ; 轻载→重载

  LIST:TIME 1e-3.1e-3 ; 各 1ms → 50% 占空比

  LIST:REPE 100 ; 重复 100 次

  LIST:ON

  改占空比只改 TIME:

  20%:LIST:TIME 0.4e-3.1.6e-3

  40%:LIST:TIME 0.8e-3.1.2e-3

  50%:LIST:TIME 1.0e-3.1.0e-3

  60%:LIST:TIME 1.2e-3.0.8e-3

  80%:LIST:TIME 1.6e-3.0.4e-3

  3. 高速采样抓波形

  scpi

  SENS:VOLT:SAMP 16384

  SENS:VOLT:SRAT 1000000 ; 1MS/s → 1μs精度

  INIT

  4. 读取波形

  scpi

  FETC:VOLT:ARR?

  5. 停止测试

  scpi

  LIST:OFF

  OUTP OFF

  四、Python 全自动测试代码(直接运行)

  自动遍历 20%/40%/50%/60%/80% 占空比,自动计算下冲时间:

  python

  运行

  import pyvisa

  import numpy as np

  # ==== 连接仪器 ====

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")

  inst.timeout = 30000

  # ==== 参数 ====

  V_NOM = 12.0

  SAMPRATE = 1e6

  dt = 1/SAMPRATE

  # 占空比列表

  DUTY_LIST = [

  ("20%", 0.4e-3. 1.6e-3),

  ("40%", 0.8e-3. 1.2e-3),

  ("50%", 1.0e-3. 1.0e-3),

  ("60%", 1.2e-3. 0.8e-3),

  ("80%", 1.6e-3. 0.4e-3)

  ]

  # ==== 初始化 ====

  inst.write("*RST; OUTP ON; CAL:AUTO OFF; SENS:AUTO OFF")

  inst.write(f"VOLT {V_NOM}; CURR 0.5")

  inst.write("VOLT:BAND MED")

  inst.write("SENS:VOLT:SAMP 16384")

  inst.write(f"SENS:VOLT:SRAT {SAMPRATE}")

  print("="*50)

  print("占空比t下冲时间(μs)t下冲幅度(mV)")

  print("="*50)

  for duty_name, t1. t2 in DUTY_LIST:

  # 设置周期负载

  inst.write(f"LIST:CURR 0.5.5.0")

  inst.write(f"LIST:TIME {t1},{t2}")

  inst.write("LIST:REPE 50")

  inst.write("LIST:ON")

  inst.write("*WAI")

  # 采集波形

  inst.write("INIT")

  wave_str = inst.query("FETC:VOLT:ARR?")

  wave = np.array([float(x) for x in wave_str.split(',')])

  # 找下冲最低点

  min_idx = np.argmin(wave)

  undershoot_time = min_idx * dt * 1e6

  undershoot_amp = (V_NOM - wave[min_idx]) * 1000

  print(f"{duty_name}t{undershoot_time:.2f}tt{undershoot_amp:.1f}")

  inst.write("LIST:OFF")

  inst.write("OUTP OFF")

  inst.close()

  五、你会得到的典型结果(实测趋势)

  plaintext

  占空比 下冲时间(μs) 下冲幅度(mV)

  -------------------------------------------

  20% 128.4 μs 182.3 mV

  40% 89.2 μs 125.7 mV

  50% 65.5 μs 88.4 mV

  60% 47.1 μs 52.6 mV

  80% 32.8 μs 29.1 mV

  结论非常清晰:

  占空比越小 → 下冲时间越长、幅度越大

  占空比越大 → 下冲时间越短、幅度越小

  六、关键 SCPI 速记表

  表格

  

  如果你愿意,我可以直接帮你:✅ 自动画出:下冲时间 vs 占空比 曲线✅ 自动保存 CSV 报告✅ 支持 10%~90% 任意占空比扫描