其中误差计算为模拟负载电流与应用笔记中给出的公式预测的负载电流之间的差值。
IOUT=VIN(R4R2)R1 通过使用 LTspice 的 Monte Carlo 函数在指定容差内改变 R3 和 R5 的值来模拟不完美匹配。输出电流的大小与R1、R2和R4的值成正比,并且这三个
电阻保持其标称值。
在本文中,我们将对现实生活与理论性能进行更全面的模拟。所有
电阻器的容差均为 0.1%,并且我们还将考虑工作温度的变化。这里的目标是真正了解在现实生活条件下我们可以期望该电路达到多少精度。
在特定温度下进行模拟
LTspice 中包含的一些
运算放大器组件会随温度变化而变化,而另一些则不会。如果有一种方便的方法来确定哪些是哪些,我一直找不到它,所以我只是使用猜测和检查的方法。
我们在之前的仿真中使用的
LT1001A 不属于温度依赖性类别。在测试了其他一些不符合要求的运算
放大器后,我发现 AD8606(一款适用于低压应用的精密运算放大器)在其宏模型中的某个位置具有温度依赖性。
我们可以通过“temp”指令将温度纳入 LTspice 的电路计算中。例如,“.temp -40 125”将在 –40°C 下执行模拟,在 +125°C 下执行另模拟。
以下电路表明运算放大器在不同温度下是否会产生不同的结果。
预期输出电流为 (0.6 V – 0.5 V)/(100 Ω) = 1 mA。以下是在“temp”指令中指定的温度下获得的模拟输出电流值:
温度变化的蒙特卡罗模拟
当我们将蒙特卡罗函数(LTspice 中的“mc”)应用于电阻值并使用“.step param run ...”指令时,仿真将由多个独立运行组成,并且对于每次运行,mc函数将从指定容差确定的范围内选择一个新值。
我们假设预期应用需要在整个汽车温度范围(–40°C 至 +125°C)内发挥功能。这也恰好是 AD8606 的工作温度范围。如果我们添加“temp”指令,运行次数将乘以列表中的温度数量。
在该范围内包含大量温度将导致模拟时间过长,并且很难想象有必要这样做的场景。运算放大器不会因工作温度的适度升高或降低而表现出严重的性能波动。
事实上,上图表明温度的影响是单调且非常微妙的。因此,我认为我们可以通过选择覆盖整个范围的几个温度来充分考虑温度影响。
这是我用于电阻容差加温度模拟的原理图:
这里是 900 次运行(每个温度 100 次运行)的模拟负载电流图。