昨天写了一篇残稿是关于 MMB 这个产品的,适用于工业场景的快速校准。

除了压流,就是一些温度的模拟了
比较丰富

然后分辨率是这样的
是不是,看着还行?(其实不行,这里面的数据展开就不嘻嘻了),那有没有适合普通人的 DIY 产品呢?其实从来也不缺。
https://www.elektormagazine.com/labs/voltage-current-calibrator-0-to-10v-and-0-to-40ma-0001
这是最原始的地址。

大概这这样
参数:
电压输出:0 至 ±10V。 电压步进:20μV 分辨率。 电流输出:0 至 40mA。 电流步进:100nA 分辨率。 整体精度:在 21°C 时为 10ppm(即0.001%)。
项目 | MMB校准器 | AD5791 校准源项目 |
|---|---|---|
电压分辨率 | 10 µV / 0.1 mV / 1 mV | 约 20 µV |
10 V 点误差 | 约 ±3 mV | 目标 10 ppm,即 10 V 约 ±100 µV |
电流分辨率 | 1 µA | 标称 100 nA,硬件约 200 nA 级 |
20 mA 点误差 | 约 ±6 µA | 明显更高,但依赖老化/校准/热设计 |
主要用途 | 工业现场校准 | 精密电压/电流源原型 |
(和 MMB 简单对比一下,详细分析之后补充)
这个设计的器件是重要的,基准采用 MAX6350ESA 5V 低漂移基准源,配合低噪声运放 AD8676 产生 ±10.48V 基准;DAC选用 AD5791(20位、1ppm 线性度),大幅简化了软件校准流程;电流源由仪表运放 AD8276、PZT1222 晶体管及 100Ω 超低温漂精密电阻(0.2ppm/°C)构成。

布局是比较重要的
当然了,韩老师也有设计过这个东西:

性能更好

高端的东西朴实无华,就是堆料

总之韩老师这个校准器的性能嘎嘎猛
DC 输出的话,直流链没什么好说的,基准和电阻,关键是看看电流源吧,这个新奇。

就这部分
看设计是“DAC 设定电压 + AD8276 差分伺服 + Q1 串联调整管 + R10 精密采样电阻”闭环压控电流源,想输出电流:
原设计中:
所以:
也就是:
另外这个精密电流源主要由 U7 AD8276、Q1 PZT2222、U8 AD8677、R10 100Ω 组成,Q1 提供负载电流,电流流过 R10、继电器、负载后回到地;R10 上的电压被测量并和 AD5791 的 DAC 设定电压比较,输出电流为 ,电流被软件限制到 40 mA,以减少 R10 和 Q1 发热造成的漂移。
在电流模式下,继电器 K1 把输出端切到电流源路径,电流大致这样流:
+12V
│
│
Q1 PZT2222A
│
│
R10 = 100Ω 精密采样电阻
│
│
K1 继电器触点
│
│
J6 输出端
│
│
外部负载
│
│
J7 / GNDA

所以它是一个 高边串联调整型电流源,Q1 像一个可调阀门,R10 是检测电流的标准电阻,AD8276 + AD8677 负责闭环控制这个阀门。
AD8276 是单位增益差分放大器,内部有 4 个激光修调的 40 kΩ 电阻,适合做高 CMRR 的差分检测和伺服控制。

它的标准差分关系可以理解为:

在这个电流源里,大致连接关系是:
AD8276 +IN ← DAC 缓冲输出 VDAC AD8276 -IN ← GNDA AD8276 REF ← U8 缓冲后的 R10 下端电压 AD8276 OUT → Q1 基极 AD8276 SENSE ← Q1 发射极 / R10 上端
所以闭环目标变成:
也就是:
而 R10 两端电压就是:
所以闭环最终强迫:
于是得到:
这就是整个电流源的核心。
U8 AD8677 看起来接成了电压跟随器,检测 R10 下端电压,然后把这个电压送到 AD8276 的 REF 脚。
因为 R10 不是直接接地的,它下面还接着继电器、输出端、负载;负载电压会变化,所以 R10 的下端不是固定 0 V,若只把 R10 上端和地比较,就会把负载电压混进去,电流就不准。

U8 的作用是把 R10 下端电压作为“参考基准”送给 AD8276,于是 AD8276 控制的是 R10 两端的差分电压,而不是某个点对地的电压,让系统真正控制:
而不是控制:
AD8276 本身不能输出 40 mA 给负载,它只是控制器。真正提供负载电流的是 Q1, NPN 管,接法类似射极跟随器:

这个管子老演员了,忘了上次看到是什么时候
collector → +12V base → AD8276 输出 emitter → R10 上端
AD8276 输出升高,Q1 基极升高,Q1 发射极电压升高,通过 R10 和负载的电流增大,反之 AD8276 输出降低,Q1 导通变弱,电流减小。
闭环会自动调节 Q1,直到:
所以 Q1 的 、电流增益 、温漂不会直接决定输出电流精度。它们主要影响:需要多少基极驱动电流,剩余合规电压,发热,以及环路稳定性。
真正决定电流比例的是:
和:
看着就是一个减法器?因为 R10 两端有共模电压,而且这个共模电压会随负载变化,比如输出 20 mA,负载是 100 Ω:
R10 上的压降为:
那么 R10 两端可能大约在 2 V 和 4 V 附近,而不是 0 V 和 2 V;负载换了以后,R10 两端的共模电压也会变。
AD8276 能把 R10 两端的差分电压提取出来,同时抑制共模;数据手册说明 AD8276/AD8277 是单位增益差分放大器,内部电阻经过激光修调,具有高 CMRR 和低增益漂移;典型应用也包括电压/电流测量以及电流源。
因为 R10 是 100 Ω,电流越大,R10 自热越明显。
40 mA 时:
45 mA 时:
这对一个精密 100 Ω 电阻来说已经不小,即使 R10 标了很低的 TCR,实际仍然会有自热温升,导致阻值变化。
电流源的比例关系是:
所以 R10 只要变一点,电流就跟着变。
如果 R10 变化:
那么电流相对误差近似为:
文档中还强调 R10 的温度系数要很低,并且 Q1 要远离 R10 和参考源,是非常合理的。
这个电流源由 +12 V 供电,最大负载电压不是无限的;在电流路径中至少要消耗:Q1 的 VCE 余量,R10 上的压降,继电器/走线压降,以及外部负载电压,总之阻性器件都会损失一些电压。
近似有:
忽略继电器压降,取:
40 mA 时:
如果 Q1 至少需要 0.5 V 到 1 V 余量,那么:
也就是大约:
所以 40 mA 时最大负载电阻大约是:
到:
实际还要扣掉继电器触点、导线、Q1 发热后的余量,所以工程上不要按极限设计,总之就是低压电流校准源,适合校准 DMM 电流档、示波器/模块输入、低阻负载,但不适合驱动高阻负载。
AD5791 使用约 ±10.48 V 参考时,DAC 步进约为:
经过 100 Ω 转换为电流:
所以从硬件单码角度看:
文档标称 100 nA 分辨率,更像是显示/设定分辨率或软件层面的输入粒度;如果严格按 计算,硬件自然步进约为 200 nA。原文档也说 DAC 参考约 ±10.48 V,步进约 20 µV。
这个电流源的误差可以写成:
展开近似:
主要误差源包括:AD5791 输出误差和噪声,AD8276 失调、CMRR、增益误差,AD8677 失调和漂移,R10 绝对误差、温漂、自热,Q1 发热影响附近温度;继电器触点电阻和热电势,PCB 走线压降,输出保护器件漏电,软件校准误差。
但是其中最关键的是:R10 的 Kelvin 采样,以及R10 自热,AD8276 的共模误差,最后才是DAC 设定电压准确度(地表最强了)
因为 AD8276 的系统失调是百微伏级,数据手册中,B 级系统失调典型 100 µV、最大 200 µV;增益误差最大也可到 0.02%;折算到 100 Ω 电流源:
这比 100 nA 或 200 nA 的设定分辨率大很多,所以这类电流源不能靠初始精度直接达到目标,必须做软件校准。
电流模式用 10 µA 和 30 mA 两点校准,就是为了校掉偏移和增益误差。
设用户想输出:
软件计算 DAC 电压:
然后闭环发生:AD5791 输出 2 V,U6 缓冲这个 2 V,AD8276 看到 +IN = 2 V,-IN = 0 V,U8 把 R10 下端电压送到 AD8276 REF,AD8276 驱动 Q1 基极,Q1 改变通过 R10 和负载的电流,当 R10 两端电压 = 2 V 时,环路平衡;电流稳定为 2 V / 100 Ω = 20 mA。
它的优点是:电流由 VDAC/R10 决定,公式简单,DAC 可编程,电流连续可调;AD8276 做差分伺服,能处理 R10 两端共模变化;Q1 承担功率,控制芯片不直接带负载,R10 用低 TCR 精密电阻,适合校准源;继电器切换电压/电流模式,漏电小。
把R10 换成四端精密采样电阻;现在图上是 1206,虽然标了 0.2 ppm/℃,但 40 mA 时有 0.16 W 自热。更好的的设计应可使用四端 Kelvin 精密电阻,而且个人看0.1 W 不够,建议 0.5 W 或 1 W 余量;基本电阻要求是低 TCR,低热电势,最后需要远离 Q1、LDO、DC-DC、继电器线圈这些东西。
也可以提高合规电压,如果想让 40 mA 驱动更高负载,可以把 Q1 供电从 +12 V 提高,比如 +18 V 或 +24 V。
I = 1.0 mA
VDAC / VR10 = 0.1000 V
R10 power = 0.10 mW
Vload max = 11.10 V
Rload max = 11100.0 ohm
I = 10.0 mA
VDAC / VR10 = 1.0000 V
R10 power = 10.00 mW
Vload max = 10.20 V
Rload max = 1020.0 ohm
I = 20.0 mA
VDAC / VR10 = 2.0000 V
R10 power = 40.00 mW
Vload max = 9.20 V
Rload max = 460.0 ohm
I = 30.0 mA
VDAC / VR10 = 3.0000 V
R10 power = 90.00 mW
Vload max = 8.20 V
Rload max = 273.3 ohm
I = 40.0 mA
VDAC / VR10 = 4.0000 V
R10 power = 160.00 mW
Vload max = 7.20 V
Rload max = 180.0 ohm
这个电流源的本质是:
实现方式是:AD5791 产生精密设定电压,U6 缓冲 DAC,AD8276 比较 VDAC 和 R10 两端电压,AD8677 缓冲 R10 下端作为 REF,AD8276 驱动 Q1,Q1 调节流过 R10 和负载的电流,继电器把输出端切到电流模式
设计得比较巧妙的地方是:AD8276 不是直接测 R10 对地电压,而是通过 U8 把 R10 下端作为 REF,使 AD8276 闭环控制 R10 两端的差分电压。这样负载电压变化不会直接破坏电流设定。
学到新知识了!开熏~等我有米挑战一下这个设计。