广告

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

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

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

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

设计思想:

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

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

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

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

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

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

dCrednc

声明:dCrednc

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

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

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

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

功能和指标:

电源:dCrednc

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

测量:dCrednc

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

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

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

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

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

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

系统和软件:dCrednc

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

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

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

带有简单的帮助。dCrednc

一些测试视频:dCrednc

  • 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 ,这里只是整体大略介绍下)dCrednc

电源系统:

dCrednc

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

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

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

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

MCU 系统:

dCrednc

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

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

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

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

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

输入选择:dCrednc

dCrednc

先看电压-电阻部分dCrednc

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

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

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

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

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

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

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

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

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

程控放大:

dCrednc

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

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

Ref and ADC:

dCrednc

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

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

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

欧姆电流源:

dCrednc

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)。dCrednc

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

外观介绍:

dCrednc

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

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

dCrednc

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

dCrednc

 

VLT 电压测量。dCrednc

dCrednc

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

AMP 电流测量。dCrednc

TMP 温度测量。dCrednc

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

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

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

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

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

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

ZRO 将偏置补偿置零。dCrednc

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

再下面是dCrednc

PWD     PLED     SDLED     RSTdCrednc

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

dCrednc

这些符号的意义如下:dCrednc

Help 显示帮助菜单dCrednc

Off    关机dCrednc

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

Time 设置系统时间dCrednc

dCrednc

(时间菜单的帮助)dCrednc

dCrednc

(时钟设置菜单)dCrednc

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

dCrednc

(校准菜单)dCrednc

Ver 显示固件版本号dCrednc

dCrednc

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

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

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

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

再下面是SD卡座dCrednc

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

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

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

数据文件存储:

dCrednc

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

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

dCrednc

校准:

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

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

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

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

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

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

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

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

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

准备短路线。dCrednc

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

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

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

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

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

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

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

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

再次重启DMM。dCrednc

dCrednc

(校准文件)dCrednc

dCrednc

(校准软件)dCrednc

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

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

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

  • 我也在设计一款三位半开源万用表:https://bbs.21ic.com/icview-3317062-1-1.html,感兴趣的加入进来,一起干
  • 不错。学习学习
  • 能不能加入输入信号频率测量组件
  • 学习学习
  • 学习一下!
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了