
标准版
#第四届立创大赛#动态电流检测设备
1.3w
0
0
25
简介
源于在做低电流的检测时找不到合适的设备,想测量一下ESP32的功耗,却要使用上万元的设备。而且一般设备便携性也比较差。基于便携性和价格实惠的想法,想做一款适合广大创客的一款低功耗动态电流检测设备。
简介:源于在做低电流的检测时找不到合适的设备,想测量一下ESP32的功耗,却要使用上万元的设备。而且一般设备便携性也比较差。基于便携性和价格实惠的想法,想做一款适合广大创客的一款低功耗动态电流检测设备。开源协议
:CC-BY-NC-SA 3.0
创建时间:2019-08-07 16:13:43更新时间:2021-12-14 04:46:36
描述
立创电子设计大赛
由于个人能力原因,文档中可能存在一些错误,望评委和大家指正。希望该项目的实验过程以及实验方法能够给大家提供一些思路和帮助。
低功耗动态电流检测设备
此次竞赛选题命名主题类型,低功耗产品我们想要检验产品功耗是否达到想要的标准,然而专业电流分析仪器价格昂贵,作为初创公司或者创客是难以承受的,故我将设计一款性能适中的电流检测设备。为什么做这个题目?源于在做低电流的检测时找不到合适的设备,想测量一下ESP32的功耗,却要使用上万元的设备。而且一般设备便携性也比较差。基于便携性和价格实惠的想法,想做一款适合广大创客的一款低功耗动态电流检测设备。初步计划做一款万用表的辅助设备,目前万用表测量电流是非常不准确的,文中也会详细介绍,初步计划也将用于验证原理的准确性。在精度保证的前提下,进行制作动态电流的检测设备。相信这两款设备会符合便携性、价格实惠以及性能适中的标准。
本作品抛弃TI电流监控芯片现成产品,打算通过运放进行搭建,实验过程记录,如果能够进一步的帮助各位对电流的检测,那就是本项目的成功。
1、作品详情
该作品分为两个系列:
一、用于辅助万用表进行微小电流测量,一般万用表负载电压比较大。【手动选择量程】
二、通过微控制器进行自适应测量,用于动态电流的测量【自动选择量程】
基本功能:
- +/- 0-1000mA (20µV / mA 负载电压)
- +/- 0-1000µA (10µV / uA 负载电压)
- +/- 0-1000nA (10µV / nA 负载电压)
- 输出电压:
1mV/mA
1mV/µA
1mV/nA
NOTE: 直接将读到的mv转换成对应档位的电流单位即可 - 24小时数据保留
- 电流波形图实时展示
- 自适应测量范围
- 设备低功耗(仅使用一颗纽扣电池)
注意:由于需要保持较低的负载电压,因此设计中不包括过载保护。使用本机时需要注意防止过载。
2、所面临的挑战以及解决方案
2.1 如何检测电流
- Bus Voltage(总线电压) :电源和GND之间的总电压。 它是负载电压和分流电压的总和。
- Load Voltage(负载电压) :负载电阻两端产生的电压称为负载电压。
- Shunt Voltage(分流电压) :分流电压是与负载串联的分流电阻两端的电压降,这就是传感器测量电流的方式。
TIPS:对于电阻性电流源,负载电压可以直接与电流源相互作用并产生错误的电流读数。发生这种情况是因为负载电阻成为电流产生电阻的一部分,从而降低了电流。为了最大限度地减少这种相互作用,负载电阻应该比电流源的输出电阻小得多。相应的负载电压也将很小。
首先通过流过负载电阻将要测量的电流转换为电压。然后测量合成电压,并与负载电阻一起用于计算输入电流。由于电流符合欧姆定律,分流电阻两端的电压降与流过电路的电流成正比。 并且由于分流器的电阻是已知的,因此很容易计算电流。
上图展示几种用于将电流转换为电压的电路技术(基本技术),这些电路可以提供更准确的结果并拓展测量范围。
图b显示了跨阻抗放大器的电路,这可能是电流测量电路中最通用的,因为它可以使用简单的电路覆盖大电流的测量范围。
在该电路中,来自电流源的输出连接到运算放大器的负输入,而放大器的正输入连接到参考电压。
当存在双极电源时,该参考电压通常是电路接地,而当存在单个电源时,该参考电压通常是一些中间电压。
2.2 该项目跟万用表有什么区别?
我们还是继续讨论负载电压,负载电压是由流过电流测量装置的电流引起的电压降。较大的负载电压会影响被测电路,从而破坏测量。
因此,希望将负载电压保持尽可能低。
下图显示了具有5Ω负载的1.5 V电源。
为了测量电路上的电流,电流表与电路串联连接。
在该图中,电流表具有0.5V的负载电压。
I = 1.5V/5 = 0.3A(实际上)
I = (1.5-0.5)/5 = 0.2A(万用表检查出来)
以上表述可以看出,万用表通常情况下,检测电流并不是很准确。
有朋友又问,那如果价格更贵的万用表不就可以达到检测电流精度?
于是我通过网上搜集到国外相关的数据。我们可以看出其实万用表中的负载电压误差挺大的。
2.3 电压漂移
该设计的核心是一个Maxim MAX 4238,一个特殊的“超低偏移/漂移,低噪声精密放大器”。顾名思义,这是一个相当高规格的设备。在这个应用中的关键数字是近零偏移电压。不只是像许多精密运算放大器那样的“低偏移”,这个几乎没有。实际的偏移电压。0.1uV(典型值),在整个温度范围内,最大数值为2.5uV。
2.4 总是出问题10毫欧
当第一版和第二版测量mA电路时,总会发现电流跟实际偏大,而且不只一点,作者陷入深思。这时作者还傻傻的用万用表在通电的情况下去测量电阻,时不时的问自己,是不是放大倍数有误差。【几经波折】
提示:通电的情况下用万用表测量电阻是错误的。
通过测量μA级别居然误差明显缩小,于是我便发现可能是这个10毫欧的电阻问题,因为电阻本身比较小,有很多因素可以影响到他,这也是后面选择MOS管时为什么推荐导通电阻小于10毫欧。通过一个多星期的研究,发现有一种电阻居然有四个脚,发现新大陆。【LVK12R010DER】让我们一起来看看数据手册
通过数据手册的原理图,我们可以看到,四个脚二个是电流脚二个是电压脚。【工作原理?】
通过了解发现,这种连接方式有点类似开尔文连接电阻,这种“开尔文”配置的电阻器具有四个导线或端子。这些四端子电阻器能够通过两条相反的导线施加电流,并通过另外两条导线测量感测电压。开尔文配置有效地消除了导线的电阻和温度系数。这不就确保我们的误差能够降低?
2.5 切换量程速度快是关键
这里我打算采用ESP32作为例子来介绍,但是最早的ESP32未对低功耗进行优化,实际测量也在mA级别(坑呀)。通过查阅资料,我发现此款FireBeetle Board - ESP32外围兼容低功耗硬件设计,深度睡眠模式下功耗仅为10uA。通过对FireBeetle Board - ESP32 睡眠开启,WIFI开启等编程步骤,用来测试微电流检测装置切换量程的速度,以及是否能够及时的测量到电流。
我们知道,被测量设备的电流是动态的,有时μA级别有时mA级别,期间若切换速度过慢,则会影响测量的结果,所以切换速度也是一个关键。如何提高切换速度呢?
1、首选高速度的MOS管
2.6 为什么UT61E不能测量ESP32的电流呢?
这个问题虽然不难解释,但是你想不到,问题就变得复杂
UT61E万用表测试参数
下图ESP32提供的数据手册
平均工作电流80mA,若我们采用mA档位,根据U=0.08*10=0.8V,需要分压0.8V,那么ESP32就不能够达到工作电压,故通过万用表进行测量是行不通的【下图为UT61E测量示意】。而我们设计的产品0.01欧的分压电阻,U=0.01(欧)*80ma=0.8mv的分压,对于3.3V损失0.08mv影响不大,故可以正常测量。
2.7 VGND和GND(大型BUG现场)
最开始我们想用两个MOS管进行控制,来降低干扰,想法是正确的,但是在REV6时却出现突如其来的电压,由于临近比赛,作者烦躁不安,研究一下午,想到先用上一个版本把视频录制出来吧。晚上剪辑视频导出后也一直弄到晚上12点。今天我们就来讨论出现的问题、问题的原因,以及解决办法。
图中作者出现两个错误
一、mos管2、3脚接反,导致电压直接进入Q2、Q3
二、GND和VGND两个地没有连接起来(用磁珠)导致的错误就造成GND变成一根导线,只要接通一个MOS管,那么其余的mos管都将有+V的电压,导致mos管全部导通的问题。
虽然问题很小,但是这个GND的问题真的很容易忽视,希望大家以后注意。
2.7.1 后续问题发现
测试过程中,这样接入后,测量电路的地一定需要分开,不然会出现测量误差变大,具体问题还待分析。
3、描述作品硬件、软件部分涉及到的关键点
3.1 自适应量程【硬件部分】
作为动态电流检测设备,自适应量程是非常重要的,实际上自适应量程只需要mos管进行。选择合适的MOS管将是关键。首先选择的第一指标就是非常低的导通电阻,需要小于或等于10毫欧的导通电阻。
但当电路板做出来过后发现,用一个MOS管进行导通和开关会有比较大的干扰,作者猜想是由于单片机导致的,所以第六版自适应量程则通过2个mos管进行控制。原理图如下图所示
图中我们可以看到,第一个mos管进行开关电压源,第二个mos管则用于选择不同的电阻。这样就避免单片机直接接入选择电阻的mos管造成误差。
3.2 自适应量程【软件部分】
3.3 电阻的选用
那如何得到的电压和电流的关系的呢?大家都知道欧姆定律U/I=R,但是由于设计时放大倍数100倍。则公示应以下图所示
根据该公式我们就可以算出电压和电流之间的关系:
3.4 电阻连接(拨动开关控制)
量程mA的模拟示意图:红线代表IN+,蓝线代表IN-。
量程μA的模拟示意图:红线代表IN+,蓝线代表IN-。
3.5 电阻连接优化(自适应量程)
量程mA的模拟示意图:红线代表IN+,蓝线代表IN-。
R7串联在放大器上,我们可以认为运放具有高阻抗,几乎可以忽略对电流的影响,R8则和R1进行并联,最后的阻值0.009999欧约等于0.01欧(10毫欧)
量程μA的模拟示意图:红线代表IN+,蓝线代表IN-。
R7与R8串联,但由于R8阻值只有10毫欧对R7影响不大。R1和R7并联,最后的阻值在9.99999欧约等于10欧
3.6 Arduino Bootloader烧录
其基本原理主要是通过串行通信端口或SPI(Serial Peripheral Interface,串行外设接口)端口来将程序从电脑传输到单片机的。为了在通用的通信接口上实现这种专用目的的数据传输,需要在单片机的ROM中事先烧录一段代码,这段代码在每次加电时自动运行,主要用于检测来自电脑端的程序传输信号,如果检测到特定信号,则启动程序上传(烧录)过程,否则就转去执行常规程序。这段代码就叫做Bootloader
烧录过程,将另外一款单片机刷入AVRISP的例程,连接示意图如下。
最后设置好,点击烧录即可
Arduino 代码上传后测试图:
4、作品材料清单
- 作品需要的材料清单已经上传到附件
测试设备有:
1、ADALM 2000
2、UT61E万用表
3、Arduino Uno
4、ADS1115
5、作品图片
5.1 REV2介绍
版本介绍:
该版本修改上一版本0.01欧电阻的选用,改为开尔文连接方式的电阻,降低误差
1、通过跳帽来选择量程,目前设置有mA、μA、nA
2、通过虚拟地来创建双电源+-1.5V
3、通过电压检测芯片来检查电池电压是否足够(图片中暂未焊接)
使用方法:
1、选用量程,低端测量
2、使用万用表测量输出OUT电压
3、根据选用的量程计算出对应的电流值
例如
mA:1mv/mA
μA :1mv/μA
nA :1mv/nA
5.2 REV 2(辅助版)简易对比试验【已升级至REV3】
μA级档位检测:1mv/μA
测量对象:
1、510欧电阻+LED灯
2、供电电压:2.304V 灯不亮 电流0.98μA
由于没有相关测量实验器材,目前测量设备:
1、UT61E万用表
2、ADALM2000(提供电压)
后续改进:
1、将原有的排针选择的方式更改为滑动开关选择量程(REV3、4中已实现)
2、降低输入输出的噪音,例如屏蔽底座等等(作者目前感觉用处不大)
3、将添加自适应量程模式(REV5已完成)
5.3 REV3(手动版正式版)
该版本应该是手动版中最后的版本,于2019年9月16日完善。后续的更新也应该是如同接口和保护电路等等更新。
首先介绍一下该版本:
1、首先修改电阻连接方式,之前0.01欧电阻虽然使用开尔文连接方式,但是实际效果并不佳。
2、由跳帽的方式更改为拨动开关的方式,从上到下分别为nA、μA、mA的选择量程的过程。
3、优化元件线路以及布局
下面是新版本的焊接后的成品图
测试mA数据如下
测试μA数据如下
测试误差分析:
1、测试设备:万用表和16位ADC(因为没有万用表),ADC的采样误差导致。
2、万用表本身具有的误差。
测试总结:因为LED灯的电流各种因素会影响,所以导致每次测量都会不一致,如果有一个恒流的电源效果应该会好很多。但是总的来说,微电流检测设备的误差跟万用表还是特别相近的,如果能够得到更高仪器的校准,我相信该设备及其符合低成本,性能适中的题目要求,但是该版本为手动调整的版本,不符合自动电流检测,相信后续的自动化版本会给你带来惊喜。【基础款完结】
5.4 REV5 介绍
该版本是自动量程的设计,通过单MOS管进行控制,有较高的误差。
但该版本未加入控制器接线比较繁琐,后一款将会加入控制器
REV5 版本更新:
1、增加自动量程的控制部分
2、增加OLED控制接口
3、增加按键选择
4、增加量程灯的显示,OLED上也会显示量程
后续改进:
1、隔离单片机造成的控制误差
2、加入Arduino最小系统
mA误差分析(跟UT61E做比较)
μA误差分析(跟UT61E做比较)
误差原因较大分析:
1、未进行校准程序,因为不清楚是设计的设备问题,还是万用表本身的误差导致。
2、ADC采样可能存在一定的误差
3、单片机地和测量地的区别
4、mos管可能未完全打开
5、mos管问题还存在很多未解决,导致积累误差较大
6、可以适当做一些滤波处理
5.5 REV6.2介绍
REV6版本更新:
1、集成单片机最小系统
2、双mos管控制
3、加入手动控制部分
REV6.2版本更新:
1、修复重大BUG共地问题,上文提及。
下图为6.2版本焊接图,图中暂未焊接开关控制部分。
测试图片
μA误差分析
REV5版本μA误差较大,REV6.2版本解决。
μA测试数据如下
5.6 REV7介绍
该版本为本作品自动控制部分正式版。
REV7版本更新:
1、程序下载芯片加入
2、重构线路,更加紧凑、便携性更高
3、精度再一次提高
5.7 全家桶(迭代设计) 2019/9/8
5.8 外壳设计
并且附上REV7的外壳设计,附件里面有stl文件可以下载打印。
6、视频上传
视频见附件
视频内容以功能测试为主,详细的原理设计以该文本为主
7、开源文档
- 首先查看立创电子设计大赛中的项目详情中的介绍
- 其次在附件中会上传各元件的设计资料,以及调试程序、视频说明等等
7.1 附件说明
- 仿真Multisim压缩包中:分别是测试电流测量、mos管开关电路、正负电压(虚拟地)
- 数据手册压缩包中:我在做设计的过程中用到的数据手
- ESP32的深度睡眠测试代码,附上ESP32 WIKI。
- 手动量程调节和自动量程调节版本的原理图
- 手动量程调节和自动量程调节版本的gerber生产图纸
- BOM
- BOM
- 视频更新(由于官网限制,目前上传版本为自动版本压缩版)
- 此设备代码展示
7.2 参考文献
- Tips for Measuring Small Currents
- 运放设计经验谈:运放十坑
- Measure small currents without adding resistive insertion loss
- Arduino 使用 SCT013 量電流(ADS1115)
- ESP32 Deep Sleep Tutorial
- 图解DIY 1pA超微电流测试器
- Measure Microamps to Amps or Reduce Power Dissipation by 99%, You Decide!
8、更新日志
文档第一次创建日期: 2019/8/9
文档第一次修改日期: 2019/8/12
文档第三次修改日期: 2019/9/1
文档第四次修改时间: 2019/9/8
文档第五次修改时间: 2019/9/14
文档第六次修改时间: 2019/9/15
文档第七次更新日期: 2019/9/18
文档第八次更新日期: 2019/9/20
文档第九次更新日期: 2019/9/22
设计图
原理图(1 / 2)
PCB
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | ADS1115IDGSR | U1 | MSOP-10 | 1 |
2 | 10k | R1,R2,R3,R4,R5 | 0805 | 5 |
3 | 1uF | C1 | 0805 | 1 |
4 | 0.1u | C4,C7,C8,C2 | 0805 | 4 |
5 | 17-21SURC/S530-A2/TR8 | LED4,LED1,LED2,LED3,LED5,LED6,LED7 | LED-0805 | 7 |

添加到专辑
0
0
分享
侵权投诉
评论