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)。可见散热问题直接影响到器件的寿命。