PT100精密测温电路设计:四线制接法、比例法与ADC选型全解析

发布时间:2026/10/4 23:16:52
PT100精密测温电路设计:四线制接法、比例法与ADC选型全解析 做PT100测温的硬件说难不难说简单也真不简单。我最早入门时也觉得这东西不就是一颗铂电阻加个ADC的事结果被项目里的精度要求反复按在地上摩擦同一块板子换根线读数就偏换台电源又偏温度一上去数字就开始漂。最后我才明白PT100本身只是一颗传感器真正决定“精密”二字的是一整套电路设计、接线方式、器件选型和校准流程的配合。这篇硬件手册就是把我之前做PT100精密测温电路时踩过的坑、试过的方案和最终沉淀下来的设计思路整理出来适合刚接触模拟测温的硬件工程师也适合想把手头仪表测温精度再往上提一档的嵌入式开发。文章会从原理讲到接线从器件选型讲到参数计算最后给出一份可以直接抄作业的四线制测温电路实操方案。1. 拆解精密测温的底层逻辑PT100为什么难做1.1 从0.385Ω/℃开始理解信号有多小PT100本质上是一颗正温度系数的铂电阻IEC 60751标准规定它在0℃时阻值正好是100.00Ω在100℃时阻值约138.51Ω。按这个数据算0到100℃的平均灵敏度大约是0.385Ω/℃。单看这个数值你可能觉得很容易处理但把它放进电路里一算问题就暴露出来了。假设你用一个1mA的恒流源给PT100供电温度每变化1℃PT100两端的电压只变化0.385mV。这是什么概念普通12位ADC在2.5V参考电压下的1个LSB大约是0.61mV也就是说直接采集的话1个数字跳变对应的温度可以达到1.6℃。如果项目要求的测温精度是±0.1℃光靠12位ADC是不可能完成的必须在“激励电路”“信号放大”“ADC位数”“噪声抑制”这几个方向上想办法。PT100电阻与温度之间也并非严格线性。0到100℃区间用线性近似误差还不算大但做0到200℃甚至更大跨度测量时非线性就必须处理了。IEC 60751给出的近似公式为Rt R0 × (1 A·t B·t²)其中A约为3.9083×10⁻³B约为-5.775×10⁻⁷。在200℃时如果直接按线性0.385Ω/℃计算阻值会偏大好几欧姆换算成温度会有数摄氏度的偏差所以精密测量要么分段查表要么用多项式拟合这一点后面讲到软件补偿时再展开。1.2 恒流源激励与比例法为什么比例法是工程首选想要把PT100的电阻变化转换成ADC能读取的数字最直接的方法是给PT100通过一个恒定电流然后测量它两端的电压。这就是恒流源激励法。第二种方法则更巧妙用一个相同的电流同时流过PT100和一个精密参考电阻Rref分别测量两个电阻上的电压然后把两个电压相除得到PT100与参考电阻的阻值比再换算成温度。我自己的经验是恒流源激励法听起来简单做起来却绕不开“恒流源性能”这道坎。普通三端稳压芯片加电阻凑出来的恒流源电流会随环境温度、电源电压变化哪怕只漂移1μA在100℃时就能给测温结果带来约0.1℃的偏移。精密运放加基准源构成的恒流源当然可以做得很好但成本和PCB面积都会上去。相比之下比例法对电流源的绝对值要求降低了很多。因为PT100和Rref流过的是同一个电流电流的任何变化都等比例地体现在两个电压上测量比值时电流的绝对值就被消掉了。实际电路里我习惯把ADC的参考电压直接接到Rref两端让ADC用Rref上的电压作为转换参考这样ADC读到的码值天然就是Vpt除以Vref也就是Rpt除以Rref不用做任何复杂的换算电流源漂移、参考电压漂移都自动抵消掉了。这个方法实测下来非常稳是精密测温工程项目里最可靠、最高效的方案。2. 接线方式决定误差上限二线、三线与四线制2.1 二线制为什么做不了“精密”二线制测温是最简单的接法两根导线把PT100和测量电路连起来恒流源流过导线到达PT100电压测量也是在这两根线上完成。问题是测量端读到的电压包含了导线电阻上的压降。以1mA激励电流、每根导线电阻0.5Ω计算两根导线一共引入1Ω的额外电阻体现在测温结果上就是温度偏高了大约1除以0.385也就是2.6℃。这还只是用了0.5Ω导线的情况现场如果线缆更长或者线径更细导线的引入误差会成倍放大而且导线电阻本身还会随环境温度变化这种误差不是简单校准一次就能消除的。所以二线制只适合测温精度要求不高的场合比如设备外壳的温度指示、简单的温度报警谈不上“精密”。2.2 三线制工业现场的折中方案三线制的思路是让测量电路能够把导线电阻“对消”掉。工业温度变送器、PLC模拟量采集模块里应用最广的接法是让两根相同规格的导线分别接在电桥的两个相邻桥臂上导线电阻在电桥平衡条件下相互抵消第三根线则用于补偿电源线或提供参考电势。也可以在恒流源激励加仪表放大器的方案里用三线制来做开尔文补偿只是效果逊于四线制。三线制的优势是比四线制少一根线长距离敷设时线材成本更低现场施工也更方便。在100米以内的工业现场用三线制配合适当的校准把系统误差控制在±0.2℃以内通常不难。缺点是它依赖导线长度、电阻对称性如果两根导线的实际阻值差异较大抵消效果就会打折扣所以做三线制时务必选用同规格、同长度的线缆并且尽量减少中间接头。对精度有更高要求的实验室环境我一般直接跳到四线制。2.3 四线制开尔文连接让导线电阻彻底“出局”四线制是精密测温最可靠的电气连接方式它把电流回路和电压采样回路完全分开。PT100的两端各接两根线其中两根专门给恒流源传输激励电流另外两根连接到高输入阻抗的电压测量端。因为电压测量端几乎不吸取电流所以电压线上的压降可以忽略不计导线电阻对测量结果的影响就彻底消除了。下面这个接线示意是我在项目里用四线制PT100和ADC模块对接时的连线方式恒流源输出(I) ── 红线A ── PT100引脚1 ── 白线S ── ADC差分输入正端(IN) │ 恒流源回路(-I) ── 红线B ── PT100引脚2 ── 白线S- ── ADC差分输入负端(IN-)PT100引脚1上同时连着激励线和电压采样线PT100引脚2也一样。虽然激励电流经过引脚接点时可能会在铜箔上产生一个极微小的压降但只要采样线从PT100引脚位置直接引出而不是从电流走线末端引出四线制的误差就会比三线制小一个数量级以上。三种接法放到一起对比各自的定位就很清晰了接法消除线阻能力引线数量实现成本典型应用二线制完全不能消除2根最低低精度温度指示、报警三线制基本消除对称线阻3根中等工业变送器、PLC采集四线制彻底消除线阻4根较高实验室仪表、精密温控做0.1℃精度级别以上的测温系统只要条件允许无脑选四线制。尤其配合后面的比例法方案四线制比例法基本就是目前低成本高精度测温的黄金组合。3. 关键器件选型与参数计算从激励电流到ADC分辨率3.1 激励电流定多少自热效应与信噪比的取舍激励电流的选择是设计PT100测温电路时要做的第一个算术题。电流太小PT100两端电压太小后面ADC的输入信号被噪声淹没电流太大PT100自身发热会带来“自热效应”导致测得温度比真实环境温度偏高。PT100的自热功率等于I²乘以Rpt。以1mA为例0℃时P1mA²×100Ω0.1mW。如果探头的热阻是200℃/W自热温升大约0.02℃对一般应用完全可接受如果探头被埋在热阻较高、散热不好的介质里热阻可能上升到500℃/W以上自热温升就会接近0.05℃。想要把自热压到极低可以改用0.5mA激励此时0℃时的自热功率只有0.025mW。但降低电流的代价同样是真实的在0.5mA下0到100℃对应的电压变化是19.25mV折合0.193mV/℃对ADC有效位数、放大电路噪声的要求更高。所以我通常第一版设计直接选1mA如果测试发现自热明显再降为0.5mA并同步检查ADC的分辨率和噪声是否依然够用。这个取舍没有绝对标准项目里最好用实际探头在目标介质里做一次对比测试判断自热到底影响了多少。3.2 参考电阻、ADC与PGA怎么搭配比例法方案中Rref的选择有一个很容易忽略的原则Rref的阻值必须大于测温范围上界对应的PT100阻值。因为比例法里ADC的参考电压就是Rref两端的电压如果Rpt的最大阻值超过Rref输入电压Vpt就会超过参考电压转换结果出现饱和整个量程就废了。假设你的测量上限是200℃PT100在200℃时阻值约为175.84Ω那么Rref最小也要选200Ω。考虑留出适当裕量我习惯选200Ω的精密电阻。这样在室温范围PT100的电压一直小于参考电压转换比值始终小于1。Rref的温度系数直接决定了测量的稳定性最好选±5ppm/℃以内、初始精度±0.1%的金属箔电阻或低温漂贴片电阻普通厚膜电阻就不要拿来用了。ADC的选择上如果你想要极致的简单和稳定我首推24位Σ-Δ型ADC。以TI的ADS1220为例它内部集成了可编程增益放大器PGA支持外部参考四路输入可以配成两路差分。配置PGA增益为8、数据率20SPS时一个温度周期的有效分辨率达到10μV级别完全可行。用它来测量1mA激励下的PT100理论上温度分辨率能轻松做到0.001℃量级当然实际系统噪声会把这个值拉大但做到0.01℃的分辨率并不难。相比之下用普通12位ADC做精密测温哪怕引入10倍放大器受限于放大器的失调漂移和噪声最后能稳定到0.1℃都非常费劲。以下是我做选型时常看的一份对照表方案典型器件分辨率抗噪能力电路复杂度适用场景12位SAR ADCADS1110等约1.6℃/LSB无放大一般低低成本粗测24位Σ-Δ ADCADS1220、ADS1247远优于0.01℃较强中精密测温高精密仪表放大器24位ADCINA823ADS1256优于0.005℃强高实验室级设备3.3 运放、基准与布线的几个硬指标如果选用了自带PGA的Σ-Δ ADC外置运放的环节可以省掉这是简化设计的关键。PGA增益设置要结合测量范围和参考电压来算。ADS1220内部PGA在增益8时差分满量程是±VREF/8如果VREF是200mV量级Rref200Ω、I1mA满量程是±25mV明显不够。所以这种方案里我不会用外部参考电压而是直接让Rref电压作为ADC的参考输入让输入信号和参考电压同比例缩放这样PGA只放大差分信号不会触到参考电压上限。实际上如果使用外部独立VREF则建议VREF取2.5V以上并配合适当PGA。基准和电源是精密模拟电路的一半。恒流源如果用运放搭建参考基准选用REF5025之类低温漂的2.5V基准模拟供电用LDO单独供电并且避免和继电器、显示屏等开关性负载共用一路电。PCB布局上PT100的激励走线和电压采样走线尽量靠近形成“开尔文连接”后再连到ADC模拟地和数字地在ADC芯片下方单点汇合避免大电流地平面把噪声灌进采样回路。4. 实操搭一套0到200℃四线制PT100测温电路4.1 系统整体连接与原理框图下面是一套我已经在项目里跑通的四线制PT100测温电路核心思路是用比例法配合ADS1220完成电阻测量供电和恒流源部分用最简单可靠的方案实现。整体结构分成三块恒流源激励、四线制PT100连接、24位Σ-Δ ADC采样。恒流源我采用REF200一颗芯片内部集成了两组100μA恒流源把两组并联可得到200μA再经一级输出缓冲放大转换成1mA。这样做的原因是REF200的恒流特性比用LM334搭出来的电路稳定性高得多温度漂移小一个数量级。如果你手头没有REF200也可以用“低压差基准运放精密电阻”搭建恒流源但温漂和噪声需要用基准的指标严格把关。ADC部分采用ADS1220外部晶振选32768Hz通信走SPI主机使用STM32或ESP32均可。ADS1220的AIN0和AIN1接PT100的电压采样线AIN2和AIN3暂不接REFP1、REFN1接Rref两端把Rref电压作为转换参考。这种接法下ADC输出码值直接表示Rpt与Rref的比值比例关系非常干净。接线示意大致如下3.3V ─ VDD SDA/SCL/CS/DRDY ─ MCU SPI 恒流源1mA ── PT100引脚1 ── 采样线S ── AIN0 恒流源回路 ── PT100引脚2 ── 采样线S- ── AIN1 恒流源1mA ── Rref(200Ω) ── GND REFP1 ─ Rref高端 REFN1 ─ Rref低端4.2 参数配置与完整标定流程上电后先配置ADS1220寄存器。关键参数包括PGA增益设置为主增益2或4取决于你的参考电压和输入范围数据率设为20SPS输入通道选AIN0/AIN1差分内部温度传感器关闭。转换结果读出来以后用下面的公式反算PT100阻值Rpt (CODE / CODE_MAX) × Rref其中CODE是从ADS1220读到的比例码值CODE_MAX是满量程对应的码值24位ADC按8388608的一半计算具体视二进制补码格式而定。完整代码逻辑里我习惯做一个循环采样取平均积累32次再算一次结果能非常有效地抑制工频和开关电源噪声uint32_t sum 0; for (int i 0; i 32; i) { sum ads1220_read_single(); // 读一次转换结果 } double ratio (double)sum / (32.0 * FULL_SCALE); double rpt ratio * RREF_VALUE; double temp calc_temp_from_rpt(rpt);标定是系统误差管理里不能跳过的一步。我建议至少做两点标定0℃用冰水混合物100℃用沸水浴。把探头放进冰水混合液中读取实际计算出的Rpt记为R0_cal再把探头放进沸水浴记录R100_cal。如果R0_cal相对于100Ω偏了一个固定偏移多半是器件偏差或PCB铜箔残留电阻可以在软件里做偏移修正如果R100_cal与R0_cal的间距和标准值的间距不成比例则说明恒流源或参考电阻的增益存在比例误差需要做增益校正。修正公式可以简单写成Rpt_corrected Rref × ratio × K_cal R_offsetK_cal和R_offset就是标定得到的一阶校正系数。想要更高精度可以做-20℃、0℃、50℃、100℃多点温槽标定用最小二乘法拟合二阶曲线但一般项目的两点标定已经能到±0.2℃以内剩下的误差主要来自PT100元件自身的精度等级。4.3 温度计算与线性化补偿得到修正后的Rpt之后就不能再用粗略的线性公式去换算温度了。我用的是IEC 60751的标准反算方法先假设温度在0℃以上用二次函数迭代逼近或者直接建立一个查表数组按1℃一个间隔存储Rpt对应表线性插值得到温度。查表法最简单代码占用也不大适合单片机场景。C语言里查表加插值的实现很直接float calc_temp_linear_table(float rpt) { if (rpt RT_TABLE[0]) return TABLE_T0; if (rpt RT_TABLE[TABLE_LEN-1]) return TABLE_T0 (TABLE_LEN-1); // 二分查找或线性扫描然后按阻值线性插值 ... }如果不用查表也可以用多项式直接计算。0到200℃范围内三阶多项式就能达到不错的精度100到850℃的宽量程才需要更高阶拟合。实际项目里我通常把查表和标定系数一起封装成函数既方便调参也能随时换探头。5. 调试实录我踩过的那些坑5.1 读数乱跳先怀疑接地再怀疑算法第一次把整套电路跑起来时最大问题是读数在±0.3℃之间跳动怎么调平均都压不下来。排查到最后问题出在我把PT100采样线的屏蔽层接到了数字地同时ADC的模拟地又和单片机地离得很远形成了典型的地环路。屏蔽层应当单端接地而且最好接在模拟地侧模拟地和数字地之间用单点磁珠或0Ω电阻连接。改完布局重新打样后跳变幅度直接降到了±0.03℃以内。这个经验让我养成了一个习惯凡是模拟小信号电路先画清楚电流回路和地回路再画信号走向。5.2 读数随引线加长而变大四线制的采样线被污染了在另一个现场我把PT100探头用5米屏蔽线延长后读数明显偏高且不稳定。拆开接线发现现场施工时把采样线S和激励线接在了同一个接插件引脚上采样线上的高阻抗被激励电流的铜箔压降“污染”了。四线制的采样线必须直接从PT100引脚位置独立引出绝不能中途搭接电流线否则开尔文连接就等于白做了。接头处最好用焊接或旋转端子避免压线端子松动带来的接触电阻漂移。5.3 线性偏差越到高温越明显查一下传感器允差等级还有一个常见的坑校准后0℃很准100℃也算准可是到150℃偏差就变大了。如果标定系数没问题那要检查PT100探头的允差等级。铂电阻按IEC 60751分为AA级、A级和B级对应0℃附近允差分别是±0.1℃、±0.15℃和±0.3℃而且允差会随温度绝对值变大。精密应用请务必选用A级或AA级探头B级探头虽然便宜在中高温区段的漂移很难用一次校准完全修正。我把调试过程中遇到的问题整理成了一张速查表方便你们现场快速定位现象可能原因排查步骤解决办法数据跳动大地环路、屏蔽层接地不当断开屏蔽层再测屏蔽层单端接模拟地读数整体偏高自热效应、线阻污染降低激励电流对比用0.5mA或用四线制高温段偏差规律变化传感器允差等级不足换A级探头重标定选AA/A级PT100测量值超过量程后突变Rref偏小或PGA饱和检查CODE是否接近满码增大Rref或减小PGA增益说实话测温电路做到后面比拼的已经不只是原理图本身而是对细节的把握。四线制配合比例法再选一颗合格的Σ-Δ ADC和低温漂参考电阻整个硬件系统的上限就能拉得很高。我现在做任何新的测温项目第一件事都是确认接线方式是不是开尔文连接第二件事是确认参考电阻是不是低温漂这两个点守住之后后面就很少需要为精度问题返工。如果让我给刚入手的同行一个最实在的建议那就是少走“先用二线制试试”的弯路直接上四线制加比例法多花一根线省下的是大量调试时间。