作者:德州仪器 (TI) 高级应用工程师 Thomas Kuehl
在实际组装原型电路之前,利用电路仿真程序对模拟电路进行预设计和测试是工程师们一贯的做法。虽然可以从市场上购得许多基于 SPICE 的电路仿真器,但仍有许多家半导体公司将为其客户免费提供一款功能全面的精简版仿真程序解决方案。相对而言,该仿真程序解决方案提供了较少的分析选项、更少的方便特性,有时还限制可连接的节点和器件。然而,TINA-TI(TI 为设计人员提供的产品)功能非常强大,可以进行几乎所有包括信号调节元件和传感器在内的电路仿真。
电阻温度检测器 (RTD) 是一款常见的传感器,通常用于温度测量。其阻抗以近乎线性的方式发生变化——随着温度的变化而不断升高。虽然有些 RTD 可以实现 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />-200℃到 +850℃的最大测量范围,但通常它们总是被限定在较小的测量范围,如:-75℃ 到 +250℃或 -200℃到 +650℃。具体的测量范围取决于具体的应用。RTD 为电阻性元件,由不同金属和合金制成,如:铂金、铜、镍、镍铁合金以及钼等金属。每种类型的电阻性元件都有其各自的特殊的温度测量范围、电阻以及精度要求。就常见的 RTD 而言,元件电阻范围从 25Ω 到 1kΩ 不等。
Pt100 是一款 100Ω 的铂金 RTD,应用范围很广,这是因为它的性能在温度变化时也很稳健,并有很广的温度适应范围、合理的价格以及全面的功能性。其可在 0℃以及 ±0.1℃或更高精度条件下得到应用,而且其采用双线、三线及四线协议 (arrangement),可用于 Kelvin 传感连接。
尽管 SPICE 仿真器库涵盖了可应用于广泛系列电子组件的程序,但在该库中恐怕还是找不到 RTD 仿真器模型的身影。不过,您可以利用该仿真器库中现有的其它常见电路元件随时创建一个 RTD 仿真器。由于 RTD 是一款带有稳健温度系数的高精度电阻器,因此,最简单的 RTD 模型可以基于基本的 SPICE 电阻模型。
SPICE 电阻数学模型的形式以及数值如下:
(SPICE 电阻值)R(1+TC1.(T-Tnom)+TC2.(T-Tnom)2) 方程式 1
其中,R 为电阻乘法器,TC1 为线性温度系数 ℃-1,TC2 为二次温度系数 ℃-2。
方程式中最高的系数为二次。这一点很重要,必须引起注意,因为这将限制利用 SPICE 电阻模型对 RTD 响应建模时的准确性。高精度 RTD 数学模型随着温度的变化(IEC751 标准,-200℃ 到 850℃)有四次的电阻响应,其是基于 Callendar-Van Dusen 方程式确定的:
R(t)=Rnom(1+a.t+b.t2+c.t3(100-t)) 方程式 2
就 Pt100 而言:
Rnom=100Ω
a=3.90830x10-3
b=-5.77500x10-7
c 在 0℃≤t<850℃ 的范围内,为 0
c 在 -200℃<t<0℃ 的范围内,为 -4.18301x10-12
其中,t 表示温度,为0℃,Rnom为 RTD 给定的电阻值(通常是在 ℃ 时的电阻值)。RTD 的标准化多项式系数为 a、b、以及 c。这些系数根据参考标准如 IEC751、DIN43760、JISC1604 等的不同会有细微的差别。
当温度为 0℃时,乘积项为 0,方程的计算结果将是额定 RTD 电阻值 (Rnom)。
如果将 RTD 的温度限制在 ≥ 0℃,则系数 c="0",且方程式被简化为二次多项式:
R(t)=Rnom(1+a.t+b.t2) 方程式 3
这与方程式 1 非常一致。因此,在方程式 3 中插入 a 和 b 系数以获得在一定温度范围内的 RTD 电阻值就变得轻而易举了。对以上系数的 Pt100 应用方程式 3,结果为:
R(t)=100「1+3.90830.10-3.t+(-5.77500.10-7.t2)」 方程式 4
图 1 Pt100 RTD 电阻器仿真响应
方程式 4 中定义的电阻模型可进行温度变化时的 Pt100 仿真。该模型称为RTD1,其响应如图 1 所示。该模型虽然是个基于电阻的 RTD 简单模型,但对需要将仿真温度限制到最低零度,以及最高温度为仿真软件或 RTD 本身温度限值的应用来说,是非常有用的。
如果在零度以下使用该电阻器模型,则在达到 -200℃ 时,RTD 电阻将有 +1Ω 的误差。表面看来,这是一个很小的误差,但相对于在 -200℃时理想的 18.508Ω RTD 电阻而言,该误差已经非常大了。因此我们就需要一款稍微复杂且更高级的模型来获得最低温度时的最高精度。
当需要独特的电路元件进行仿真时,普遍的作法是开发一款 SPICE 子电路(一般称为宏模型)。通常来说,该子电路由常见的 SPICE 电路元件组成,如:无源器件、晶体管以及独立源等。此外,该子电路还包括一些受控源,如:压控电压源 (VCVS) 以及压控电流源 (VCCS) 等。结合使用时,它们可以被看作是对更复杂 SPICE 模型的电气性能特征进行良好模拟的一个元件。此外,其还实现了更快的仿真时间,并且可以轻松地将其插入到整个电路中,或从整个电路中拔出。但是在开发 RTD 宏模型之前,我们有必要对仿真程序温度特性进行讨论。
当在宽泛的范围内使用基于 SPICE 的仿真器时,您必须要了解该程序的最低和最高仿真温度工作范围。例如:对 TINA 而言,仿真温度范围为 -100℃到 +500 ℃。如果要在 RTD 的全额温度范围内对 RTD 进行仿真,那么需要另一种途径来模拟温度范围。
需要考虑的另一点就是,仿真温度可能是对所有电路元件而言的整体相对温度。倘若是这样,则对有很大扩展的温度范围进行仿真时,将不仅是 RTD 仿真,也包括了对仿真温度内所有元件的仿真。TINA 中无源和有源组件的默认设置为相对温度模式,但也有很多组件的默认设置为绝对温度模式。绝对温度模式设置使组件处于固定的温度,并在该温度保持其电气特性。电阻器、电容器、二极管、晶体管均属于这种类型的组件,它们既可以将温度设置为相对温度模式也可以将温度设置为绝对温度模式。
诸如运算放大器和仪表放大器等比较依赖其自身复杂宏模型的有源电路,可能不具备绝对温度配置 (fixing) 选项。设计人员会故意让它们有温度漂移,以提供一种在一定温度范围内评估电路的 dc 和 ac 性能的方法。尽管您可能希望随着温度的改变只有 RTD 发生漂移,但随着温度的变化,宏模型电路也会与 RTD 一起有温度漂移,而这可能并非我们的本意。
运算放大器及其它宏模型的设计通常是为了模拟在产品说明书中规定的温度范围之内的器件性能。例如,大部分 TI 运算放大器宏模型所规定的温度范围为 -40℃ 至 +125℃。如果整个 RTD 电路在 TINA-TI 最大仿真范围内发生漂移,即 -100℃ 至 +500℃,那么一旦温度超过宏模型所规定的范围时,运算放大器宏模型得出的电气性能结果就不太可靠。在温度超出规定范围时,这些响应可能就会不能准确地反映其真实的性能。即使这些响应反映了真实的性能,出于物理层面或散热角度考虑,对现实产品进行这样的操作也是不切实际的。
通常情况下,在仿真电路中集成一个温度传感器(如 RTD),其目的是使接口电子维持一个恒定温度,而仅仅使传感器发生温度漂移。或者,使温度传感器温度维持一个恒定温度,而使接口电路发生漂移,并观察其在一定温度范围内的变化。前一种情况需要借助某种方法使所有的温度传感器接口电子维持恒温,并且只有传感器在一定温度范围内发生漂移,而该范围可能超出仿真器软件的规定范围。
克服仿真器温度范围局限性的一种方法就是设计一款可以对不同激源 (stimulus) 产生响应的RTD宏模型。例如,可以把一个电压或电流单位换算成一个温度单位,如将 1V 电压或 1mA 电流换算为 1℃。就仿真而言,温度范围基本就不存在局限性了。利用一个电压或电流控制的电阻器作为 RTD 宏模型的基础部件,这样就可以进行单位之间的换算。因此,压控电阻器就成为实现该换算的比较理想的部件。
eCircuit Center(http://www.ecircuitcenter.com)上面可以找到极佳的 SPICE 资源。该网站提供了比较全面的 SPICE 信息和模型。所列出的诸多模型信息中,有一条信息是关于压控电阻器 (VCR) 的讨论。VCR 是基于无电阻模型,该模型符合基本欧姆定律(V=I x R)。在本应用中,R 为一个电气等效电阻;I 为流经该电阻的感应电流。使用一个零电压 (0V) 电压源,在 SPICE 里对电流表进行函数操作。电阻器的电压 (V) 为感应电流与等效电阻值的乘积:
电阻器电压=﹛I(VSense).R)﹜
利用方程式计算输出电压值的方法被广泛应用于 RTD 宏模型的开发设计。
通过采用SPICE模拟行为建模 (ABM) 选项可以使模型设计更为灵活。简单的说,您可以创建一个受控的电压源和电流源,其值可通过数学表达式计算得出。这个值可以是一个简单线性关系式的解,也可以是一个更复杂关系式的解,例如与 RTD 相关的多项式响应。下面给出了一个 SPICE VCVS 与 ABM 的组合模型的表达式例子。上面给出的方程式 3 将应用到该模型中:
Eth 1 3 值=﹛I(Vsence)*Rnom*(1+(A*V(4,5)+(B*PWR(4,5),2))))﹜
Eth 用来表示 VCVS 指示器。在节点 4 和节点 5 施加一个电压可以控制 VCVS 的输出。RNOM 和系数 A 及 B 均由方程式 3 计算得出。Vsense 为一个独立的零压电压源,其可以感应到流经 RNOM 的电流。需要额外的语句 (statement) 来构建完整的宏模型,另外还需要运行一个单独的 TINA 程序来创建宏模型符号。本文对此操作程序将不作论述。
图 2(见下页)为典型的 RTD 宏模型示意图。
图 2 典型的 SPICE RTD 仿真器模型
图 3 RTD 仿真器响应
铂金 RTD 有不同的额定电阻值和相对唯一的系数。因此,参照网表 (Netlist) 中提供的数据可以很容易地更改它们的值。这就可以很容易地实现用(参数)关键字或者参数表达式来表示变量。一款测试电路应包括典型的 RTD 宏模型和图 3 所示的仿真响应。与温度相对应的控制电压在 -100℃ 至 +850℃的温度范围内波动变化。然后,计算并绘制出与温度相应的 RTD 电压。可以使用 TINA 后处理分析工具绘制出图像。
典型的 RTD 宏模型可以实现电压转换为摄氏度的换算。这在整个 Pt100 的温度范围内都非常有用。但是,由于该模型过于简易,在零摄氏度以下时,随着温度越来越低,换算就越来越不精确。
典型的 RTD 宏模型可以用来精确模拟另外一种电阻为 100Ω 的标准 RTD 电路。SAMA RC-4-1966 是一款 US RTD 标准电路,该电路用材与 Pt100 有细微不同,其材料为铂合金。规格为 98.129Ω 电阻(摄氏零度时),多项式系数与 Pt100 也有细微差别。与 Pt100 不同,零摄氏度以下时该电路不需要校正。该 RTD 电路规定的温度最小时,也可以使用典型的 RTD 宏模型。只需代入 Rnom和典型的 RTD 网表中规定范围内的新系数,该模型就可以和这种特殊的 RTD 电路一起使用。
要从 Pt100 RTD 宏模型上获得准确的性能参数,就需要在零摄氏度以下纳入第三和第四阶系数项。以上工作可以通过使用曲线拟合技术来完成,但是这样做就需要对响应方程式进行进一步的分析和修改,甚至需要更高阶多项式系数。在一些温度范围和/或端点中,得出的一些结果可能会存在难以接受的误差。仅在零摄氏度以下时,一个二阶压控电压源 (VCVS) 才可变为有源状态,对其进行切换是一个正确的选择,尽管这样有些强制性。可以对基本 RTD 宏模型进行修改,以在电路中添加一个二阶压控电压源 (VCVS) 或VCVSB,在该电路中其可与 VCVSA 在温度为零度以下时合在一起。
将 VCVSB 同 VCVSA 一起连接至电路,此操作可通过 SPICE 中的压控开关模型实现。这样做的目的是,当在此情况下的温度或等效电压跨越零摄氏度时,使用开关将 VCVSB 连接至电路。在 SPICE 中同时提供了电压控制和电流控制开关,在该应用中电压选项是最容易运用的。在此处,VCVSA 控制电压为一个方便的电压源,该电压源可用来激活将 VCVSB 连接至电路的压控开关。
这是一个很简单的概念,但是由于压控开关 (VSWITCH) 模式包括一些非理想的特性,所以它们的表现同一个理想的开关相比还是有所不同。这些非理想的特性包括 RON和 ROFF电阻以及开关电压阈值。当开关处于关闭状态时,压控开关实际就是在 ROFF和 RON 之间进行切换,反之亦然。另外,瞬时的开/关中断会对电路造成严重损坏,而且对此进行持续的集中仿真较为困难。由于 SPICE 动态范围的限制,SPICE 使用说明手册中推荐开-关比率应低于 1012。在 RTD 仿真器模型中,RON的电阻值设定为 0.1 Ω,ROFF的电阻值设定为 1 MΩ。
控制开关状态也就是选择VON和 VOFF开关电压。当控制电压低于 VOFF时,开关即为断开状态,并且电阻为 ROFF。同样地,控制电压高于 VON时,开关电阻即为 RON。开关获得增益的区域即为 VOFF和 VON之间的过渡区,该区域越窄,那么获得的增益就越高。值得注意的是 SPICE 告诫我们不要使该区域太狭窄。我们通常需要对此进行正确的设置。
VCVS 开关功能需要一个 SPDT 开关。使用两个 SPST 开关也可以实现上述目的,并且要求必须谨慎地设置这些开关的开/关阈值,这样它们的开关转换 (switch transition) 可以在零度进行。如若不然,开关接触点将会出现失灵的现象。
首次对该模型进行测试,结果显示所有功能都能正常地运行。但当温度下降到零摄氏度以下时,RTD 电阻值就会出现一些问题。对模型进行仔细检查后发现,0.1Ω 开关电阻 RON被忽略了,当开启开关时它开始起作用。给电路添加一个配置好的 VCVS,以此来补偿开关开启时的电阻。这样就减去了相当于压降的电压,该压降是由流经 RON的电流 ISENSE产生的。这个 VCVS 被标注为 ERON,其值取决于 ABM 值语句 (value statement),而该语句中的电压是电流 ISENSE的函数。
最后,再添加一个压控的、有电压源的 VCVSC,以此来提供一个 RTD 电阻的直接读数计。其在给定温度下的输出电压值应与 RTD 的电阻值成正比,1V 输出电压表示 1 Ω RTD 电阻值。该电阻是一个 RTD 电路两极的电压和流经整个电路电流(即 ISENSE)的函数。为了方便起见,我们添加了该读数表。在监控器两端跨接一个伏特计也是一个很好的选择,倘若采用的 SPICE 仿真器可以使用开放式终端,那么就可以去掉该伏特计。
图 4 是一个完整的全温度范围 Pt100 宏模型示意图。最终电路是一个 RTD 仿真器,在温度跨越零摄氏度时,其可以顺利地在 VCVSB 中进行开关操作。
图 4 完整的 RTD 仿真器模型
在附录 1 中给出了一个完整的 Pt100 RTD 宏模型的 SPICE 网表。表中所列数据 (syntax) 同大部分版本的 Cadence PSPICE 一致。如果您的仿真程序基于一个 SPICE 引擎,那么您应该会很轻松地实现数据转换。网表包括了注解,使您更容易改动特定的 RTD 参数。
RTD仿真器允许将对应于输入电压的温度改变为任何希望的值,但是要确保特定RTD的温度适用范围。在 -200℃ 至 +850℃的范围内测试宏模型时,电阻模拟 Pt100 多项式到至少小数点以后 4 位,包括有开关状态的测试温度,该温度介于零上 0.1℃ 和零下 0.1℃ 之间,在此温度区间 SWA 和 SWB 进行状态切换。在使用宏模型时,需要确保 RTD 电流是在真正 RTD 器件的建议操作范围之内。该 RTD 宏模型不包括自加热效应。
RTD 宏模型,或称作 RTD 仿真器(可能是现在最恰当的叫法),单独使用时用途非常有限。但是,在同一个 RTD 接口电路结合使用时,就可以进行更有价值的电路模拟。图 5 显示了一款带有 RTD 仿真器连接至 INA326 仪表放大器的应用电路。INA326 可提供电压增益和信号调节。选择可以使输出电压摆幅在接近 0V(RTD 温度为 -200℃ 时)和 4.096V(RTD 温度为 +850℃时)之间变化的参考引脚电压。该输出电压范围与单电源 ADC 的输入范围匹配良好。
图 5 具有 INA326 放大器的 Pt100 RTD 仿真器
就本应用电路而言,TI 推出的 12 位 ADS7829 ADC 是一个不错的选择,该 ADC 的输入范围为 0V~4.096V。用分裂电源轨对 INA326 进行供电可以很轻松地使输出电压在 0V 至负电压之间波动。由于大部分 RTD 均为慢响应传感器,所以 INA326 仪表放大器的带宽限定在 100Hz,从而可以充分利用 ADC 高信噪比的优点。一些应用电路允许您使用一个更低的截止频率。此处,-3dB 的带宽由一个二阶低通函数设置,该函数由在输出端连接的 RC 网络和 INA326 的 R2 引脚组成。在产品说明书中可以找到关于怎样选取组件值的相关信息。图 6 显示了在整个温度范围内模拟 RTD 电阻值和 INA326 直流输出的电平。
图 6 在整个温度范围内,Pt100 仿真器电阻和 INA326 电压响应
登录 TI TINA-TI 网站 http://www.ti.com 可以下载 RTD 宏模型 RTD3。
特别感谢
本文作者要感谢 TI 线性应用高精度模拟产品部的同事 Tim Green 和 Neil Albaugh(现已退休),感谢他们在模拟电路领域和建模方面颇具价值的专业知识和建议。此外,我还要感谢模拟与 RF 模型公司的 Bill Sands,感谢他对如何使用曲线拟合技术进行 RTD 建模提出的真知灼见。最后,我还要感谢 eCircuit Center 的Rich Faehnrich,感谢他为该工程社区提供了内容丰富的 SPICE 资源地址,实践证明这些资源地址在 RTD 宏模型开发阶段提供了很大的帮助。
作者简介
Thomas Kuehl 现任 TI 高性能线性产品部高级应用工程师。在加盟该应用产品部之前,他从事产品工程长达 25 年之久。他的业余爱好广泛,其中包括:弹吉他、业余无线电通信 (AC7A) 以及户外郊游。Thomas 现已发表了数篇有关通信天线的文章,如欲联系作者,请发送邮件至 ti_tomkuehl@ti.com。
附录1:使用 PSPICE 数据的 RTD 仿真器网表
*带有监控器的宽温度范围的 RTD 仿真器
*修订版 A,作者:T E Kuehl,2006 年 7 月 27 日
*RTD 温度范围为 -200℃ 到 +850℃ (IEC)
*该模型包括零度以下 (t<0℃)、三阶和四阶项
*RTD+ 表示 RTD 正连接
*RTD- 表示 RTD 负连接
*VT+ 表示与所测温度相对应的正电压
*VT- 表示与所测温度相对应的负电压
*Mon+ 表示外部计量表连接
*Mon- 表示外部计量表连接
***请注意,TINA 7.0 版 (TINA-TI 7.0) 是否会出现仿真误差
***选择“分析”菜单 (tab),然后“设置分析参数”接下来点击
***“手形符号”接下来点击“浏览全图”。找到分路电导 (S) 并将其
***从 0 修改为 le-12。
*连接 VT+ VT- Mon+ Mon- RTD+ RTD-
.subckt RTD3 4 5 6 7 1 2
***RTD 系数
***Pt100
.参数 Rnom =100
.参数 A =3.9083e-3
.参数 B =-5.775e-7
.参数 C =-4.23225e-12
***压控电压源
***压控开关
*** SWA/SWB 开启电阻的系数,Ron=0.1Ω
ERon 3 10 value= (I(Vsense)*0.1)
*** RTD 电阻值
Vsense 3 2 DC 0
结束 RTD3
用户292017 2010-3-5 14:38