用Python核对TVS钳位点是否在同一波形条件

1 阅读1分钟

把不同规格书中的VC直接排序,最常见的问题是忽略电流、波形和脉宽。

一个简单脚本可以先拒绝条件不完整或不可比的数据,再把数值交给工程判断。

数据模型

from dataclasses import dataclass

@dataclass(frozen=True)
class ClampPoint:
    part: str
    vc_v: float
    current_a: float
    waveform: str
    pulse_us: str
  • 完整型号必填;
  • 波形和脉宽分字段;
  • 数据来源另存URL。

只比较同条件数据

def comparable(a: ClampPoint, b: ClampPoint) -> bool:
    return (a.current_a == b.current_a and
            a.waveform == b.waveform and
            a.pulse_us == b.pulse_us)

def lower_vc(a: ClampPoint, b: ClampPoint):
    if not comparable(a, b):
        raise ValueError('Clamping points use different conditions')
    return min((a, b), key=lambda x: x.vc_v)
  • 条件不同直接报错;
  • 不把IEC ESD与8/20 μs混排;
  • 结果仍需核对后级耐压。

板级验证仍不可省

即便同条件下VC较低,也要考虑VRWM、漏电、结电容、封装寄生和回流路径。代码解决的是数据纪律,不是自动选型。

  • 测量目标板残余波形;
  • 核对探头带宽和接法;
  • 完成温升与功能回归。

资料来源