资讯中心

联系我们

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

如何用SCPI指令实现双向直流电源输出电压序列与外部信号同步?

2025-12-22 10:01:29  点击:

要实现双向直流电源的输出电压序列与外部信号同步,需利用电源的外部触发功能(External Trigger)或同步接口(如TTL脉冲、BNC接口),结合SCPI指令配置触发模式和序列参数。以下是具体方法和SCPI指令示例:


一、核心实现思路

  1. 外部信号同步
    • 使用外部设备(如函数发生器、主控器)生成同步信号(如TTL脉冲、正弦波等)。
    • 将信号接入电源的Trigger In接口,通过SCPI指令配置触发模式(上升沿/下降沿触发)。
  2. 序列模式(List Mode)
    • 在电源中预先定义电压序列(如多步电压值、持续时间、斜坡时间)。
    • 通过外部触发信号控制序列的启动或步进(Step Trigger)。
  3. 双向电源控制
    • 双向电源(如Keysight N6700C、Chroma 62000P)支持正负电压输出,需在序列中定义极性切换。

二、SCPI指令实现方法

方法1:外部触发启动序列

(1)硬件连接

  • 将外部信号(如TTL脉冲)接入电源的Trigger In接口(通常为BNC接口)。
  • 确保信号电平符合电源要求(如0~5V TTL)。

(2)SCPI指令配置

plaintext* 复位电源并禁用输出*RST
OUTPut OFF

* 配置触发模式:外部触发,上升沿响应
TRIGger:SOURce EXTernal       ; 触发源为外部
TRIGger:SLOPe POSitive        ; 上升沿触发

* 定义电压序列(示例:4步序列,正负电压交替)
SOURce:LIST:VOLTage:DATA 12, -5, 8, 0   ; 序列值:12V → -5V → 8V → 0V
SOURce:LIST:TIME:DATA 1, 0.5, 0.2, 1    ; 每步持续时间(秒)
SOURce:LIST:RANGe:DATA AUTO, AUTO, AUTO, AUTO  ; 自动量程
SOURce:LIST:COUNt 4                     ; 序列步数

* 启用序列模式
SOURce:LIST:FUNCtion ON

* 准备触发(等待外部信号)
INITiate:IMMediate

效果:每次外部触发信号的上升沿到来时,电源输出切换到序列的下一步。


方法2:外部触发控制序列步进(逐点触发)

部分电源支持单步触发模式(Step Trigger),即每次触发仅执行序列中的一步:

plaintext* 配置触发模式:单步触发TRIGger:SOURce EXTernal
TRIGger:SLOPe POSitive
TRIGger:MODE STEP             ; 每次触发执行一步

* 定义序列(同上)
SOURce:LIST:VOLTage:DATA 12, -5, 8, 0
SOURce:LIST:TIME:DATA 1, 0.5, 0.2, 1
SOURce:LIST:COUNt 4

* 启用序列模式
SOURce:LIST:FUNCtion ON
OUTPut ON                     ; 开启输出(等待触发)

效果:每次外部触发信号仅触发序列中的一步,适合需要精确控制步进的应用。


方法3:序列循环与外部同步

若需序列循环运行并同步到外部信号(如周期性触发):

plaintext* 配置序列循环SOURce:LIST:CYCLes INFinite    ; 无限循环
SOURce:LIST:COUNt 4

* 配置触发模式:外部触发启动循环
TRIGger:SOURce EXTernal
TRIGger:SLOPe POSitive
TRIGger:MODE LIST             ; 触发后执行完整序列

* 启用序列模式
SOURce:LIST:FUNCtion ON
OUTPut ON

效果:每次外部触发信号启动一次完整的序列循环。


三、关键注意事项

  1. 触发信号要求
    • 确保外部信号的电平、极性(上升沿/下降沿)与电源配置匹配。
    • 触发信号频率需低于电源的最大触发速率(如Keysight N6700C支持1kHz触发)。
  2. 序列时间参数
    • SOURce:LIST:TIME:DATA定义每步的持续时间,需确保外部触发信号的间隔时间 ≥ 序列总时间。
  3. 双向电源极性控制
    • 在序列中直接定义负电压(如-5),双向电源会自动切换极性。
    • 若需动态控制极性,可使用SOURce:POLarity指令(部分电源支持)。
  4. 触发延迟调整
    • 若存在相位偏差,可通过TRIGger:DELay微调(如TRIGger:DELay 0.001延迟1ms)。
  5. 厂商差异
    • Keysight N6700系列:支持TRIGger:MODE LIST/STEP
    • Chroma 62000P:使用PROG:LIST:TRIG配置触发模式。
    • ITECH IT6000:需通过LIST:TRIG:SOURce选择触发源。

四、验证与调试

  1. 示波器监测
    • 连接示波器到电源输出端,观察电压序列是否与外部触发信号同步。
    • 检查序列步进是否按预期执行。
  2. 日志记录
    • 使用SYSTem:LOG或编程语言(如Python)记录触发时间和输出值,分析同步精度。
  3. 常见问题
    • 触发失效:检查信号电平、接口连接和TRIGger:SOURce配置。
    • 序列不执行:确认SOURce:LIST:FUNCtion ONOUTPut ON已启用。

五、完整示例(Python + SCPI)

pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")# 配置外部触发序列power.write("*RST")power.write("OUTPut OFF")power.write("TRIGger:SOURce EXTernal")power.write("TRIGger:SLOPe POSitive")power.write("SOURce:LIST:VOLTage:DATA 12, -5, 8, 0")power.write("SOURce:LIST:TIME:DATA 1, 0.5, 0.2, 1")power.write("SOURce:LIST:COUNt 4")power.write("SOURce:LIST:FUNCtion ON")power.write("OUTPut ON")print("等待外部触发信号...")# 此时电源处于触发等待状态,外部信号上升沿将启动序列

六、总结

  • 外部触发启动序列:适用于周期性同步需求(如测试逆变器动态响应)。
  • 单步触发模式:适用于需要精确控制每一步的应用(如分步老化测试)。
  • 循环序列同步:适用于重复性测试(如燃料电池负载模拟)。

通过合理配置触发模式和序列参数,可实现双向直流电源与外部信号的高精度同步。