☰
Pt100测温电路设计:桥式与恒流源选型、调试与高精度校准
2026/11/2 12:44:28 网站建设 项目流程

简介:面向电子工程初学者与嵌入式测温开发者的Pt100测温电路设计资料,围绕铂电阻在中温区(-200℃~650℃)内高精度、稳定性好、抗干扰能力强的特性,梳理从电阻—温度非线性关系、模拟校正与微处理器查表校正,到两线制、三线制及桥式、恒流源式四种采样方案的完整设计脉络,帮助读者在动手搭板前理清选型依据与整体思路。压缩包内为1个PDF文档,约201KB,以图文并排形式给出三线制与两线制桥式测温电路、恒流源式测温电路三张典型原理图,并逐条列出调试注意点:R1与R2同幅度调整可改变电桥压差、R5/R3比值决定放大倍数、放大电路须接负反馈、VR2可设定温度零点、恒流源电流不宜超过1mA以免Pt100自热影响精度等。作者结合自己实际采用并试验过的电路,还给出虚地、虚断推导与实测输出公式,指出压差信号常比理论值小很多、电桥正电源须接稳定基准等易踩的坑。该文档已有1354人学习,适合作为测温电路选型、调试排错的对照参考。

1. 从一块测不准的板子说起:Pt100 测温电路到底难在哪

去年帮一个做工业温控的朋友调一块板子,四通道 Pt100 采样,常温下读数挺稳,一进 60℃ 以上的烘箱就开始漂,满量程误差能到 3℃ 以上。拆开看电路本身没画错,三线制桥式加 LM324 放大,问题是没人认真算过配对电阻的容差,也没人管过参考基准从哪来——直接从开关电源的 5V 拉过来用。这就是典型的“仿真能过、实物翻车”。

Pt100 测温电路看着简单:一个铂电阻、一个电桥或恒流源、一个运放、一个 AD,就这几样。但真正决定精度的从来不是这四个模块本身,而是几个特别容易被忽略的地方——导线电阻怎么消、自热电流怎么控、非线性怎么校、参考基准稳不稳。这份资料覆盖了三线制、两线制桥式和恒流源式三条主流路线,还带上了调试阶段的实际记录,包括放大电路接成正反馈直接返工的那种血泪经验。适合正在做中温区(-50~600℃)测温模块的硬件和嵌入式从业者,也适合学生做课程设计时少走弯路。

2. 三种采样拓扑怎么选:桥式与恒流源的差异账

2.1 桥式测温电路的工作原理与参数传递关系

桥式电路的核心是一组分压比较。R1、R2 组成一侧桥臂,VR2(100Ω 精密电阻)和 Pt100 组成另一侧,两边不等时输出一个 mV 级压差,经运放差分放大后送 AD。资料里给的参考基准是 TL431 加电位器 VR1 调到 4.096V,这个数字不是随手写的——4096 对应 12 位 AD 的 1mV/LSB,换算时不用再做除法,省掉一层浮点误差。

关键在于,桥式输出并非简单的线性关系。原文给出的实际输出表达式值得抄在本子上:

Vout = 4.096 * ( Rpt100/(R1+Rpt100) - Rvr2/(R1+Rvr2) )

注意这里用的是“电路工作时量取的电阻值”,而不是标称值。因为电桥两臂都挂在同一个 4.096V 上,比值形式意味着只要基准稳,Vout 就只跟电阻比值有关。这也解释了一个常见误解:很多人以为放大倍数直接乘在压差上就完事了,实际测出来压差比理论值小一截,原因就是桥臂内阻构成了分压,运放输入端并非理想高阻。

R1、R2 同幅度调整,改变的是电桥的灵敏度:阻值越小,同样电阻变化产生的压差越大,但流过 Pt100 的电流也越大,自热问题随之而来。我一般把 R1、R2 取在 2k~10k 之间,配合 4.096V 基准,Pt100 上的电流落在 0.4mA 以下,自热引起的温升可以忽略。放大倍数由 R5/R3 决定,原文是 R5=R6=100k、R3=R4=1k,即 100 倍。这个倍数不是越高越好——倍数高,零点附近的噪声和失调也被一起放大,后级 AD 反而更难看。

2.2 恒流源式测温电路的虚短虚断推导

恒流源式的思路更干净:先造一个稳定电流,让它流过 Pt100,压降直接正比于电阻,再放大送 AD。原文用 LM358 的两只运放实现,U1A 把 4.096V 基准转成恒流,U1B 做十倍同相放大。

推导过程按虚短虚断走一遍:U1A 的“+”端接 4.096V,处于线性区时“-”端同电位,也是 4.096V;假设输出脚对地为 Vo,根据虚断,流过 R1 的电流与流过 Pt100 的电流相等,即

(0 - V-) / R1 + (Vo - V-) / Rpt100 = 0

整理得 Pt100 上的压降 Vpt100 = Vo - V- = V- * Rpt100 / R1。因为 V- 固定 4.096V、R1 固定,虚线框内等效成一个电流为 V-/R1 的恒流源。原文 R1 取 3.3k,算下来约 1.24mA——这里就要注意了,后文调试注意点明确写了电流不超过 1mA 为准,1.5mA 以上自热影响明显。所以这个 3.3k 在实际板子上我一般会换成 4.7k 或 5.1k,把电流压到 0.8~0.87mA,牺牲一点灵敏度换稳定性。

两种拓扑的账可以这样算:

对比项三线制桥式恒流源式
导线电阻消除靠三线对称抵消需另做三线补偿或四线
输出线性度略差,需查表校正较好,压降正比电阻
自热控制靠桥臂阻值调节靠 R1 直接设定,直观
元件数量电桥四件套 + 运放双运放 + 基准,稍省
对基准敏感度高(比值型仍需稳基准)高(电流直接由基准决定)
适用场景长线、成本敏感精度优先、通道少

选型上没有绝对优劣。长距离引线、多通道、成本压得紧的场合,三线桥式更划算;单通道、要求线性好、后端不想做复杂校正的,恒流源更省心。资料里两条路都实测过,这点比只看论文强。

2.3 两条路线共用的基准与供电处理

不管走哪条路,有两个东西是共用的,也是最容易翻车的。

第一是基准。桥式电路的正电源必须接稳定参考,不能直接挂 VCC。原因很直白:网压波动导致 VCC 抖动时,运放输出跟着变,而你建的温度-电阻表是在某个特定 VCC 下测的,基准一变,查表就全错。TL431 配合分压调到 4.096V 是常规做法,注意 TL431 的最小阴极电流要满足(一般 1mA 以上),分压电阻别取太大,否则基准本身带载能力不足,输出会塌。

第二是运放供电。原文提到单 5V 供电时若温度波动大,改 ±15V 双电源会有明显改善。原因在于 LM324/LM358 这类通用运放在单电源下输出摆幅受限,接近轨时线性度迅速恶化,而 Pt100 在高温端电阻大、压差大,很容易顶到摆幅边界。双电源把输出摆幅拉到中间区域,线性区宽裕得多。如果系统只有 5V,退一步的做法是选用轨到轨运放,并保证输出工作点设在 1/4 到 3/4 电源之间。

这里补一个常被忽视的点:运放的输入失调电压会被放大倍数直接乘上去。100 倍放大下,LM324 典型的 2mV 失调能变成 200mV 的输出偏移,相当于把零点整体挪走。所以零点校准必须在整机装配完成后做,而不是在面包板上调完就完事。

3. 从原理图到可读数:接线、放大与数字化校正的落地步骤

3.1 三线制接线的物理实现与导线电阻验证

三线制的价值在于把 Pt100 两侧等长的引线分别放进相邻桥臂,让导线电阻互相抵消。落地时有几个动作必须做到位。

第一步,两根引线必须同型号、同长度、同走向,最好用同一根三芯电缆里的三根线。用不同批次的线,哪怕标称长度一样,铜的电阻率差异和接头工艺差异都会破坏对称性。

第二步,接线端子到电桥之间的走线要短,且三根线尽量贴着走,减少温差引起的额外不对称。

第三步,验证。做法是把 Pt100 换成一只 100Ω 精密电阻,接在端子处,上电读 AD 值;再把同一只电阻直接焊在电桥焊盘上,再读一次。两次读数之差就是引线残余误差。合格的板子这个差值应该在几个 LSB 以内,如果超过十几 LSB,说明三线对称没做好,回去查端子接触和线材。

# 记录两组 AD 原始值做对比(假设串口输出原始码) # 端子处接 100R 精密电阻 ./read_ad --port /dev/ttyUSB0 --samples 64 > /tmp/terminal.txt # 焊盘处直接接同一只电阻 ./read_ad --port /dev/ttyUSB0 --samples 64 > /tmp/pad.txt # 计算均值差 python3 - <<'EOF' def mean(path): vals=[int(l.strip()) for l in open(path) if l.strip().isdigit()] return sum(vals)/len(vals) t, p = mean('/tmp/terminal.txt'), mean('/tmp/pad.txt') print(f"端子均值={t:.2f} 焊盘均值={p:.2f} 差值={t-p:.2f} LSB") EOF

这段脚本的作用是把“凭感觉看数值跳”变成可量化的差值。--samples 64取多次平均是为了压掉随机噪声,样本太少时差值会被噪声淹没。如果手上没有现成的采集程序,用万用表在运放输出端直接量电压也行,把电压差换算成温度误差即可。

3.2 放大倍数与零点设定的实际操作

放大倍数改起来简单,改 R5/R3 比值,但要连带考虑后级 AD 的量程。假设目标是 -50~600℃,Pt100 对应电阻约 80.31Ω 到 313.8Ω,桥式输出压差跨度大概几十 mV,放大 100 倍后落在 0~4V 区间内比较合适。倍数定太高,高温端会饱和削顶;定太低,低温端分辨率不够。

零点设定用 VR2 电位器完成。原文举的例子很实用:把 VR2 调到 109.885Ω,零点就被移到 25℃,因为 25℃ 时 Pt100 正好是 109.885Ω,此时电桥平衡、输出为零。这个技巧的价值在于,可以按实际工况把量程窗口压缩到自己关心的区间,提高有效分辨率。

操作上有个顺序问题:VR2 的阻值必须在未接入电路时测量和调节。接进电路后,万用表量到的是它和相邻桥臂并联后的等效阻值,读数完全不是你要的那个数。这一点我在早期调试时吃过亏,调了半天以为电位器坏了,其实是测量方法错了。

调零的完整顺序建议是:先断开 Pt100,用精密电阻箱代替并设到零点对应阻值;调 VR2 使运放输出接近 0V(留 20~50mV 余量,避免运放进入非线性区);再接回 Pt100 验证。留余量这一步别省,运放输出真正贴到 0V 时,失调和噪声的表现都很差。

3.3 非线性校正:查表法与分段拟合的实现

Pt100 的电阻-温度关系是非线性的,-200~0℃ 和 0~850℃ 用的还是两套不同的系数。原文的思路是数字化校正:把电阻值和温度的对应关系存进 EEPROM,运行时根据实测 AD 值查表反算温度。这是工程上最稳的做法。

生成表的时候不要用两点直线近似,中温区误差会很难看。用 Callendar-Van Dusen 公式算:

# 生成 Pt100 电阻-温度对照表,写入 EEPROM 用 A, B, C = 3.9083e-3, -5.775e-7, -4.183e-12 def r_of_t(t): if t >= 0: return 100.0 * (1 + A*t + B*t*t) return 100.0 * (1 + A*t + B*t*t + C*(t-100)*t**3) # 以 1℃ 步长生成 -50~600℃ 表,每个点存 2 字节(0.01℃ 定标) table = [] for t in range(-50, 601): r = r_of_t(t) table.append(int(round(t * 100))) # 单位 0.01℃ print(len(table), table[:3], table[-3:])

关键参数说明:A/B/C 是 Pt100 的标准系数,正温区只用 A、B,负温区才加 C 项,这一点经常有人漏掉,导致零下温度偏差大。表长 651 项、每项 2 字节,一共 1.3KB 左右,普通 MCU 的 EEPROM 完全放得下。

反过来,运行时拿到 AD 值要先换算成电阻,再在表里找最接近的两点做线性插值。这里有个容易忽略的细节:查表的输入应该是电阻而不是 AD 码,因为 AD 码还受基准和放大倍数影响,一旦硬件参数改了,表就作废。把电阻作为中间量,硬件变动时只需重算增益系数,表可以复用。

插值时不要用顺序查找,651 个点顺序扫在低主频 MCU 上会吃掉不少时间。二分查找六到七次就能定位,配合两点线性插值,精度可以做到 0.1℃ 以内。如果嫌表占空间,也可以存 5℃ 步长的稀疏表加插值,误差在 0.05℃ 量级,够大多数工业场景用。

4. 调试阶段最容易踩的五个坑

4.1 放大电路接成正反馈,板子直接返工

现象:上电后运放输出直接贴到电源轨,输入怎么变都没反应,或者输出随手指靠近而乱跳。

原因:差分放大级的反馈网络接错,把输出反馈到了同相端。原文里提到的那个“特别提醒”就是错的,照抄之后只能重新做板。

解决:LM324 做差分放大时,反馈电阻必须从输出接回反相输入端;同相端只接分压网络到地。落板前拿万用表蜂鸣档从输出脚沿反馈路径走到反相输入端,确认连通,这一步三十秒,能省一轮打样。

4.2 参考基准从 VCC 直接取,温度一波动读数就飘

现象:实验室里读数稳定,现场一开大功率设备,温度值整体偏移一两度,且偏移量随负载变化。

原因:电桥正电源直接挂在开关电源输出上,基准随负载波动,而温度表是按固定基准建立的。

解决:TL431 单独产生 4.096V,电桥和运放的基准都从它取;TL431 的阴极串限流电阻保证最小工作电流;基准输出端并 0.1μF 加 10μF 做去耦。基准稳了,比值型的桥式电路才真正发挥优势。

4.3 恒流源电流设太大,自热把读数抬高

现象:小电流下测同一温度,读数正常;换成大电流后读数偏高,且温度越高偏得越多。

原因:恒流源电流超过 1mA 后,Pt100 自身功耗上升,元件发热,测的是“电阻温度 + 自热温升”。原文实测 1.5mA 以上影响明显。

解决:把 R1 从 3.3k 提到 4.7k 以上,把电流压到 1mA 以下;如果灵敏度不够,改放大倍数而不是加电流。高精度场合还可以做间歇激励,只在采样瞬间通电,其余时间断开,彻底消除自热。

4.4 电位器在路测量,零点怎么调都不对

现象:按计算值把 VR2 调到 109.885Ω,上电后零点却不在 25℃,反复调也找不到规律。

原因:电位器接入电路后与桥臂并联,万用表量到的是等效阻值,不是它本身的阻值。

解决:断电、拆下一端再测量调节;或者干脆用固定精密电阻加分压网络替代电位器,靠软件标定零点,避免机械电位器长期漂移。批量产品上我倾向后者,电位器的时间稳定性和温漂都靠不住。

4.5 只做单点校准,全量程线性度没验证

现象:零点校准得很准,常温段误差 0.2℃,到了 400℃ 以上误差涨到 2℃ 以上。

原因:只在一个温度点标定,放大级的增益误差和运放失调的温漂都没被覆盖。

解决:至少做三点校准(如 0℃、100℃、400℃),用精密电阻箱模拟,分别记录 AD 值,拟合出实际的增益和偏移。两点定线性、第三点验残差,残差超过预期的就得回去查运放选型和桥臂电阻的温漂系数。

5. 把精度再抠一档:从 1℃ 到 0.1℃ 的几个具体手法

精度做到 0.1℃ 这个量级,靠的不是换个更贵的芯片,而是把前面每一步的残余误差逐个压下去。我自己常用的顺序是这样。

先处理电阻的温漂。桥臂上的 R1、R2、R3、R4 如果是普通 1% 碳膜,温度系数能到几百 ppm/℃,环境温度变 20℃ 就足以贡献零点几度的误差。换成 25ppm/℃ 的金属膜电阻,成本增加有限,收益很直接。配对要求上,R1 与 R2 的比值精度比绝对值更重要,因为桥式输出是比值型;R5/R3 的比值决定增益,同样要求成对匹配。买的时候让供应商按 0.1% 配对供货,比自己筛选省事。

然后是基准的长期稳定性。TL431 的初始精度可以靠电位器调,但温漂和长期漂移调不了。要求高的时候换用初始精度 0.1%、温漂 10ppm/℃ 以内的基准源,并且让基准芯片远离发热元件——LM324 自身功耗不大,但如果板上还有继电器或电源芯片,布局上要把基准放在进风口一侧。

第三步是采样侧的过采样。12 位 AD 直接读,1LSB 对应的温度分辨率在满量程 650℃ 时约 0.16℃,勉强够。做法是连续采样 16 次求和再右移 2 位,等效多出 2 位分辨率,代价只是采样时间。要注意的是过采样只能压随机噪声,对工频干扰无效;50Hz 干扰得靠采样窗口对齐工频周期,或者硬件上加 RC 低通,截止频率设在 10Hz 左右。

手法典型收益代价
桥臂电阻换 25ppm/℃ 金属膜温漂误差降一个量级元件成本约翻倍
高稳基准替代 TL431全温区偏移从 ±0.5℃ 降到 ±0.1℃单颗成本上升
16 次过采样分辨率提升约 2 位采样时间 ×16
三点校准拟合消除增益与偏移的系统误差产线增加工序
间歇激励基本消除自热需要开关管与同步时序

最后说验证。改完之后别只看常温那一组数,把板子放进温箱,从 -20℃ 走到 80℃,每 20℃ 停 30 分钟等热平衡,记录读数和标准值的偏差。我吃过一次亏:常温标定做完,指标漂亮得不像话,结果客户现场在 5℃ 的车间里用,读数偏低 0.8℃——原因是当初校准时电位器用螺丝刀拧完没锁紧,运输振动后阻值变了。从那以后我每次做模拟前端标定,机械可调元件调完必须点胶固定,且整机高低温循环跑一遍才算完。

这份资料的价值就在于它把三条拓扑的实际调试记录都摆出来了,包括哪些参数是拍脑袋定的、哪些地方实测和理论对不上。做 Pt100 采集的朋友可以照着把电路先搭起来,再按上面的顺序逐项排查,能少走不少弯路。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询