Skip to content

okokfun/vm_mini

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

6位数字手持式电压-电阻-表

这是 JVO-2 的存储库 此自述文件仍然不完整。在此处查找更多信息 https://www.eevblog.com/forum/metrology/diy-6-digit-handheld-volohmmeter/ https://imgur.com/a/50MBxly

下文是上面链接的翻译

前言

   我不确定这个主题是否应该属于“项目”部分,但 6 位电压表是边缘电压表,也许在 DIY 项目时更多,所以我在这里输入了它。当然,Mod 有权将其转移到其他地方。

   这是一个更少完成的项目。我将接受更多的吐槽和润色,但计划中没有进行重大返工。我决定让任何感兴趣的人都可以使用这个项目

动机

  这一切都始于我之前的项目 [1]。事实证明,它是一个相当厚实的盒子,有相当多的电路用于测量单电压输入。尽管如此,尽管它是少数已完成的大型电压表项目之一,但它还是作为进一步开发和实验的测试平台。外壳的电路非常紧密,我想知道它是否可以变得更小。乍一看,它看起来很困难,但很快我意识到这是可以做到的,而且还有一些额外的好处。除了明显的外形尺寸缩小外,更高效的电源可以带来更少的自热,并具有更快的上电稳定性。虽然收缩电压表本身可能是一个值得的项目,但我决定通过添加两个功能来增加它:可切换输入范围和电阻测量。

  虽然具有 6 位及更多位数的台式万用表在多家制造商中很常见,但绝大多数手持式万用表的分辨率确实高达 60000 个计数(4 和 3/4 位),有些达到 500000 个计数(5 和 3/4 位),而 6 位万用表像母鸡的牙齿一样罕见(Gossen Metrawatt METRAHIT 30M 是例外)。这种不平衡的存在是有原因的,手持式万用表的不同用例是一个因素,更恶劣的环境条件使得稳定的基准难以构建肯定是另一个因素,更不用说精密电路的消耗更高了。我的设备不会以任何方式改变这一点。我意识到我的设备的局限性,我将其视为不切实际设计的实际例子,因为追逐胜于捕捉。

实施、设计目标

  我在前一段中设定了几个目标--6位数测量(具有合理的线性度和噪声)、电池工作、可切换输入范围。这是一个边界条件,仍然有很大的自由度。为了向前发展,我需要定义机械因素。尽管我家实验室里有3D打印机,但 我选择了现成的塑料外壳,经过一番搜索后,我选定了一个相当便宜的外壳[2],电池座为6xAA,尺寸仍然可以称为手持设备。

  考虑到成本低、质量可接受、可用性好,设定了另一个边界条件。设计手持设备通常涉及机械和电气设计之间的乒乓球,这次也不例外,所以我不得不再次回到电子领域。

我设定了这些设计目标:

  • 三个电压范围:1V、10V 和 100V 全量程、双极性。1V 和 10V 范围应具有可切换的输入电阻 10M 和 >1GΩ。(事实上我能够达到 1M、10M 和 >1GΩ)
  • 可选择集成时间,至少 1、10 和 100PLC
  • 5种电阻范围-1K、10K、100K、1M和10M全量程
  • 四线电阻测量

  我设置了一个粗略的框图,见下面的附件01。对于ADC核心,我选择了我已有的设计[1],并做了一些调整。EPM240是一种可以主机和ADC控制器的CPLD,但没有太多其他功能。由于我想采用集成时间切换以及尝试其他多层调制方案, 我决定离开EPM240去换更强大的东西(这里指的是从240个逻辑块跳到1K甚至更多)。Lattice似乎有适合我需求的产品组合--可手工焊接封装(QFN还可以忍受, 但QFP优先)、相对较低的功耗和1K+LUTs.mach xO2非常适合需要,所以选择了FPGA。在我之前的项目中,我使用了MSP430来增加工作的趣味。 在这个项目中,我决定使用更熟悉的STM32L151。在设备的用户端是带背光的薄齿轮液晶显示器EA Dog132,因为它具有合适的尺寸和电流消耗。对于按钮,我再次选择了马夸特6450系列,我只是喜欢这些按钮。

  我以前的电压表部分是以“把厨房水槽扔到问题上”的方式设计的。我试图让我的脚更靠近地面。昂贵的 LT1116 比较器被 LM311 取代,同时仍然适用于此应用。积分器中的运算放大器是OPA140,电路的其余部分采用OPA192或OPA2192;OPA177A用于 LM399A 周围的参考电路。在参考源中使用 LM399A 是一个艰难的选择。对于电池供电的应用,像 LT1236 或 LTC6655 这样的东西会是我更明智的选择,但我决定在这里花哨一点,并使用加热参考,主要是因为它是设计挑战。

  要实现 ±10V 输入范围(实际上是 ±12V 的超量程)和高输入阻抗(GΩ 或更高)并不是一件容易的事。在我以前的电压表中,我对LTC2057寄予厚望,但它的显着电流噪声在较高的输入阻抗下给我带来了很多麻烦。还有其他自动归零运算放大器,例如参数更好的LTC1052,但电源范围低迫使我为它制作自举电源。这开始决定电源要求。为了在自举输出上实现±12V输出摆幅,需要±18V范围。36V 是 OPA192 和其他运算放大器的最大电源电压,因此我决定派生另一个电源轨 -14V 来为运算放大器供电。这将电源电压设置为 32V,对于电路的模拟部分和 ADC 仍然很好。由于两个 ±18V 电源轨的预计电流消耗约为 20mA,这需要模拟部件大约 1W 的输出功率。经过一番搜索,我选择了ADP5070,然后选择了基本的、更少的数据表配置中的ADP7142和ADP7182。FPGA 的电源通过 3.3V LDO 在关断的情况下提供,MCU 始终通过低功耗 MCP1703 LDO 通电。最后一个电源轨为 5V,用于为继电器和显示器背光供电。当器件关断时,MCU处于休眠状态,电流消耗最小,但可以通过按下按钮唤醒并启动电路的FPGA和模拟部分;以及在需要时关闭所有电源。电池电压通过高电阻分压器 (6,2/2,4M) 监控,然后使用电压跟随器监控MCP6441为 MCU 内部的 ADC 获得良好的低阻抗输出。板载隔离式USB接口,围绕CP2102接口IC和ADUM1202隔离器制成。

  我希望至少将数字域与模拟电隔离,但不幸的是我无法使电源足够小且足够好,所以我选择了上述电源方案。这也迫使我在接地、去耦和电源平面放置方面更加小心。回到机械设计,我意识到我无法将所有东西都安装在单个 PCB 上,尺寸由外壳尺寸给出,所以我选择了两个 PCB 的夹层结构。一些电路部件是固定的,例如用户界面(显示器、按键)必须位于上部(主)PCB上。最合乎逻辑的选择是在两个 PCB 上分离数字和模拟部件,但我无法在单个 PCB 上同时安装模拟前端和 ADC,因此我决定在主 PCB 上安装 ADC,而将模拟前端留在较小的扩展 PCB 上。

  外壳尺寸和电路块划分给了我另一个限制,所以我终于可以进行原理图绘制和 PCB 设计了。

  由于我很清楚该做什么,所以这是相对容易的部分,大部分工作都在两个晚上完成。我选择了一些有趣和快乐(业余爱好项目是为了有趣和快乐而做的,对吗?),并在两块电路板上使用了Minimelf 0207电阻,甚至在一些电容上也是如此。

  不幸的是,去耦电容采用了更“无聊”的0805尺寸格式。如果有人试图复制我的设计,最小基底面可以用普通且易于焊接的 1206 尺寸电阻填充,这样你就不必获得不完全普通的最小尺寸电阻。

让它发挥作用

  当PCB被大量填充后,我发现了一些令人讨厌的布局错误,迫使我进行了相当多的返工和调整。较大的主PCB基本上还可以,但模拟板即使在过度调整后也只能发挥一半作用。电压表部分没问题。 但欧姆电流源少了两个量程,4线测量显然无法正常工作。我决定重新使用电路板来修复缺陷,之后我有了更少功能的设备,可以进行4线电阻测量,并且可以工作到10MΩ。更多图片和评论见相册[3]。

  我意识到我也可以“免费”进行二极管测试,因此也在这里扩展了功能。

验证

  由于ADC的输入范围为±10V(cca 2V超量程),我首先关注该特定范围内的JVO-2测试。

  • 我使用Time Electroncis 2003S校准器和以线性度良好著称的HP-34401A测量了6,5位数DMM的INL。非线性度均未超过1ppm,见下文附件02。无论如何,这仍然有点问题,为了适当覆盖INL,我需要更高级别的仪器。至少我知道我的设备没有完全关闭。
  • 我对短路的输入插孔进行了相当多的测量,根据 [4] 测试噪声,这是很棒的资源。幸运的是,确实有很多已经测量的商业设备,所以我有一些东西可以对抗。在 10V 范围内,对于 1PLC、10PLC 和 100PLC,我测得的 RMS 噪声为 0.69、0.21 和 0.16ppm。有关其他范围,请参阅下面的附件 03。为了进行比较,我设置了表格捕获其他一些台式万用表和我的设备的测量噪声数据,请参阅下面的附件 04 和 05。
  • 由于这是电池供电的仪器,我对启动行为以及电池耗尽时的稳定性感到好奇。上电后,跳高约 15ppm,在大约 10 分钟内下降到一两 ppm 以内,典型的启动行为如下图 06 所示。

  当电源电压从 10V 降低到 5.8V 时,我无法检测到任何超过 1ppm 的读数变化。要实现这一点并不像听起来那么容易,在我的第一次试验中,我发现 ADC 读数对电池电压的依赖性相当强(且非线性),尽管 ±18V 电源轨非常稳定。经过一番思考,我找到了主开关电源传导 EMI 影响 LM399A 参考的原因。在LM399引脚上用100nF电容器正确去耦基准电压源解决了这个问题。

  • 欧姆范围没有得到电压范围那么多的处理。根据我的HP34401调整了设备,并用我手头的一些稳定电阻器进行了检查。从初步检查来看,读数似乎在几十 ppm 内相互对应,但我还不称其为适当的测试。

概述

  现在,我在手持式外壳中得到了某种奇怪的长尺度电压欧表组合,电池由饥饿的 LM399A 参考供电。

  与这个项目之前的知识相比,我学到了一些新东西。

  • 低局部加热(以及一般的热设计)是精密电路的重要因素。
  • 有工作的ADC(作为PCB上的电路)与有电压表(作为盒内器件)相去甚远,这与多量程万用表相比还有很长的路要走。
  • 不管MELF代表什么(大部分都是躺在地板上),我并没有失去一个MELF电阻。
  • LM399真的不适合电池工作。

  毕竟,这是一个非常有趣的项目,我并不后悔花在上面的时间和金钱。所有来源都可以在 github [5] 上找到。[3] 中的链接包含很多照片,并附有一些评论。

今后的工作

  • 我应该验证欧姆量程
  • 自动范围仍未实现。不过,我甚至不确定我是否要实现它。
  • 随着 MCU 源代码的增长,我意识到我选择了糟糕的固件结构。

  重写它以省略重复的代码块是个好主意,但工作量相当大。

  • 有两个输入(主输入和 4W 电阻检测)使我能够进行比率测量。这是稍后要研究的事情。
  • 搭载更大的FPGA使我能够尝试其他比现在更多的调制方案。这很可能是我将要尝试的一件事。

链接

[1] - https://www.eevblog.com/forum/metrology/diy-6-5-digit-voltmeter/

[2] - https://www.tme.eu/sk/katalog/?search=KM-103&s_field=1000011&s_order=desc

[3] - https://imgur.com/a/50MBxly

[4] - https://xdevs.com/article/dmm_noise/

[5] - https://github.com/jaromir-sukuba/vm_mini

About

手持式6位数字电压电阻表

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 96.6%
  • HTML 1.8%
  • Other 1.6%