国产呦萝小初合集密码

资讯中心

联系我们

国产呦萝小初合集密码·(中国)官方网站
地址:深圳市福田区红荔路第一世界广场A座8D-E
咨询电话:0755-83766766
E-mail:info@qihuisz.com

如何用SCPI指令实现双向直流电源输出电压与电流的时序控制?

2025-12-22 09:56:31  点击:

要实现双向直流电源输出电压与电流的时序控制(即在不同时间点切换电压/电流值并控制过渡斜率),需结合电源的序列模式(List Mode)触发功能(Trigger)斜坡功能(Ramp)。以下是具体实现方法及SCPI指令示例:


一、核心控制逻辑

  1. 定义时序序列:设置电压( VOLT )和电流( CURR )的目标值、保持时间( DWELL )和斜坡时间( RAMP )。
  2. 配置触发源:选择内部触发(立即执行)、外部触发(如TTL信号)或总线触发(如 *TRG 命令)。
  3. 启动序列:通过指令或外部信号触发序列执行。

二、SCPI指令实现

1. 基本序列配置

(1)设置序列点参数

								plaintextSOURce:LIST:COUNt                   ; 设置序列点数量(N)SOURce:LIST:VOLTage:DATA , ,   ; 第n点电压参数
SOURce:LIST:CURRent:DATA , ,  ; 第n点电流参数
  • :目标电压(支持双向,如 -12 )。
  • :目标电流(如 1.5 )。
  • :达到目标值后的保持时间(秒)。
  • :过渡到目标值的斜坡时间(秒)。

示例:电压与电流联合序列

								plaintextSOUR:LIST:COUN 3                       ; 3个序列点SOUR:LIST:VOLT:DATA1 0, 1, 0.5         ; 第1点:0V,保持1秒,斜坡0.5秒
SOUR:LIST:CURR:DATA1 0.1, 1, 0         ; 第1点:0.1A(电流斜坡禁用)
SOUR:LIST:VOLT:DATA2 12, 1, 1          ; 第2点:12V,保持1秒,斜坡1秒
SOUR:LIST:CURR:DATA2 0.5, 1, 0.5       ; 第2点:0.5A,电流斜坡0.5秒
SOUR:LIST:VOLT:DATA3 0, 1, 0.5         ; 第3点:0V,保持1秒,斜坡0.5秒
SOUR:LIST:CURR:DATA3 0, 1, 0           ; 第3点:0A

(2)启用序列模式

								plaintextSOURce:LIST:FUNCtion ON                ; 启用序列模式OUTPut ON                              ; 开启输出

2. 触发控制

(1)设置触发源

								plaintextTRIGger:SOURce                 ; 设置触发源
    • IMMediate (立即触发,默认)
    • EXTernal (外部TTL信号触发)
    • BUS (通过 *TRG 命令触发)

(2)外部触发边沿(可选)

								plaintextTRIGger:SLOPe POSitive                 ; 上升沿触发(外部触发时有效)

(3)启动序列

  • 内部触发:配置为 IMMediate 后,执行 OUTP ON 自动启动。
  • 外部触发:发送外部TTL信号到电源的 Trigger In 接口。
  • 总线触发
    										plaintext*TRG                                 ; 发送软件触发命令

3. 高级功能

(1)循环序列

								plaintextSOURce:LIST:CYCLes INFinite            ; 无限循环序列SOURce:LIST:CYCLes 5                   ; 循环5次

(2)暂停与恢复

								plaintextABORt                                  ; 停止序列OUTPut OFF                             ; 关闭输出
OUTPut ON                              ; 重新启动(从序列起点开始)

三、完整示例(Python + PyVISA)

								pythonimport pyvisarm = pyvisa.ResourceManager()power = rm.open_resource("TCPIP0::192.168.1.100::inst0::INSTR")  # 替换为实际地址# 配置序列(3个点:电压+电流)power.write("SOUR:LIST:COUN 3")power.write("SOUR:LIST:VOLT:DATA1 0, 1, 0.5")power.write("SOUR:LIST:CURR:DATA1 0.1, 1, 0")power.write("SOUR:LIST:VOLT:DATA2 12, 1, 1")power.write("SOUR:LIST:CURR:DATA2 0.5, 1, 0.5")power.write("SOUR:LIST:VOLT:DATA3 0, 1, 0.5")power.write("SOUR:LIST:CURR:DATA3 0, 1, 0")# 启用序列模式并设置触发power.write("SOUR:LIST:FUNC ON")power.write("TRIG:SOUR IMM")            # 立即触发power.write("OUTP ON")                  # 启动输出# 可选:通过总线触发(若触发源设为BUS)# power.write("*TRG")power.close()

四、关键注意事项

  1. 斜坡时间限制
    • 部分电源的斜坡时间有最小值(如10ms),需查阅手册确认。
    • 若需快速切换,可设 ramp_time=0 (瞬时跳变)。
  2. 双向控制
    • 电压和电流需分别设置序列,电源会优先满足电压或电流限制(取决于工作模式,如 CC CV )。
  3. 触发同步
    • 多台设备同步时,需统一触发源(如外部TTL信号)。
  4. 错误处理
    • 若序列执行失败,检查 SYST:ERR? 返回的错误代码(如 -400 表示参数错误)。

五、厂商差异

  • Keysight N6700系列:支持全局斜坡设置( SOUR:VOLT:RAMP:TIME )。
  • Chroma 62000P系列:可能使用 PROG:LIST:VOLT:RAMP 指令。
  • ITECH IT6000系列:需分别配置电压/电流序列( LIST:VOLT:DATA LIST:CURR:DATA )。

通过上述方法,可实现双向直流电源的电压/电流时序控制,适用于电池充放电测试、动态负载模拟等场景。


m wap