概述
在嵌入式开发领域,一个设计精良的硬件就像一个强壮的身体,有了聪明的大脑(软件),它可以发挥它强大的力量。 我们经常需要测量电流信号和电气特性中的基本元素,然后根据其值得到一些有用的信息,如功率、功耗等。
一般来说,不同产品的电流形式不同,大小不同,形式不同(直流或交流)等,根据相应的情况也有不同的测量方法。例如,我们经常在示波器中使用的电流钳是电磁感应,它是非接触的,更安全,不会对电路造成太多干扰,但高精度的设备更贵。也经常使用万用表串联测量,相当于串联电阻获得电压,然后使用电压值除以电阻值获得电流值,这样更容易实现,更便宜,更麻烦,也给电流电路串联电阻,会带来一定的影响。
本文今天要讨论的电流测量电路与万用表测量的电流原理基本相同,电流的大小也是通过测量固定电阻的电压反向推出的。值得注意的是,这里的电压测量通常是通过 测量的MCU
的 AD
取样,至于细节,我慢慢来。
实现
基本原理
首先,我们需要在要测量的电流电路上串联一个采样电阻,这样我们就可以获得采样电阻的电压,如下图所示100mA
当电流流过电阻时,会产生 0.1(A) * 0.02 (欧) = 0.002(V)
电压,我们采集电压值,除以电阻为电流值。
这里需要注意的是采样电阻的选择,主要注意以下事项:
- 电阻值小,对整个电流电路的阻碍小,一般为毫欧级。
- 精度要高,因为默认电阻在我们反推得到电流的公式中是绝对准确的,一般选择的精度是
1%
以上。
电流信号放大电路
通过以上计算,我们得到的电压一般都比较小,如果直接让 MCU
直接用于一般 MCU
的基准是 3.3V
,且 ADC
的位数一般为 8、10、12
电压信号相当小,即 MCU
采不准,此时需要放大电路闪亮出现。
先看两种常见的放大电路,反向比放大器和同比放大器。
反向比放大电路
反向放大的电路形式如下,输入和输出的极性相反。 我们能得到的
Vout = - (R3 / R2) * Vin
。
同比放大电路
放大电路的形式如下,输入和输出的极性相同。 这样我们就可以得到
Vout =(1 R3 / R2)* Vin
。
两种放大电路的注意事项
- 值得注意的是,这两个电路的一端我选择的是接地,这样是方便
MCU
放大电路放大后的电路AD
因为MCU
也接地,电压以电路接地为基准。 - 虽然是接地,但实际上我们放大的是电阻两端的电压,实际上是差分信号,
PCB
布线时,从电阻两端到运输和放电两端的电线应单独拉线,并尽量并排行走。(由于电阻一端接地,板上有许多地方是地面,拉到运输和放电一端的地面不能随意连接板,而只能是采样电阻单独拉线的地面,可以确保采集到的信号更准确)。 - 通常,为了减少偏置电流的影响,以及降低噪声和温度的影响,这里的电阻值通常为
10K~100K
的区间。 R1
阻值不是随意选择的,获得值是R2
和R3
的并联值,这种电阻的选择非常重要。如果您以前遇到过这个值,如果您随意选择,将会出现不同电流测量的问题。根据这一规则,您可以获得更好的稳定性。
选择基准电压
对于 MCU
的 AD
模块的基准电压一般为 MCU
的源电压,由于电压一般波动较大,也会影响测量型号的准确性。 有几种方法可以应对这种情况。
MCU
内部有一个相对准确的电压,可以作为内部基准AD 将模块的基准电压切换到该电压。MCU
内部有准确的电压,但不能作为内部基准,但 AD 模块有一个测量该点电压的通道。我们可以通过测量该电压来启动校准值,并使用该值来校准我们的目标信号STM32 单片机常用这种方式,我就不赘述了。MCU
的AD
模块支持外部基准电压AD
模块连接到一个相对准确和稳定的电压源。这样可以大大提高信号采集的准确性,缺点是需要 MCU 支持,需要增加更高精度的基准电压源,更昂贵。通常使用TL431
,这里有一个使用指导:【锻体篇-硬件开发】TL431可控精密稳压源的应用及注意事项:https://blog.csdn.net/m0_37697335/article/details/124238193。
参考资料
- 【锻件-硬件开发】TL431可控精密稳压源的应用及注意事项:https://blog.csdn.net/m0_37697335/article/details/124238193
- 运放阻抗匹配:https://blog.csdn.net/liuyaoningabcyy/article/details/84334046
- 如何选择运算放大器输入电阻?https://www.elecfans.com/d/728652.html
- 十坑运放设计,别说你没见过:https://www.szlcsc.com/info/11396.html
。