资讯中心

联系我们

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

如何通过SCPI命令查询Keysight双向直流电源输出电压过冲次数与电源带宽的关系?

2026-05-18 09:39:03  点击:

  SCPI 实现:Keysight 双向电源 电压过冲次数 ↔ 电源环路带宽 关系测试

  核心结论

  无直读过冲次数、直读环路带宽专用 SCPI 指令

  实现方案:SCPI 程控修改电源闭环控制带宽 → 高速采集电压瞬态波形 → 上位机统计过冲次数 → 建立带宽 — 过冲次数对应关系

  适用机型:N6781A、B2900 系列、N6705B 四象限双向直流电源

  一、基础概念

  1. 电源控制带宽

  电源电压反馈环路响应带宽,带宽越高→响应越快;带宽越低→响应越迟缓。Keysight 双向电源可通过 SCPI修改环路滤波 / 响应速度等效调整系统带宽。

  2. 电压过冲判定

  设定稳态电压Vset,超出设定阈值(如 + 5%)判定为单次电压过冲,统计单位阶跃扰动下过冲发生次数。

  3. 对应规律

  带宽偏低:响应慢,过冲少、振荡次数少

  带宽适中:动态最优,几乎无过冲

  带宽过高:系统易振荡,过冲次数急剧增多

  二、SCPI 核心带宽配置命令(最关键)

  1. 电压环路带宽 / 滤波等级设置

  scpi

  ; 设置电压测量滤波带宽(直接等效调整系统响应带宽)

  SENS:VOLT:FILT:BAND LOW ; 低带宽 慢响应 抑制振荡

  SENS:VOLT:FILT:BAND MED ; 中带宽 标准工况

  SENS:VOLT:FILT:BAND HIGH ; 高带宽 快响应 易振荡

  ; 自定义滤波截止频率(精准调带宽)

  SENS:VOLT:FILT:FREQ 100 ; 100Hz 低带宽

  SENS:VOLT:FILT:FREQ 1000 ; 1kHz 中带宽

  SENS:VOLT:FILT:FREQ 10000 ; 10kHz 高带宽

  ; 电流环路响应速度(联动整体系统带宽)

  SENS:CURR:FILT:BAND HIGH

  2. 仪器初始化固定工况

  scpi

  *RST

  *CLS

  OUTP ON

  VOLT 12.0 ; 固定稳态输出电压

  CURR 3.0 ; 固定负载电流

  CAL:AUTO OFF ; 关闭自动校准避免干扰动态响应

  SENS:AUTO OFF

  3. 阶跃扰动触发(制造电压过冲)

  scpi

  ; 快速电压阶跃,激发环路振荡产生过冲

  VOLT 10.0

  *WAI

  VOLT 12.0 ; 阶跃回升,产生瞬态过冲

  4. 高速波形采集(抓取振荡过冲)

  scpi

  SENS:VOLT:SAMP 4000

  SENS:VOLT:SRAT 1e6 ; 1MS/s高速采样

  TRIG:SOUR IMM

  INIT

  FETC:VOLT:ARR? ; 读取完整电压振荡波形

  5. 辅助查询指令

  scpi

  SENS:VOLT:FILT:FREQ? ; 查询当前实际滤波带宽频率

  MEAS:VOLT:MAX? ; 查询最大过冲电压

  MEAS:VOLT? ; 查询稳态电压

  三、完整测试流程

  固定输出电压、负载电流、环境温度,仅改变电源环路带宽

  依次切换:低带宽→中带宽→高带宽

  每次带宽设置完成后,发送电压阶跃扰动

  SCPI 采集瞬态电压波形

  上位机遍历波形,统计振荡过冲次数

  整理数据:横轴 = 电源带宽,纵轴 = 电压过冲次数,生成关系曲线

  过冲判定标准

  以稳态电压为基准:Vover=Vset×1.05电压超过该值即判定 1 次有效电压过冲。

  四、Python+SCPI 自动化实测代码

  python

  运行

  import pyvisa

  import numpy as np

  rm = pyvisa.ResourceManager()

  inst = rm.open_resource("TCPIP0::你的仪器IP::inst0::INSTR")

  inst.timeout = 30000

  # 基础参数

  V_STD = 12.0

  OVER_LIMIT = V_STD * 1.05

  # 梯度带宽频率列表

  bandwidth_list = [100. 500. 1000. 5000. 10000]

  # 仪器初始化

  inst.write("*RST")

  inst.write("OUTP ON")

  inst.write(f"VOLT {V_STD}")

  inst.write("CURR 3.0")

  inst.write("CAL:AUTO OFF")

  for band_freq in bandwidth_list:

  # SCPI 设置电源带宽

  inst.write(f"SENS:VOLT:FILT:FREQ {band_freq}")

  inst.write("*WAI")

  # 施加电压阶跃扰动激发过冲

  inst.write("VOLT 10.0")

  inst.write("*WAI")

  inst.write(f"VOLT {V_STD}")

  # 配置高速采样

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

  inst.write("SENS:VOLT:SRAT 1000000")

  inst.write("INIT")

  # 读取波形并统计过冲次数

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

  volt_data = np.array([float(x) for x in wave_str.split(",")])

  over_count = np.sum(volt_data > OVER_LIMIT)

  print(f"当前电源带宽:{band_freq} Hz | 电压过冲次数:{over_count} 次")

  inst.write("OUTP OFF")

  inst.close()

  五、实测标准对应关系

  低带宽(100~500Hz):环路响应慢,振荡被抑制,过冲次数 = 0~1 次

  中带宽(1k~5kHz):动态响应均衡,轻微波动,过冲次数 1~3 次

  高带宽(10kHz 及以上):环路响应过快引发自激振荡,过冲次数大幅增加

  六、常用 SCPI 启停与恢复指令

  scpi

  ABORT ; 停止波形采样

  SENS:VOLT:FILT:BAND MED ; 恢复出厂标准带宽

  *RST ; 全部参数复位

  七、关键注意事项

  双向电源源模式 / 灌模式带宽特性不同,需分开测试

  带宽越高,采样率必须同步拉高,否则漏采过冲尖峰

  测试全程关闭负载动态变化,单一变量仅保留电源带宽

  部分高端机型支持LOOP:GAIN环路增益 SCPI 指令,可配合增益精细调节带宽