可靠性加速实验时如何确定样本数?
经常有同学问可靠性评估时如何确定样本量,今天宋老师给一个具体电子产品的常用计算的案例给大家做说明。
如果,我们预计生产10万台产品某电子产品,产品的质保期3年,使用温度为低温-10℃,高温40℃,为了加速测试,通过HALT实验指导产品破坏限为60℃,因此我选用加速应力50℃,置信区间为0.95,激活能为0.5,3年期故障率为0.3%和可靠性测试时间1天,选择加速应力仅为热应力,那需要多少样品来测试?
要回答这个问题,需要结合可靠性工程中的几个核心概念,包括Arrhenius方程、加速寿命测试(ALT)、置信区间、故障率和样本量确定。
-
Arrhenius方程:用于建立温度对产品寿命的影响关系;
-
加速寿命测试 (ALT):在增加失效速率的条件下(例如提高温度)更快地测试产品寿命;
-
置信区间:统计范围内对测试结果的信心等级;
-
故障率:产品在单位时间内发生故障的概率;
-
样本量确定:根据以上各因素确定进行测试所需的合理样本量。
解决步骤:
第一步:计算加速因子(AF)
使用Arrhenius模型计算加速因子:
[ AF = e^{\left(\frac{Ea}{k}\left(\frac{1}{T_{use}} - \frac{1}{T_{test}}\right)\right)} ]
其中:
-
( Ea ) 是激活能,本题中是0.5 eV(需要转换为焦耳,1 eV ≈ 1.602 x 10^-19 J);
-
( k ) 是Boltzmann常量,( 8.617 x 10^{-5} ) eV/K;
-
( T_{use} ) 是实际使用温度的绝对温度,需取-20℃到40℃的平均温度并转换为开尔文(K = ℃ + 273.15);
-
( T_{test} ) 是测试温度的绝对温度。
第二步:确定实际使用时间到测试时间的转换
根据加速因子计算等效测试时间:
[ t_{use , to , test} = \frac{t_{use}}{AF} ]
这里的( t_{use} )是3年,需要转换为天。
第三步:计算所需测试时间和故障率
我们已经有了目标故障率和测试时间(1天),需要计算在测试条件下1天内预期的故障数量:
[ Expected , Failures = \text{Total Units} \times Failure , Rate \times t_{use , to , test} ]
第四步:确定样本量
使用置信区间和预期故障数来确定所需的最小样本量。需要根据统计分布或表格来确定,例如使用二项分布或泊松分布表。
示例计算:
首先,我们需要转换激活能为焦耳:
[ Ea (J) = 0.5 , eV \times 1.602 \times 10^{-19} J/eV ]
接着,计算平均使用温度(以开尔文为单位):
[ T_{use(avg)} = \frac{-20℃ + 40℃}{2} + 273.15 ]
[ T_{test} = 60℃ + 273.15 ]
然后,应用Arrhenius方程计算加速因子:
[ AF = e^{\left(\frac{Ea(J)}{k , (eV/K)}\left(\frac{1}{T_{use(avg)} (K)} - \frac{1}{T_{test} (K)}\right)\right)} ]
计算实际使用时间到测试时间的转换:
[ t_{use , to , test} = \frac{3 , years \times 365 , days/year}{AF} ]
接着,估算预期的故障数量:
[ Expected , Failures = 100000 \times 0.005 \times t_{use , to , test} ]
最后,查询置信区间和泊松分布表来确定样本量。
下面给出python代码计算
为保持简洁,以下例子假定使用温度恒定为 25°C(第一个与第二个使用温度的平均值)。首先,根据给定的信息计算加速因子。
-
将摄氏度转换成开尔文:
-
( T_{use_avg} = 25+ 273.15 = 298.15 K )
-
( T_{test} = 60 + 273.15 = 353.15 K )
计算 AF:
import math
E_a = 0.5 # 激活能,单位 eV k = 8.617e-5 # 玻尔兹曼常数,单位 eV/K AF = math.exp((E_a / k) * (1 / T_use_avg - 1 / T_test))
-
使用样品量公式并且调整加速因子:
CL = 0.95 # 置信水平 FR = 0.0001 # 故障率 time_ratio = 1 / (3 * 365) # 1 天测试相对于三年使用 # 非加速条件下的样品量估算 n_non_accelerated = math.ceil(math.log(1 - CL) / math.log(1 - FR)) # 考虑加速因子和测试时间 n_accelerated = math.ceil(n_non_accelerated / (AF * time_ratio))
注意,由于故障率较低、置信水平较高,得到的样品数可能非常大,可能在实际测试中是不切实际的。在现实中可能需要调整测试条件或接受较低的置信水平。
-End-
惟有创新和质量才能穿越企业兴衰周期的束缚,无论创新还是质量的发展,均源于实践者之间思维的碰撞以及企业一线实践的总结提炼。这里有对创新与质量管理的方法和体系的实践感悟,对案例的研究,还有对商业模式底层的探究。企业成功有方法,老宋与你同学。