资讯中心

联系我们

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

如何用SCPI指令实现双向直流电源输出电压序列的插值?

2025-12-12 10:31:30  点击:

要通过SCPI指令实现双向直流电源输出电压序列的插值控制(即在序列点之间平滑过渡而非突变),需结合电源的斜坡功能(Ramp)自定义波形生成功能。以下是具体实现方法及指令示例:


一、核心思路

  1. 启用斜坡功能:在序列点之间设置电压变化的斜坡时间(Ramp Time),使电源在序列点切换时自动插值过渡。
  2. 自定义插值步长:通过编程控制电压步进(如每100ms调整一次电压),模拟手动插值效果(适用于不支持硬件斜坡的设备)。

二、方法1:使用斜坡功能(推荐)

1. 配置序列点与斜坡时间

大多数支持序列的电源(如Keysight N6700、Chroma 62000P)允许为每个序列点设置电压斜坡时间(Ramp Time),指令格式如下:

plaintextSOURce:LIST:VOLTage:DATA# <voltage>, <dwell_time>, <ramp_time>
  • <voltage>:目标电压值(支持双向,如-12)。
  • <dwell_time>:达到目标电压后的保持时间(秒)。
  • <ramp_time>:从当前电压过渡到目标电压的时间(秒)。

示例指令

plaintextSOURce:LIST:COUNt 3                   ; 设置3个序列点SOURce:LIST:VOLTage:DATA1 0, 1, 0.5   ; 第1点:0V,保持1秒,斜坡时间0.5秒
SOURce:LIST:VOLTage:DATA2 12, 1, 1    ; 第2点:12V,保持1秒,斜坡时间1秒
SOURce:LIST:VOLTage:DATA3 0, 1, 0.5   ; 第3点:0V,保持1秒,斜坡时间0.5秒
SOURce:LIST:FUNCtion ON               ; 启用序列模式
OUTPut ON                             ; 开启输出

效果:电源会从0V→12V(耗时1秒),再从12V→0V(耗时0.5秒),实现平滑插值。


三、方法2:手动编程插值(无硬件斜坡时)

若电源不支持斜坡功能,可通过外部编程(如Python)控制电压步进,模拟插值效果:

Python脚本示例

pythonimport pyvisaimport timerm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 初始化参数start_voltage = 0    # 起始电压end_voltage = 12     # 目标电压steps = 10           # 插值步数step_time = 0.1      # 每步间隔时间(秒)# 手动插值控制power.write("OUTPut ON")for v in [start_voltage + (end_voltage - start_voltage) * i/steps for i in range(steps + 1)]:    power.write(f"SOUR:VOLT {v}")  # 设置当前电压    time.sleep(step_time)          # 等待步进完成# 保持目标电压power.write("SOUR:VOLT 12")time.sleep(2)# 关闭输出power.write("OUTPut OFF")power.close()

效果:电压从0V逐步增加到12V(共10步,每步0.1秒),实现软件插值。


四、厂商差异与高级功能

  1. Keysight N6700系列
    • 支持全局斜坡设置:SOURce:VOLTage:RAMP:STATe ON + SOURce:VOLTage:RAMP:TIME 1(全局斜坡时间1秒)。
    • 查询斜坡状态:SOURce:VOLTage:RAMP:STATe?
  2. ITECH IT6000系列
    • 可能需要使用LIST:VOLT:RAMP子命令(参考具体手册)。
  3. Chroma 62000P系列
    • 支持PROG:LIST:VOLT:RAMP指令,需确认型号是否支持。

五、关键注意事项

  1. 斜坡时间限制:部分电源的斜坡时间有最小值(如10ms),需查阅手册。
  2. 双向插值:在负电压切换时(如0V→-12V),需确保斜坡功能支持负值。
  3. 触发同步:若需与其他设备同步,可使用TRIGger指令控制斜坡启动时机。
  4. 保护机制:插值过程中若触发过压/过流保护(OVP/OCP),需通过SOUR:VOLT:PROT:LEV?检查阈值。

六、完整流程示例(硬件斜坡)

plaintext* 复位设备*RST

* 配置序列(3点,带斜坡)
SOUR:LIST:COUN 3
SOUR:LIST:VOLT:DATA1 0, 1, 0.5   ; 0V → 12V(斜坡0.5秒)
SOUR:LIST:VOLT:DATA2 12, 1, 1    ; 12V → -12V(斜坡1秒)
SOUR:LIST:VOLT:DATA3 -12, 1, 0.5  ; -12V → 0V(斜坡0.5秒)

* 启用序列与输出
SOUR:LIST:FUNC ON
OUTP ON

* 启动序列(若需外部触发)
TRIG:IMM

通过上述方法,可实现双向直流电源在序列点之间的平滑插值过渡,适用于动态负载模拟、电池充放电测试等场景。如需更复杂的波形(如正弦插值),建议使用任意波形发生器(AWG)功能(若设备支持)。