前些时间遇到两个情况:
当然数据不准确一定是问题,但是导致问题的原因不同,解决方法就会不同。
因此,要解决不准确的现象,必须找到导致该现象的原因:可能是单一个因素,也可能是多种因素。
这里就有个最为简单的工程技术逻辑:如何分析root cause?
这也是工程技术人员必须具备的能力,而往往多因素工程技术分析能力是研发入门的难点,不是说技术上难,而是在思维上难。类似点、线、面(二维)、立体(三维)、时空(四维)中,定位一个点的问题。
好了,不在多说,很多或者说大部分能力是可以通过后天学习、锻炼的,当然确实有一些“第六感”很难说清楚,有人会说“天生”的。尽管我不太认同,但是确实特长往往有这种天赋异禀的神来之笔。
先做一个常规逻辑/常用概念,老外比较喜欢说"common sense”,因为没有这个概念的人,沟通工程技术问题是很难的,因为没有"common sense"。
这个常规工程处理逻辑是这样的:
电源路径1》采样电路路径2》ADC路径3》MCU路径4》地面站/OSD
上述任何一个位置和路径都可能发生问题,导致电流不准。
因此,各种情况都有可能发生,那么问题来了,您遇到的最有可能得是什么呢?依赖于#1提供的“环境因素,操作步骤,以及不准确现象的量化测试一手数据”。
如果,您的客户说:“我也不清楚。”
那么,恭喜您,第一步就是复现客户现象,并整理“环境因素,操作步骤,以及不准确现象的量化测试一手数据”。
【1】Current Sensing with Low-Voltage Precision Op-Amps
A low-side, current-sensing resistor in a fast-charge
control circuit generates a small voltage drop between the
low side of the battery pack and ground. This drop is not
a problem in most cases; however, some applications,
particularly mobile communications circuits, are
intolerant of any potential difference between the low
side of the battery pack and ground. Using a few
additional components in the circuit, high-side current
sensing solves this problem and allows the charging
source, application circuit, and battery pack to share a
common ground.
航模上面没有这么讲究,通常就是采用Low-Side Current Sensing Implementation,因此在低电流的时候就不太准。
主要误差来源于 R s h u n t R_{shunt} Rshunt?精度,以及 R s h u n t R_{shunt} Rshunt?上的 V s e n s e V_{sense} Vsense?电压,对于INA138来说,需要至少15mV,若0M50 R s h u n t R_{shunt} Rshunt?,意味着15mV/0.5m = 100
To minimize error, make the shunt voltage as large as the design will allow. For the INA138 device, keep V s e n s e V_{sense} Vsense? >> 15 mV.
The relative error due to input offset increases as shunt voltage decreases, so use a current sense amplifier with low offset voltage. A precision resistor for R s h u n t R_{shunt} Rshunt? is necessary because R s h u n t R_{shunt} Rshunt? is a major source of error.
【3】INA1x9 High-Side Measurement Current Shunt Monitor
【4】Using Current Sense Amplifiers at Near-Zero Vsense
1A以下电流,精度指数级降级,惨不忍睹。还好是航模,应该目前这种设计方案也无所谓。
注:如果要做无人机,这块内容需要进一步考虑。
大部分情况下是,大家都是用的默认值,也不太操作校准,因为校准需要用硬件测试电流。
如果您确实对电流不准的问题非常在意,希望通过校准来确保显示的数据正确,那么需要准备万用表,串接到电源上,进行测试。
测试注意事项:
scale=200
,offset=0
,测试5点电流数据:地面站电流数据(GSCurrent
),万用表电流数据(MeterCurrent
),
Y
=
(
m
i
l
l
i
v
o
l
t
s
?
10000
/
s
c
a
l
e
)
/
10
Y = (millivolts * 10000 / scale) / 10
Y=(millivolts?10000/scale)/10;scale
, offset
值,并填入betaflight地面站配置参数栏位注:这里测试了5点,但是第一点值很小,后面我们再来说明原因。
因为之前在2.3.5章节提到了关于 INA169 Near-Zero Vsense的误差指数级递增的问题。因此在1A以下,Low-Side Current Sensing Implementation的采样原始数据不可靠,无法用于分析。
因此,大电流校准比较靠谱。
当然,不排除硬件上的各种问题。但是前提是要进行校准,相信硬件厂商,既然卖出来就是经过检测的,应该都是没有问题的。
如果真的存在问题,大概率这些地方发生了问题:(这里只是简单做了整理,欢迎大家批注,评论,谢谢!)
列举一些硬件异常的问题:
- 2019/5/9 AIKONF4 Wrong current readings when using DSHOT #8233
- 2020/1/3 Kakute F7 HDV, Tekko32 F3 Combo current sensor reading very inaccurate #9330
- 2021/11/1 GEPRC F722 35A AIO ADC current sensor value has too much jitter #11089
- 2021/1/5 Kakute F7 mini & Tekko32 F3 45A Mini - Strange current sensor reading #10449