python硬件测试.pdf_用Python控制硬件49-测试PTC自恢复保险丝工作特性

PTC保险丝是具有过流过热保护、自动恢复功能的常用电子器件。当工作电流达到触发值后,温度升高,内阻急速增大,电流迅速速降低。当降温冷却后,又能恢复正常状态。

这次演示用程控电源测试一片贴片PTC保险丝,观察其电流触发保护和自恢复等特性。首先搭建如下测试环境:

将被测元件直接焊接在插针上固定住:

打开Shell Lab软件,输入下面测试脚本(从低到高增加测试电流,反复循环):

power = Korad.KA3005P(PORT)

VMAX = 3.0 # Volt

IMIN = 0.01 # Amp

IMAX = 0.50 # Amp

DI = 0.01 # Amp

DT = 1.0 # Sec

ICUR = IMIN

# 首先关闭输出,确保元件恢复

power.outputDisable()

time.sleep(1)

# monitor voltage and current

p = getPlotPanel()

p.addPlot( 'v', 211, label_y='Voltage (V)' )

p.addPlot( 'a', 212, label_y='Current (A)' )

p.setLimit( 'v', top=VMAX*1.1, auto=False )

p.setLegend( 'v', ['Set', 'Read'], location='upper left' )

p.setLegend( 'a', ['Set', 'Read'], location='upper left' )

t0 = time.time()

while True:

v, a = power.read()

p.addData( 'v', [VMAX, v] )

p.addData( 'a', [ICUR, a] )

if time.time() < t0 + DT:

continue

# increase step current

t0 = time.time()

ICUR += DI

power.output( VMAX, ICUR )

v, a = power.getSetting()

info( 'Set:%.2fV /%.2fA'% (v, a) )

# reset for next round

if ICUR > IMAX:

ICUR = IMIN

运行结果:

放大后观察:

图中所示:0~36秒工作在线性区,整个器件相当于一个纯电阻;当电流超过370mA后,达到了触发门限,电流迅速降低并稳定在100mA,直到电压去除后恢复。

于是370mA就是这个器件的跳闸电流(Itrip),保持电流(Ihold)通常是这个值的1/2。

恢复过程如果不完整(比如电流仍然比较大、降温不足),器件仍将处于“自锁”状态。

实验1:将复位电流调高,其它参数不变:

IMIN = 0.10 # Amp

测试显示:器件没能自恢复。

实验2:将电流步进值调高,其它参数不变,这样会加快测试并导致降温不足:

IMIN = 0.01 # Amp

DI = 0.1 # Amp

测试显示:器件也不能自恢复。

下面测试器件的耐压能力,每次循环都抬高输出电压上限,改动代码:

power = Korad.KA3005P(PORT)

VOLTS = arange(10.0, 31.0, 1.0) # Volt

IMIN = 0.3 # Amp

IMAX = 0.4 # Amp

DI = 0.01 # Amp

DT = 1.0 # Sec

RESTORE_TIME = 10.0 # Sec

# restore the device

power.outputDisable()

time.sleep(1)

# monitor voltage and current

p = getPlotPanel()

p.addPlot( 'v', 211, label_y='Voltage (V)' )

p.addPlot( 'a', 212, label_y='Current (A)' )

p.setLegend( 'v', ['Set', 'Read'], location='upper left' )

p.setLegend( 'a', ['Set', 'Read'], location='upper left' )

for volt in VOLTS:

t0 = time.time()

ICUR = IMIN

while True:

v, a = power.read()

p.addData( 'v', [volt, v] )

p.addData( 'a', [ICUR, a] )

if time.time() < t0 + DT:

continue

# increase step current

t0 = time.time()

ICUR += DI

power.output( volt, ICUR )

v, a = power.getSetting()

info( 'Set:%.2fV /%.2fA'% (v, a) )

# end

if ICUR > IMAX:

break

# restore for temperature drops down

power.output( 0, 0 )

t0 = time.time()

while True:

v, a = power.read()

p.addData( 'v', [0, v] )

p.addData( 'a', [0, a] )

if time.time() > t0 + RESTORE_TIME:

break

测试结果:一直加到了30V,每次器件都能恢复工作。

继续扩大单次的电流范围,增加器件上的累积热量:

IMIN = 0.2 # Amp

IMAX = 1.0 # Amp

测试结果:器件仍然继续工作,只是热量大后,跳闸电流似乎在逐渐降低。

待温度恢复后,仍然用第一个脚本检查跳闸电流,的确已经降低至300mA以下(之前为370mA)。可见散热问题直接影响到器件的寿命。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值