广告

DIY高精度六位半数字万用表,分享详细原理图

2020-01-16 阅读:
DIY高精度六位半数字万用表,分享详细原理图
随着电子技术的进步,高性能低成本的器件层出不穷,使得制作一部低档的6.5位数字多用表成为了可能,这里介绍这款六位版,就是在性能上、功能上和成本上综合考虑的一种设计实现方案。

数字多用表是常用的测量仪器,目前市场常见的是3.5(三位半)和4.5 手持表,用于一般测量,另外高端的则是6.5位以上的台式表,价格较高,用于高精度测量。jvxednc

随着电子技术的进步,高性能低成本的器件层出不穷,使得制作一部低档的6.5位数字多用表成为了可能,这里介绍这款六位版,就是在性能上、功能上和成本上综合考虑的一种设计实现方案。jvxednc

设计思想:

选用成品的通用元件:高端DMM采用以 恒温深埋齐纳基准——前端为Dual JFET的混合低噪声运算放大器——多斜率积分高速高分辨率ADC 为主轴的测量系统,其中每个部分的制作难度都非常高,而且需要昂贵的仪器进行调试、校准,这样的要求在业余条件下是难以满足的,所以这里采用了相对低成本 可靠通用IC 精密带隙基准——单片低噪声斩波稳零放大器——24Bits低噪声ΣΔ ADC来替代,这样的既可以减少元件采购难度,降低整体成本,最重要的是能得到可靠的性能保证,就是说可以根据DataSheet上标明的最差指标可以计 算出系统的整体性能。jvxednc

放弃高电压,大电流量程:首先对这些量程进行高精度测量本身难度就非常高,而且对系统的输入选择、保护系统提出了很高的要求,元件质量要求高,PCB面积占用大,最重要的是要为用户人身安全负责,为了避免出现安全问题所以没有设置危险的测量量程。jvxednc

放弃长期稳定性:要靠数字多用表本身来保证长期稳定性意味着整个系统每个部分都要有很高的长期稳定性,基准要用深埋齐纳基准,分压电阻要用精密电阻网络等 等,成本会显著提高,相对而言购买或制作标定好的基准(LYMEX有售)要便宜的多,而且在进行对比测量时可以将整体的精度提高到接近外部基准的水平。jvxednc

放弃交流测量:由于没有设计交流测量系统的条件,所以没有做.jvxednc

采用手持设备架构:由于现代MCU的集成度非常高,开发工具越来越简便,加之笔者最近在学习STM32,所以就做成手持设备了.jvxednc

总的讲设计要素的优先关系如下:低成本〉小巧〉低功耗〉高性能jvxednc

jvxednc

声明:jvxednc

本文涉及的内容涵盖危及生命的电学测量,特别提醒实验者确保人身安全!jvxednc

作者完全出于业余爱好撰写该文,由于能力有限疏漏乃至错误在所难免,因此作者不对该文章(包括附带的其他资料)的正确性负责,同时也不对因援引该文或使 用附带资料导致的信誉损失、商业利益损失、财产损失、人身伤亡等(包含上述内容,但不见限于上述内容)负任何连带责任。jvxednc

作者完全出于学习目的撰写该文, 该项目被视为非商业性的,作为学习模拟技术/ STM32 的验证平台而被创建,因此没有义务回答非技术问题.jvxednc

出于互联网之 free&open 精神,作者将对项目涉及的硬件,固件,上位机软件,开发相关的心得,技术参考等会(等待完善后)开源,希望但不要求您在援引该文或使用上述开源资料时提及作者。jvxednc

功能和指标:

电源:jvxednc

3.0V~6V供电可用单节磷酸铁锂(3.2V), 单节钴酸锂(3.7V) , 单节锰酸锂(3.6V),三节碱性电池(4.5V),三节镍镉或镍氢电池(3.6V),功耗250mW(开启数据保存),2.9V低电压关机(为了保护锂 电避免过放电),软件电源开关,待机电流<5uA.jvxednc

测量:jvxednc

1ppm 分辨率 1ppm 噪声 5ppm 线性度 1ppm温度系数。jvxednc

电流测量 100mA,10mA,1mA 压降<0.125V , 500mA 熔断器。jvxednc

电压测量100mV , 1V >10G高阻抗输入, 10V ,100V 9M 低阻抗输入(新版批量采购1.1M的电阻就是标准的10M,后文详述)。jvxednc

电阻测量 100R 1K 10K 100K 1M 采用恒流方式(对应为1mA ,1mA, 100uA,10uA,1uA)开路电压5V,支持4线模式。jvxednc

温度测量 采用PT100传感器,可处理到 -200摄氏度~850摄氏度,分辨率0.01度。jvxednc

除温度测量外都有25%的超量程测量(例如1V可测到1.25V)当开启自动量程转换时连续三个测量读数都超量程时向上换档,连续三个测量读数都欠量程(< 0.11)时向下换档.jvxednc

系统和软件:jvxednc

支持SD卡数据存储,导入校准数据,从SD卡更新固件(新版功能)。jvxednc

支持实时时钟,可设置自动关机,以及定时唤醒数据采集模式。jvxednc

支持自动量程,0位补偿,数字滤波。jvxednc

带有简单的帮助。jvxednc

一些测试视频:jvxednc

  • flash: http://player.youku.com/player.php/sid/XMjEyMDM1MDI0/v.swf
  • flash: http://player.youku.com/player.php/sid/XMjEyMDM1NTg0/v.swf
  • flash: http://player.youku.com/player.php/sid/XMjEyMDM2MTI0/v.swf
  • flash: http://player.youku.com/player.php/sid/XMjEyMDM0Mzg4/v.swf

设计原理:

(更详细的设计基础见 DIY DMM Reference.doc ,这里只是整体大略介绍下)jvxednc

电源系统:

jvxednc

电池供电,首先经过有Q71构成的反接保护电路,之后分为两路,一路经HT7130稳压到3.0V供MCU,另一受Q72的控制作为外设的电源,它连接至两个由LT1372构成的Boostjvxednc

升压器,分别升至15V(供欧姆电流源和OLED偏压)和5V(供模拟部分)jvxednc

这里采用HT7130主要是考虑到其且具有极低的静态功耗,特别适合为待机的MCU供电。jvxednc

DCDC变换器采用LT1372是因为其低成本,且该器件具有NFB功能,可以方便的构成Cuk 拓扑结构,组成负电压输出的开关调节器(新版要用到+-15V),虽然由于静态功耗较大,在小电流输出下效率较低,但总体上还是不错的。jvxednc

MCU 系统:

jvxednc

MCU 采用STM32F103R6T6 (其实101系列就行,但是市面上没有零售)靠内部的RC振荡器工作在20MHz的频率上(更快没实际意义,且更费电),后备电池使用0.22F的超级电 容,(为了兼容性,又做了个100uF钽电容的焊盘)RTC晶振使MC-306 6pF 32.768K,注意要接入200K的R66否则容易振坏。jvxednc

MCU使用5线SWD端口进行Flash烧写和调试。jvxednc

PA0构成软件电源开关,可以从待机模式唤醒MCU。jvxednc

OLED使用串行模式,4X3矩阵键盘,SD卡采用SPI模式。jvxednc

其他端口用来控制模拟板。jvxednc

输入选择:jvxednc

jvxednc

先看电压-电阻部分jvxednc

继电器K1选择将HI输入端子直接接入模拟开关或者进行分压。jvxednc

继电器K2选择将欧姆电流源注入HI或者LOW。jvxednc

上面的两个继电器都使用磁保持型的,避免长期通电发热导致热电势误差。jvxednc

HS,LS,以及HI的输入通过R01-R06以及R17-R1A D17-D16 组成的保护电路被限制在+-2.0V,然后加上从 9串:11并的1.1M分压阵列99:1分压后的电压一起进入8选一模拟开关。jvxednc

电流部分先经过500mA熔断器-全桥的保护电路,经过继电器选择接入100R 10R 或1R的分流电阻,其上的压降取出后也被送入模拟开关,U01A构成的跟随器将提升二极管桥中点的电位至电流输入端子电位,从而减小了他们的漏电流。jvxednc

U01B为测量系统提供中点参考电位(也就是LOW端子的电位)。jvxednc

这里需要提下的是分压电阻采用了50ppm的晶圆电阻构成阵列,下面PCB敷铜均温,从实际效果看还是非常不错的。jvxednc

U01由于要求不高所以采用了低成本的MCP6002。jvxednc

模拟开关原计划用MAX328的,但由于货源原因,用ADG508代替了。jvxednc

程控放大:

jvxednc

这里采用了AD8629作为主放大器,该器件为低噪声斩波稳零放大器,U20A根据U27选择的反馈信号配置成X1或X10放大器,U20B是一个驱动驱动容性负载的缓冲器,用以驱动ADC。jvxednc

同样的这里的分压电阻采用了3串:3并构成的9:1分压器,由于要求不高模拟开关采用了采用了高速CMOS的74HC4053jvxednc

Ref and ADC:

jvxednc

U44是2.5V精密带隙基准,采用ADR421B他能稳定地驱动1uF的容性负载,最大3ppm/C的温度系数,1.5uV pp 0.1~10Hz 噪声jvxednc

U43采用24Bit低噪声ΣΔ ADC LTC2440 可提供接近21Bits的有效位。jvxednc

U41为低噪声LDO调节器LP2985,为模拟部分提供5V电源。jvxednc

欧姆电流源:

jvxednc

U31为低偏置电流精密运放AD706,其中U31A和Q31起到参考电压缩放-转移的作用,将2.5V的基准转换成比标准电阻(RJ31~RJ34)公 共端低1V输入到U31B的正,模拟开关用于选择4个标准电阻(开尔文接法),Q32是PJFET受U31B控制保持标准电阻两端的电压为 1V,Q33~Q35 与 D31 组成保护电路(Q34,Q35实际为高反压PNP管2N6520,Q33为低漏电流N-JFET PN1117A)。jvxednc

DZ1与R30构成降压电路使得U31B的输出能足够的正使Q32截止。jvxednc

外观介绍:

jvxednc

最上方的是OLED显示屏,蓝绿色128X32点阵,亮度比较高,在室外强光下也可以看清楚,整体感觉比较像VFD,jvxednc

下面是3行4列的键盘阵列,在测量模式下他们的意义如下jvxednc

jvxednc

(在帮助模式下显示的提示,按下对应位置的按键就会有更详细的英文说明)jvxednc

jvxednc

 

VLT 电压测量。jvxednc

jvxednc

OHM 电阻测量,如果已经是电阻测量模式了再次按下,就是在4线和2线制之间来回切换。jvxednc

AMP 电流测量。jvxednc

TMP 温度测量。jvxednc

UP 切换到更高的量程,同时关闭自动量程切换。jvxednc

AR 切换是否开启自动量程转换。jvxednc

NUL 捕捉当前值作为偏置补偿。jvxednc

NEW 备份当前的数据文件,创建新的数据文件作为当前文件。jvxednc

LOW 切换到更低的量程,同时关闭自动量程切换。jvxednc

DF 切换是否开启数字滤波。jvxednc

ZRO 将偏置补偿置零。jvxednc

STR  切换是否开启数据文件保存。jvxednc

再下面是jvxednc

PWD     PLED     SDLED     RSTjvxednc

PWD 电源按钮,待机时按下开机,工作时按下呼出系统菜单(位置对应3行4列的键盘阵列)jvxednc

jvxednc

这些符号的意义如下:jvxednc

Help 显示帮助菜单jvxednc

Off    关机jvxednc

Auto 切换是否10分钟自动关机jvxednc

Time 设置系统时间jvxednc

jvxednc

(时间菜单的帮助)jvxednc

jvxednc

(时钟设置菜单)jvxednc

Cal 呼出校准菜单,关于校准内容后面会详细介绍jvxednc

jvxednc

(校准菜单)jvxednc

Ver 显示固件版本号jvxednc

jvxednc

1M 5M 10M 30M 1H 2H 进入 1分钟到2小时间隔的唤醒采样模式(该模式下按PWD键可以退出唤醒采样模式)jvxednc

PLED 指示电源良好(工作状态)jvxednc

SDLED 指示正在进行SD卡的IO操作jvxednc

RST 为复位键,复位除系统时钟外的所有状态jvxednc

再下面是SD卡座jvxednc

再下面是输入端子,水平间距是标准的19.05mm(3/4吋)垂直间距时12.7mm(1/2吋)jvxednc

上排两个从左到右为            LS端子 ,HS端子jvxednc

下排三个从左到右为 AMP端子 ,LOW端子 HI端子jvxednc

数据文件存储:

jvxednc

当用户安装了SD卡后即可将采集的数据存储其上,当前的存储文件名位为data.csv(可以用Excel直接打开,由于是纯文本格式notepad也可以直接打开,编辑)。jvxednc

在按下New键后data. csv就会被命名为data_000. csv data_001. csv等等,并且创建一个新的data. csv用来保存后续的数据,一般情况下,建议用户完成一组测量后按下先按下Str停止存盘,选择新的功能或量程,按下New切换文件,并再次按下Str开 启数据保存。jvxednc

jvxednc

校准:

DMM 的ADC采样后转化成满量程为+-1.0的值,然后经过 y=kx+c;的线性校准作为输出的读数。在DMM内存为每个量程维护了一组kc值构成一个校准表作为当前校准系数,同时可以将这个校准表烧录到 Flash中,以便长期保存(开机默认加载Flash的内容进校准表)。jvxednc

校准菜单中对应如下按键jvxednc

Idty:将校准表归一化(c=0,k=1.25)。jvxednc

Load:从SD卡读取cal.txt的文件,填充校准表。jvxednc

Save:将校准表的数据回写进cal.txt文件。jvxednc

Write: 将校准表的数据烧写进Flash。jvxednc

Read:加载Flash的内容进校准表。jvxednc

用户的校准过程是这样的:jvxednc

准备对应量程的标准源。jvxednc

准备短路线。jvxednc

为将待校准的表安装SD卡。jvxednc

将待校准的表切换到恰当量程,唤出校准菜单,按下Idty,归一化校准表。jvxednc

短路输入端子,记录读数。(建议开启DF以便获得稳定的度数)。jvxednc

将源接入输入端子,记录读数。(建议开启DF以便获得稳定的度数)。jvxednc

将数据输入makecal.exe生成kc值。jvxednc

修改cal.txt对应量程的kc值。(没有的话可以在校准菜单按下Save生成一个)jvxednc

为每一个量程重复上述过程。jvxednc

重启DMM,唤出校准菜单,按下Load,按下Write。jvxednc

再次重启DMM。jvxednc

jvxednc

(校准文件)jvxednc

jvxednc

(校准软件)jvxednc

非常好的尝试,测试了样机,感觉最突出的特点有:jvxednc

  • 良好的性能,例如短稳、噪音,都达到了相当高的水平
  • 丰富的功能,比如4线电阻、Pt100测温,这主要得益于软件设计
  • 具有SD卡接口,这个非常好,便于独自高精度采集
  • 成本并不高。

(本文转载自单片机DIY论坛,版权归作者所有。责编:Demi Xia)jvxednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 架起华为鸿蒙与开发者的桥梁:HMS Core 5.0 详解 华为鸿蒙,特别是手机上的鸿蒙OS是大家一致期待的,不过在手机鸿蒙面世之前,华为早就做出并在手机上更新了HMS,目前HMS 已经升级到了5.0。在8月3日,华为官方宣布的华为开发者大会HD
  • 了解天线设计和匹配网络 当谈到现实世界中的实际天线时,有很多知识都是经验性的。本文将从物理层面对无线电子设备如何工作分享一些直观认知,希望帮助读者更广泛地了解天线设计和匹配网络,并强调最佳实践的价值以及来之不易的学问。
  • 华为搭载鲲鹏920最新24核心2.6GHz台式机曝光 华为曾于一年前发布了鲲鹏920处理器,它支持32/48/64三种内核数量,频率可达2.6GHz,采用7nm工艺制造,兼容ARM架构,是华为的数据中心高性能处理器。华为已经把鲲鹏920用到了台式机上,最近又爆出一款高性能主机。
  • 可实现电动汽车电池超高精度监测的TMR传感器解决方案 电池电量指示仪表是混合动力电动汽车(xEV)的一项基本功能配置。电池监测功能可以准确测量剩余电池容量,有助于精确估算行驶距离,随着电动汽车耗电量的增加,未来将需要更精确的电池监测功能。而电流传感器就是影响电动汽车电池监测性能的元件之一。
  • 华为Mate 40效仿三星用双处理器?国行麒麟,国外联发科 有海外人士爆料称,华为Mate 40或采用与三星类似的双处理器方案,其中国行版本将搭载麒麟1020,而高通骁龙 865/865+,联发科天玑 1000+ 以及三星 Exynos 990 都有可能成为mate 40海外版本的备选芯片。
  • AI芯片有哪些关键指标? 目前,各种促进深度学习算法有效处理的新架构和新技术不断推向市场。那评价一款AI芯片最关键的指标到底是什么?
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了