做低压电器检测、计量校准这一行的人大概都有个共同体会:真正难测的不是兆欧级的高阻,而是毫欧、微欧这一段的低电阻。一段母排的搭接电阻、一只分流器的实际阻值、一根大截面电缆压接端子的接触电阻,数字大多落在 10 µΩ 到 10 mΩ 之间,而普通万用表两根表笔自身的引线电阻加接触电阻,随随便便就有几十毫欧,比被测对象还大一个数量级。这时候就得请出双臂电桥(也叫开尔文电桥)配合四端接法,把引线电阻和接触电阻从测量回路里“请出去”。
但实物双臂电桥有几个绕不开的现实问题:一台像样的比较臂标准电阻价格不低;调平衡是个手艺活,新手要摸索很久;更关键的是误差源是隐形的——连接排那 20 mΩ 到底吃掉了多少准确度,热电势到底让读数偏了多少,学生或者新同事在实物上根本看不见。所以我用LabVIEW搭了一套双臂电桥低电阻测量虚拟仿真:把整个电桥的节点方程建起来,把连接排电阻、接触电阻、热电势、检流计分辨力、电源自热全部做成前面板上的可调参数,操作者可以像拧实物旋钮一样逐档调平衡,同时实时看到每一个误差源对最终读数的贡献比例。
这套东西适合三类人:一是电气、计量、电子类专业要带低电阻测量实验的;二是做分流器、触点、线束电阻标定,需要先做方案预演再上台架的;三是想学 LabVIEW 仪器化编程、但苦于找不到一个“有物理内核”的练手项目的。下面我把从原理推导、面板设计、内核写法到踩坑排查的完整链路摊开讲。
1. 低电阻测量为什么要“四端 + 双臂”:先把误差源摊开
在动手写任何一行 LabVIEW 代码之前,必须先把物理模型想清楚。虚拟仿真的价值不在于画一个好看的界面,而在于它内核对误差的建模是否忠实。如果模型本身把连接排电阻当成零,那这个仿真就是个动画片,教学价值为零。
1.1 二线法在毫欧级为什么会彻底失真
万用表测电阻的本质是“恒流源推电流、测两端电压、欧姆定律算阻值”。二线法的问题在于:恒流源推出去的电流,要经过表笔线、表笔尖、被测件表面氧化层、被测件本体,再原路返回。电压采样点在最外侧,采到的是“引线 + 接触 + 被测件”的总压降。
我们算一笔账。一根 1 m 长、截面积 0.5 mm² 的铜表笔线,电阻约 34 mΩ,来回就是 68 mΩ;两个表笔尖的接触电阻各按 5 mΩ 算,又是 10 mΩ。合计约 78 mΩ 的寄生电阻。如果被测件是 1.5 mΩ 的分流器,测量结果的相对误差就是 78/1.5 ≈ 5200%。这不是“精度差一点”的问题,是结果完全没有意义。
有人会说可以“先短接表笔清零”。清零确实能扣掉一部分,但接触电阻是个变量——你每次压的力度、表面的氧化程度、甚至温度变化,都会让这几十毫欧上下浮动。清零只能扣掉一个瞬时值,扣不掉它的漂移。
1.2 四端接法把电流回路和电压回路彻底分开
四端(开尔文)接法的核心动作只有一句话:让电流从一对端子走,让电压从另一对端子取,两对端子在被测件上分开。
具体做法是在被测电阻两端各引两条线:外侧两条是电流端(C1、C2),接恒流源;内侧两条是电位端(P1、P2),接高输入阻抗的电压表。因为电压表输入阻抗通常在 10 GΩ 量级,流过 P1、P2 的电流只有 pA 级,所以这两条线上的引线电阻产生的压降可以忽略到 10⁻⁹ 量级。电压表读到的,就是 P1、P2 两个接点之间那一段导体本身的压降。
这里有个容易被忽略的细节:电位端的接点位置决定了你测的是哪一段。如果 P1 压得离 C1 太近,测出来的阻值会偏大;如果两个电位端压在了同一侧,那测的基本是零。所以做实物的时候,电位端要压在电流端内侧、且尽量靠近被测体的有效长度两端。仿真里我把这个“电位端位置”抽象成一个可调的“有效长度比例”参数,让学生自己体会压错位置的后果。
1.3 双臂结构补偿的是“两只电位端之间的那段连接”
四端接法解决了引线电阻,但单臂电桥(惠斯登电桥)还有一个死角:被测电阻 Rx 和标准电阻 Rs 是串联在电流回路里的,它们之间必须有一段连接导体(实物里往往是一根粗铜排或者一块厚连接片),这段导体有电阻,还会叠加两个压接面的接触电阻,我们把它统一记作R_lk(link resistance,连接排电阻)。
在单臂电桥里,检流计一端接在 Rx 与 Rs 之间的那个节点上,这段 R_lk 就直接串进了测量支路,误差全额计入。双臂电桥的做法很巧妙:再加一对内比率臂 r1、r2,让它们跨接在 R_lk 两端,检流计改接到 r1、r2 的中间节点。这样一来,R_lk 被 r1+r2 这条高阻支路旁路,真正流过它的电流被“分流”掉,它对平衡条件的影响被压缩了大约 (R_lk)/(r1+r2) 这个倍数。
用生活化的说法:单臂电桥是拿一根绳子直接量东西,绳子的结头也算进长度;双臂电桥是在结头旁边再拉一根很细的辅助绳做比例参照,把结头那一段的影响扣除掉。
1.4 平衡方程里那条修正项的来历
很多资料只给结论“Rx = (R1/R2)·Rs”,这在内外比率臂比例严格相等时是对的,但不相等时是有残差的。我把完整推导走一遍,因为它直接决定了仿真内核要写什么。
设定:以 S2 为电位参考零,主电流 I 依次流过 Rx、连接排 R_lk、Rs。内臂支路 r1+r2 与 R_lk 并联,所以流过内臂的电流为
i_b = I · R_lk / (r1 + r2 + R_lk)
记分流比 j = R_lk/(r1+r2+R_lk),则 i_b = j·I。各节点电位为:
- V(S1) = I·Rs
- V(P2) = V(S1) + (I − i_b)·R_lk
- V(P1) = V(P2) + I·Rx
- V(D) = V(P2) − i_b·r1 (内臂中间节点)
- V(C) = V(P1)·R2/(R1+R2) (外臂中间节点)
令 V(C) = V(D) 解出 Rx,中间过程略去代数整理,最终得到:
Rx = (R1/R2)·Rs + j·r2·[(R1/R2) − (r1/r2)]
这条式子信息量很大:
第一,当R1/R2 = r1/r2时,修正项严格为零,连接排电阻被完全抵消——这就是双臂电桥“内外臂比例必须联动”的根本原因,不是一个操作规范,是数学结论。
第二,修正项的大小与 j·r2 成正比。因为 r1、r2 通常远大于 R_lk,j 很小,但 j·r2 ≈ R_lk·r2/(r1+r2),当 r1 = r2 时约等于 R_lk/2。也就是说,比例失配 10%,误差就约等于连接排电阻的 5%。R_lk 取 20 mΩ、被测件 1.5 mΩ 时,这个残差能到 1 mΩ,占读数的 67%,足以毁掉整个测量。
所以仿真里我特意把 R1/R2 和 r1/r2 做成两个独立可调的参数,默认联动,但