最近有群友分享了一个简单的、用于将PT100温度信号转换为4~20mA环路的变送器电路板。据说这类电路板成本仅15元左右,可以直接安装在赫斯曼接头内构成完整产品。这让我第一次将实物与“赫斯曼接头”这个学名对应上。

本次要分析的电路PCBA正面图如下。可以看到板上有基准源、LDO、运算放大器、三极管,以及一个丝印被磨掉的单片机。左侧两个接线端子是环路电源输入,右侧三个焊点则用于连接三线制的PT100传感器。

电路板背面没有元器件,但在三极管下方的铜皮做了开窗处理,这显然是为了给这颗可能承受较大功耗的三极管散热。

接下来,我们深入分析其电路原理。首先看电源输入接口部分,其核心是由HT7533构成的一个恒流源,用于将输入电压“降压”。你可以将HT7533理解为一个工作在线性放大区的三极管,或者一个受控的滑动变阻器——它负责“吃掉”多余的电压,再配合基准源ME431将输出电压钳位在2.5V。这个2.5V的基准电压,正是为后级的单片机和运算放大器供电。

利用HT7533构建恒流源是一种常规用法,在其数据手册中也能找到典型应用电路和计算公式。

根据原理图中的参数,恒流值约为 3.3V / 845Ω ≈ 3.9mA。这个数值至关重要,因为它确保了后级电路(单片机及测量电桥)消耗的总静态电流不超过4mA。对于一款4~20mA环路变送器,必须保证静态工作点低于4mA,否则将影响正常的温度-电流线性输出。
值得一提的是,HT7533在此承担了较大的压降,会产生一定功耗。假设输入电压为24V,其在HT7533上的功耗大约为:(24V - 2.5V - 3.3V) * 0.0039A ≈ 0.071W。
接下来是PT100的测量电桥部分。这是一个经典的三线制PT100应用电路,ADC_P和ADC_N输出给单片机的ADC进行采集。

可以看到,R3和R1的阻值较大,这使得激励电流非常小,约为 2.5V / 15kΩ ≈ 167uA。个人认为,在不超过PT100允许的激励电流、避免自热误差的前提下,这个电流可以适当加大,即相应减小R3和R1的阻值。下图是某PT100传感器手册中对激励电流的要求:

该惠斯通电桥的接线示意图如下。图中R17, R19, R18与外置的PT100组成电桥,ADC通过采集电桥输出的电压差,即可计算出PT100的阻值,进而推算出温度。在假设Rwire1等于Rwire2的情况下,可以抵消线阻带来的大部分PT100采集误差(虽然无法完全平衡,因为PT100自身阻值会变化)。Vp和Vn的计算公式如下:
ADC_P = Vrp + Vrwire1 + Vrwire3
ADC_N = Vr2 + Vrwire2 + Vrwire3
由于单片机最终采集的是ADC_P与ADC_N的电压差,若Rwire1和Rwire2的线阻相等,那么线阻引入的误差便能在差分运算中被自然抵消。

最后是关键的可调恒流源电路。这是一个非常经典的“灌电流”(sink)型电流源。由单片机(2.5V供电)输出的PWM信号,经过二阶RC滤波后得到一个模拟电压,其值为2.5V D(D为PWM占空比)。由于运放负反馈的作用,Vn = Vp = 2.5 D,因此该恒流源的输出电流为 2.5 * D / 100Ω。

我们已知前端HT7533提供的恒流为3.9mA。假设PT100的量程对应-40~40℃,当环境温度为0℃时,环路需要输出半量程电流,即12mA。那么,只需让单片机控制这个可调恒流源输出额外的电流即可,即:12mA - 3.9mA = 8.1mA。
为了便于理解,电流路径可以用以下示意图表示:

至此,整个电路的核心原理已分析完毕。至于那个丝印被磨掉的QFN16封装单片机,我猜测可能是某款集成16位ADC的型号,例如芯海的CSU18M68(但该芯片工作电压可能不支持2.5V,故不确定)。具体型号并非关键,因为单片机在这里只是实现算法的载体,我们理解了系统原理更为重要。

除了上述基于惠斯通电桥的PT100测量方法,还有更简化的方案,即使用专用的PT100/PT1000采集芯片,例如之前介绍过的MAX31865。这类芯片直接输出数字信号通过SPI等接口与单片机通信,电路更为简洁。

不过,MAX31865的价格相对较高,约14元,且属于ADI(美信)的物料,对于有国产化要求的项目可能不适用。

当然,国产替代方案不会缺席。最近有群友推荐了一款非常不错的国产PT100芯片——中科银河芯的GXC400。它可以Pin-to-Pin替代MAX31865,价格极具竞争力,仅在5元以内(有国产化需求的朋友可以关注)。下图为两款芯片的引脚对比:


希望这份对低成本三线制PT100变送器电路的分析,能为你带来一些设计灵感。在云栈社区,我们持续分享各类实用的硬件设计与嵌入式开发技巧,欢迎交流讨论。