aytwartoofyoroo

#the4thLichuangcompetition#Dynamic current detection equipment

 
Overview

Lichuang Electronic Design Competition

由于个人能力原因,文档中可能存在一些错误,望评委和大家指正。希望该项目的实验过程以及实验方法能够给大家提供一些思路和帮助。

Low Power Dynamic Current Sensing Device

此次竞赛选题命名主题类型,低功耗产品我们想要检验产品功耗是否达到想要的标准,然而专业电流分析仪器价格昂贵,作为初创公司或者创客是难以承受的,故我将设计一款性能适中的电流检测设备。为什么做这个题目?源于在做低电流的检测时找不到合适的设备,想测量一下ESP32的功耗,却要使用上万元的设备。而且一般设备便携性也比较差。基于便携性和价格实惠的想法,想做一款适合广大创客的一款低功耗动态电流检测设备。初步计划做一款万用表的辅助设备,目前万用表测量电流是非常不准确的,文中也会详细介绍,初步计划也将用于验证原理的准确性。在精度保证的前提下,进行制作动态电流的检测设备。相信这两款设备会符合便携性、价格实惠以及性能适中的标准。

本作品抛弃TI电流监控芯片现成产品,打算通过运放进行搭建,实验过程记录,如果能够进一步的帮助各位对电流的检测,那就是本项目的成功。

1. Work details

该作品分为两个系列:
一、用于辅助万用表进行微小电流测量,一般万用表负载电压比较大。【手动选择量程】
二、通过微控制器进行自适应测量,用于动态电流的测量【自动选择量程】

basic skills:

  • +/- 0-1000mA (20µV / mA load voltage)
  • +/- 0-1000µA (10µV / uA load voltage)
  • +/- 0-1000nA (10µV / nA load voltage)
  • Output voltage: 1mV/mA ​​1mV/µA 1mV/nA NOTE: Just convert the mv you read into the current unit of the corresponding gear.
  • 24 hours data retention
  • Current waveform real-time display
  • Adaptive measurement range
  • The device has low power consumption (only uses one button battery)

NOTE: Overload protection is not included in the design due to the need to maintain a low load voltage. Care needs to be taken to prevent overloading when using this machine.

2. Challenges faced and solutions

2.1 How to detect current

shunt_resistor_circuit.png

  • Bus Voltage: Total voltage between power supply and GND. It is the sum of load voltage and shunt voltage.
  • Load Voltage: The voltage generated across the load resistor is called the load voltage.
  • Shunt Voltage: Shunt voltage is the voltage drop across a shunt resistor in series with the load. This is how the sensor measures current.
TIPS:对于电阻性电流源,负载电压可以直接与电流源相互作用并产生错误的电流读数。发生这种情况是因为负载电阻成为电流产生电阻的一部分,从而降低了电流。为了最大限度地减少这种相互作用,负载电阻应该比电流源的输出电阻小得多。相应的负载电压也将很小。

首先通过流过负载电阻将要测量的电流转换为电压。然后测量合成电压,并与负载电阻一起用于计算输入电流。由于电流符合欧姆定律,分流电阻两端的电压降与流过电路的电流成正比。 并且由于分流器的电阻是已知的,因此很容易计算电流。

ludington294fig2.jpg

上图展示几种用于将电流转换为电压的电路技术(基本技术),这些电路可以提供更准确的结果并拓展测量范围。
图b显示了跨阻抗放大器的电路,这可能是电流测量电路中最通用的,因为它可以使用简单的电路覆盖大电流的测量范围。
在该电路中,来自电流源的输出连接到运算放大器的负输入,而放大器的正输入连接到参考电压。
当存在双极电源时,该参考电压通常是电路接地,而当存在单个电源时,该参考电压通常是一些中间电压。

2.2 What is the difference between this project and a multimeter?

我们还是继续讨论负载电压,负载电压是由流过电流测量装置的电流引起的电压降。较大的负载电压会影响被测电路,从而破坏测量。
因此,希望将负载电压保持尽可能低。
下图显示了具有5Ω负载的1.5 V电源。
为了测量电路上的电流,电流表与电路串联连接。
在该图中,电流表具有0.5V的负载电压。

loc_eps_bv_circuit (1).gif

I = 1.5V/5 = 0.3A(实际上)
I = (1.5-0.5)/5 = 0.2A(万用表检查出来)
以上表述可以看出,万用表通常情况下,检测电流并不是很准确。
有朋友又问,那如果价格更贵的万用表不就可以达到检测电流精度?
于是我通过网上搜集到国外相关的数据。我们可以看出其实万用表中的负载电压误差挺大的。

Multimeter.png

2.3 Voltage drift

该设计的核心是一个Maxim MAX 4238,一个特殊的“超低偏移/漂移,低噪声精密放大器”。顾名思义,这是一个相当高规格的设备。在这个应用中的关键数字是近零偏移电压。不只是像许多精密运算放大器那样的“低偏移”,这个几乎没有。实际的偏移电压。0.1uV(典型值),在整个温度范围内,最大数值为2.5uV。

2.4 There is always a problem with 10 milliohms

当第一版和第二版测量mA电路时,总会发现电流跟实际偏大,而且不只一点,作者陷入深思。这时作者还傻傻的用万用表在通电的情况下去测量电阻,时不时的问自己,是不是放大倍数有误差。【几经波折】
提示:通电的情况下用万用表测量电阻是错误的。
通过测量μA级别居然误差明显缩小,于是我便发现可能是这个10毫欧的电阻问题,因为电阻本身比较小,有很多因素可以影响到他,这也是后面选择MOS管时为什么推荐导通电阻小于10毫欧。通过一个多星期的研究,发现有一种电阻居然有四个脚,发现新大陆。【LVK12R010DER】让我们一起来看看数据手册

LVK12R010DER

通过数据手册的原理图,我们可以看到,四个脚二个是电流脚二个是电压脚。【工作原理?】
通过了解发现,这种连接方式有点类似开尔文连接电阻,这种“开尔文”配置的电阻器具有四个导线或端子。这些四端子电阻器能够通过两条相反的导线施加电流,并通过另外两条导线测量感测电压。开尔文配置有效地消除了导线的电阻和温度系数。这不就确保我们的误差能够降低?

2.5 Fast switching range is the key

这里我打算采用ESP32作为例子来介绍,但是最早的ESP32未对低功耗进行优化,实际测量也在mA级别(坑呀)。通过查阅资料,我发现此款FireBeetle Board - ESP32外围兼容低功耗硬件设计,深度睡眠模式下功耗仅为10uA。通过对FireBeetle Board - ESP32 睡眠开启,WIFI开启等编程步骤,用来测试微电流检测装置切换量程的速度,以及是否能够及时的测量到电流。

我们知道,被测量设备的电流是动态的,有时μA级别有时mA级别,期间若切换速度过慢,则会影响测量的结果,所以切换速度也是一个关键。如何提高切换速度呢?
1、首选高速度的MOS管

2.6 Why can’t UT61E measure the current of ESP32?

这个问题虽然不难解释,但是你想不到,问题就变得复杂
UT61E万用表测试参数

QQ screenshot 201909111113554.png

下图ESP32提供的数据手册

QQ screenshot 20190911114010.png

平均工作电流80mA,若我们采用mA档位,根据U=0.08*10=0.8V,需要分压0.8V,那么ESP32就不能够达到工作电压,故通过万用表进行测量是行不通的【下图为UT61E测量示意】。而我们设计的产品0.01欧的分压电阻,U=0.01(欧)*80ma=0.8mv的分压,对于3.3V损失0.08mv影响不大,故可以正常测量。

UT61E measurement diagram

2.7 VGND and GND (large BUG site)

最开始我们想用两个MOS管进行控制,来降低干扰,想法是正确的,但是在REV6时却出现突如其来的电压,由于临近比赛,作者烦躁不安,研究一下午,想到先用上一个版本把视频录制出来吧。晚上剪辑视频导出后也一直弄到晚上12点。今天我们就来讨论出现的问题、问题的原因,以及解决办法。

QQ screenshot 20190915115558.png

图中作者出现两个错误
一、mos管2、3脚接反,导致电压直接进入Q2、Q3
二、GND和VGND两个地没有连接起来(用磁珠)导致的错误就造成GND变成一根导线,只要接通一个MOS管,那么其余的mos管都将有+V的电压,导致mos管全部导通的问题。

虽然问题很小,但是这个GND的问题真的很容易忽视,希望大家以后注意。

2.7.1 Subsequent problem discovery

测试过程中,这样接入后,测量电路的地一定需要分开,不然会出现测量误差变大,具体问题还待分析。

3. Describe the key points involved in the hardware and software parts of the work

3.1 Adaptive range [hardware part]

作为动态电流检测设备,自适应量程是非常重要的,实际上自适应量程只需要mos管进行。选择合适的MOS管将是关键。首先选择的第一指标就是非常低的导通电阻,需要小于或等于10毫欧的导通电阻。
但当电路板做出来过后发现,用一个MOS管进行导通和开关会有比较大的干扰,作者猜想是由于单片机导致的,所以第六版自适应量程则通过2个mos管进行控制。原理图如下图所示

Adaptive range

图中我们可以看到,第一个mos管进行开关电压源,第二个mos管则用于选择不同的电阻。这样就避免单片机直接接入选择电阻的mos管造成误差。

3.2 Adaptive range [software part]

Adaptive range

3.3 Selection of resistors

QQ screenshot 20190908172751.png

那如何得到的电压和电流的关系的呢?大家都知道欧姆定律U/I=R,但是由于设计时放大倍数100倍。则公示应以下图所示

formula

根据该公式我们就可以算出电压和电流之间的关系:

formula

3.4 Resistor connection (toggle switch control)

量程mA的模拟示意图:红线代表IN+,蓝线代表IN-。

mA current trend.png

量程μA的模拟示意图:红线代表IN+,蓝线代表IN-。

Switch version uA.png

3.5 Resistor connection optimization (adaptive range)

量程mA的模拟示意图:红线代表IN+,蓝线代表IN-。
R7串联在放大器上,我们可以认为运放具有高阻抗,几乎可以忽略对电流的影响,R8则和R1进行并联,最后的阻值0.009999欧约等于0.01欧(10毫欧)

QQ screenshot 20190908185836.png

量程μA的模拟示意图:红线代表IN+,蓝线代表IN-。
R7与R8串联,但由于R8阻值只有10毫欧对R7影响不大。R1和R7并联,最后的阻值在9.99999欧约等于10欧

QQ screenshot 20190908191736.png

3.6 Arduino Bootloader burning

其基本原理主要是通过串行通信端口或SPI(Serial Peripheral Interface,串行外设接口)端口来将程序从电脑传输到单片机的。为了在通用的通信接口上实现这种专用目的的数据传输,需要在单片机的ROM中事先烧录一段代码,这段代码在每次加电时自动运行,主要用于检测来自电脑端的程序传输信号,如果检测到特定信号,则启动程序上传(烧录)过程,否则就转去执行常规程序。这段代码就叫做Bootloader

烧录过程,将另外一款单片机刷入AVRISP的例程,连接示意图如下。

QQ screenshot 20190915101415.png

最后设置好,点击烧录即可

QQ screenshot 20190915100947.png

Arduino 代码上传后测试图:

IMG_20190915_151600.jpg

4. List of work materials

  • The list of materials required for the work has been uploaded to the attachment
测试设备有:
1、ADALM 2000
2、UT61E万用表
3、Arduino Uno
4、ADS1115

5. Pictures of works

5.1 Introduction to REV2

IMG_20190901_210527.jpg

版本介绍:
该版本修改上一版本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 (auxiliary version) simple comparison test [upgraded to 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 (manual version official version)

该版本应该是手动版中最后的版本,于2019年9月16日完善。后续的更新也应该是如同接口和保护电路等等更新。
首先介绍一下该版本:
1、首先修改电阻连接方式,之前0.01欧电阻虽然使用开尔文连接方式,但是实际效果并不佳。
2、由跳帽的方式更改为拨动开关的方式,从上到下分别为nA、μA、mA的选择量程的过程。
3、优化元件线路以及布局
下面是新版本的焊接后的成品图

DSC01646.jpgDSC01649.jpg

测试mA数据如下

QQ screenshot 20190916223359.png

测试μA数据如下

QQ screenshot 20190916223543.png

测试误差分析:
1、测试设备:万用表和16位ADC(因为没有万用表),ADC的采样误差导致。
2、万用表本身具有的误差。

测试总结:因为LED灯的电流各种因素会影响,所以导致每次测量都会不一致,如果有一个恒流的电源效果应该会好很多。但是总的来说,微电流检测设备的误差跟万用表还是特别相近的,如果能够得到更高仪器的校准,我相信该设备及其符合低成本,性能适中的题目要求,但是该版本为手动调整的版本,不符合自动电流检测,相信后续的自动化版本会给你带来惊喜。【基础款完结】

5.4 Introduction to REV5

该版本是自动量程的设计,通过单MOS管进行控制,有较高的误差。
但该版本未加入控制器接线比较繁琐,后一款将会加入控制器
REV5 版本更新:
1、增加自动量程的控制部分
2、增加OLED控制接口
3、增加按键选择
4、增加量程灯的显示,OLED上也会显示量程
后续改进:
1、隔离单片机造成的控制误差
2、加入Arduino最小系统

DSC01625.jpg

mA error analysis (compared with UT61E)

mA test data.png

μA error analysis (compared with UT61E)

误差原因较大分析:
1、未进行校准程序,因为不清楚是设计的设备问题,还是万用表本身的误差导致。
2、ADC采样可能存在一定的误差
3、单片机地和测量地的区别
4、mos管可能未完全打开
5、mos管问题还存在很多未解决,导致积累误差较大
6、可以适当做一些滤波处理

5.5 REV6.2 introduction

REV6版本更新:
1、集成单片机最小系统
2、双mos管控制
3、加入手动控制部分
REV6.2版本更新:
1、修复重大BUG共地问题,上文提及。
下图为6.2版本焊接图,图中暂未焊接开关控制部分。

QQ picture 20190919120758.jpg

test picture

DSC01664_iQiyi.jpg

μA error analysis

REV5版本μA误差较大,REV6.2版本解决。
μA测试数据如下

μA test data

5.6 Introduction to REV7

该版本为本作品自动控制部分正式版。
REV7版本更新:
1、程序下载芯片加入
2、重构线路,更加紧凑、便携性更高
3、精度再一次提高

QQ screenshot 20190919212711.png

5.7 Family Bucket (Iterative Design) 2019/9/8

Family bucket

5.8 Shell design

并且附上REV7的外壳设计,附件里面有stl文件可以下载打印。

Shell picture

6. Video upload

视频见附件
视频内容以功能测试为主,详细的原理设计以该文本为主

7. Open source documents

  1. First check the introduction in the project details of Lichuang Electronic Design Competition
  2. Secondly, the design information of each component, as well as debugging procedures, video instructions, etc. will be uploaded in the attachment.

7.1 Attachment description

  1. In the simulation Multisim compressed package: test current measurement, mos tube switching circuit, positive and negative voltage (virtual ground)
  2. In the data manual compressed package: the data manual I used in the design process
  3. ESP32 deep sleep test code, attached ESP32 WIKI .
  4. Schematic diagram of manual and autoranging versions
  5. Gerber production drawings for manual and automatic range adjustment versions
  6. BOM
  7. BOM
  8. Video update (due to official website restrictions, the currently uploaded version is the automatically compressed version)
  9. This device code shows

7.2 References

  1. Tips for Measuring Small Currents
  2. Op amp design experience: Ten pitfalls of op amp
  3. Measure small currents without adding resistive insertion loss
  4. Arduino uses SCT013 to measure current (ADS1115)
  5. ESP32 Deep Sleep Tutorial
  6. Illustrated DIY 1pA ultra-micro current tester
  7. Measure Microamps to Amps or Reduce Power Dissipation by 99%, You Decide!

8. Update log

文档第一次创建日期: 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
参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-06-19 15:09:12
  • Application areas of Bluetooth Low Energy
  • [Core Line FPGA Learning] Core Line FPGA Learning Kit Configuration File (JIC File) Curing Tutorial
  • Microcontroller P80C592
  • Request waveform test code
  • Microcontroller
  • LCD display picture color loss

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号