logo资料库

毫欧表制作.doc

第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
资料共22页,剩余部分请下载后查看
DIY 一个毫欧计,分辨力达到 1 微欧 - 20Ohm 和 0.2Ohm 两 个 档 位 , 20Ohm 档 分 辨 力 0.01mOhm , 0.2Ohm 档 分 辨 力 0.001mOhm,测试电流都约 100mA -(通过焊接不同的基准电阻,可以变成 200Ohm 和 2Ohm 两个档位,分辨力分别是 0.1Ohm 和 0.01Ohm,测试电流约 10mA) - 支持面板校正。精度保守一点吧,0.1% Reading+40 LSB,后面有测试图 -Fast/Slow 两档速度,Fast:10 次/秒,Slow:1 次/秒 - 数据从 USB UART 输出,波特率 115200(目前只输出,不能从上位机控制) - 默认 5 分钟自动关机,可以关闭该功能 - 使用一节锂电池供电,支持从 USB 充电 - 支持背光,可以关闭 一、电阻的测量通常有电桥法,恒流法和比例法 1.电桥法
当电桥平衡的时候(即 A、B 两点的电位差为 0),Rx=R2*R3/R1 2.恒流法 R=U/I,如果 I 恒定,测量电阻上的压降 U,就可以算出 R。这个方法是大部分台式万用表 使用的方法,例如下图是 Agilent E1412A 里面的恒流源电路,测量电压就行了 3、比例法 这是手持万用表最常见的方法。R0 作为基准电阻,用 R0 上的压降作为 ADC 的 Vref,测量 Rx 上的压降 Vin,即可算出 Rx
二、为什么我用比例法? 每种方法都很经典,都可以达到很高的精度。例如高联的 DCC 电桥,分辨率能有 9 位 半以上;再如 Agilent 34420A 纳伏 / 微欧表用的是恒流法,1 欧姆档的分辨力是 0.1 微欧 但是不是每一个方法都适合 DIY!DIY 最重要的原则就是简单! 电桥法需要 3 个精确的电阻,而且还有一个是可变的,这个 DIY 几乎无法实现。 当然电桥也可以变形为有源电桥(下图仅仅是示意,这个有源电桥可不能测量微小的电 阻),通过测量 Uo 算出 Rx。不过还是需要 3 个精确电阻(至少比例精确) 恒流法的复杂性不用我罗嗦,看看 Agilent E1412A 的图就知道了(知道为什么我挑 Agilent E1412A 的图,因为这个表的“最简单”)。
恒流法需要的精密元件更多:电压基准,一堆的精密电阻,比较好的模拟开关、FET、运放…… 而且要测量微小的电阻,测试电流不可能小,要分辨到 1uOhm,至少要 100mA 的测试电流。 除非你有 Agilent 34420A 那么低的噪声,才有可能用 10mA 分辨到 0.1uOhm 因此,这些方法都排除之后,剩下了最简单的比例法。比例法只有一个精确元件——基准电 阻,其他的就靠 ADC 了。那好办,24bit 的 ADC 也不贵,选个带 24bit 的 MCU,最便宜的 是 C8051F350,还内置 PGA,放大倍数最大到 128~~ 三、怎么得到 1 微欧分辨率的? 很多人对 24bit ADC 的精度是有误解的,24bit 只是说它能输出 24bit,有多少 bit 是有效 的? 这个表格是 C8051F350 的 Effective Number of Bits(ENOB)数据,可见在输出 10 次/秒, PGA=128 时,enob 只有 17.44bit,但是这个还不是故事的全部,这只是说这些 bit 有效, 但是数字在跳的,你不会想看到测试的结果老是在跳吧,如果要求 99.99%的概率数字不跳, 还要减去 log2(6.6)=2.72bit (具体原理请看附件吧),那就不跳了,这个叫做 Noise-Free Bits。那么 noise-free 的就只有 17.44-2.72=14.72bit,是不是很恐怖,一个 24bit 的 ADC 怎 么实际还没有 15bit 啊?!~ 表 面 上 看 , 如 果 基 于 33 欧 的 基 准 电 阻 , 要 得 到 1 微 欧 分 辨 率 ,ADC 的 分 辨 率 要 到 log2(33/1e-6)=24.98bit,这怎么搞啊?呵呵,PGA 来帮忙了,放大了 128 倍,也就是说多 了 7bit,14.72+7=21.72<24.98,还是不够。再想想,这个是 10 次/秒的情况啊,我们不 需要这么快,1 秒有一个读数就行了(那位要 20 次/秒的不要喷我)。另外一个原理——过 采样来帮忙了(详细的看附件吧,我专门找了个中文的)
24.98-21.72=3.26,那过采样 4^3.26=92 倍不就行了?不过,92/10=9.2 秒一个读数,会 被人骂死的。我们真的要最后一位完全不跳吗?34401 的电阻档也跳啊,因此我用 12 倍, 增加了 log(12)/log(4)=1.79bit 因此还有 3.26-1.79=1.47bit 会跳,折合到 10 进制就是 2^1.47=2.94 个数在跳,我的实际 测试在温度稳定后(唉,金属膜的 TCR 有点大),测试夹短接时果然只有 3-4 个数在跳~~ [s:34] 有些 ADC 直接给出的是噪声参数(我更喜欢这个),其实和 ENOB 这两种方法是等效的。F350 也给出了这个表格 可 见 在 输 出 10 次 / 秒 , PGA=128 时 , noise 有 0.11uV , 我 们 要 测 到 1uOhm , 0.1uV/1uOhm=100mA,知道为什么我的测试电流是 100mA 了吧,同样还是有 Noise-Free 的 6.6 问题,计算同上 四、精度问题 上面一节说的是分辨力,千万不要和精度搞混了,分辨力高是精度高的前提之一,在设 计仪表时,分辨力做上去了,同样会把精度提高,分辨力和精度一般是匹配的,分辨力 越高的表精度一般也是越高的。 影响精度主要有下面几个因素 1)基准电阻 比 例 法 唯 一 的 一 个 精 密 元 件 就 是 基 准 电 阻 , 这 个 东 东 90% 的 精 度 是 由 它 决 定 的 (ADC/PGA 的 offset 等误差理论上是可以校正的,PGA 增益温漂大概是 0.5ppm/度), 而这个电阻还是有功率的(100mA^2*30 欧姆=0.3W),基准电阻的自发热比较明显, 我用 2W 的电阻都会觉得有一点温度。我开始用的是一个 2W 的金属膜电阻,冷态开机 到热稳定,测量值会下降几十微欧(想想为什么是下降?)。因此电阻的温度系数是(短 稳)精度的最大敌人。 找了一大圈,发现 VHP-4/VPR221Z/VPR221 不错,不过价格更加“不错”,最后碰到了 它——AE 的 4 线电阻,因此我的第一版用的就是 AE 这个 26 欧或者 28 欧作为基准电 阻
2)AD 的输入阻抗 C8051F350 没有说它的 Ain 的具体结构,我只能猜测,如有不对,敬请指教 有 buffer 时,用输入电流 Input Bias Current 表示,而且单位是 nA,基本上可以判定是类似双极型运放的 输入,而且由于输入电流是+/-的,可能使用了某种内部偏置电流消除电路,大家熟悉的 OP07 和 OP27 系 列就是如此。DS 里没有提到“输入失调电流 Input Offset Current ”,是相当不合格的。如果使用了内部偏 置电流消除电路,失调电流的幅度与偏置电流相同(请参考 OP07 的 DS)。如果没有偏置电流补偿,则失 调电流一般比偏置电流至少低一个量级。 没有 buffer 时,用输入阻抗表示,因此猜测使用的是开关电容的方式(这是其他类似 ADC 的输入结构)。 DS 也仅仅给出 PGA=1 的时候,输入阻抗为 7M,因为 Fsample=2. 4576MHz/128,就可以算出 C=7.44pF。 由于这个输入阻抗仅仅有采样频率和采样电容有关,和输入电压无关,基本上是不变(温度还是有影响的)。 从下面这个 ADC 的情况可以发现不同 PGA 放大倍数下的输入阻抗和 PGA 成反比,不知道 F350 是否有这 样的关系,如果有,在 PGA=128 时的输入阻抗可能等于 7M/128=55K 20 欧档的时候,输入阻抗是 7M,比 30 欧的基准电阻大了 233K 倍,几个 ppm 的影响,完全可以忽略了 0.2 欧姆档的时候,由于输入阻抗可能等于 7M/128=55K,因此,我担心这个输入阻抗会影响精度,加了一 个小电阻在 Rx 下面,垫高 Ain-的电压,满足 buffer 的输入要求(PGA=128 时要求大于 0.25V) 实测这个输入阻抗对 200 毫欧档几乎没有影响,用了内置的 buffer 好像噪声还大一些,因此在主要的软件 版本中没有用 buffer,R12 是一个磁珠。加上我以后考虑省去磁保持继电器,不做 K 级量程,这个输入阻 抗我就忽略了。 F350 这个 buffer 还有一个问题,就是 offset 随着共模电压变化比较严重,大概有十几个字,最后使用了类 似 chop 的技巧把它去掉。因此我的使用 buffer 的软件版本天生有个特性——自动稳零!
3)AD 的线性 F350 标称的 INL 是最大 15ppm,第二版兼容了个电压表的主要目的就是想测 F350 的线性(另一个原因是 板子还有空间 简单测试下来,F350 的线性比较差,基本上就是指标的最大值,几十个字的误差 ) 综上所述,精度保守一点吧,0.1% Reading + 40 LSB 五、 第一版的测试
分享到:
收藏