Air780EPM:常用场景ADC硬件电路设计
测量Air780EPM的VBAT电压、测量低于3.6V的电压时、测量高于3.6V的电压时
今天跟大家一起分享下Air780EPM的ADC的相关内容。在设计ADC硬件电路之前,请务必先查看LuatOS二次开发ADC相关库函数的描述。
1、前言
我们先回顾一段核心内容:
Air780EPM共有4路外部ADC硬件通道,其通常的作用是用来测试电压数值。
ADC硬件连接被测电压的方式有两个:
-
当被测电压低于3.6V时,被测电压可以直连ADC;
-
当被测电压大于3.6V时,被测电压需先经过外部电阻分压,且经过分压后接在ADC的电压值需小于1.5V。
以上ADC的两种硬件连接方式,对应不同的软件设置,下文会提到。
除4路外部ADC通道外,Air780EPM还有2路内部ADC通道:
-
一路是CH_CPU,用来测量Air780EPM的CPU温度;
-
一路是CH_VBAT,用来测量Air780EPM的vbat电压(vbat,或者写为VBAT,也就是Air780EPM工作时的供电电压,对应Air780EPM的PIN42/PIN43)。
接下来,将按照大家在实际应用中常见的场景,分类描述如何设计ADC硬件电路。
2、 - 测量Air780EPM的VBAT电压 -
用ADC测量VBAT电压时,不需要外接任何硬件电路。
Air780EPM内部有一路CH_VBAT:
专门用于测量Air780EPM的VBAT电压,测量范围就是Air780EPM可以正常工作的VBAT供电范围(3.3V-4.3V)。
可以使用如下代码读取VBAT电压:
3、- 测量低于3.6V的电压时 -
我们这里讨论的是使用Air780EPM的4路外部ADC,测量低于3.6V电压时的场景。
为社么要提到3.6V这个数字?
如本文最前面所说,当被测电压低于3.6V时,被测电压可以直连ADC,不需要外接电路。
是的,不需要外接电路的意思就是——被测电压可以直接接在ADC上,不做任何处理。但是,需要保证被测电压不高于3.6V。
相应的,软件应该这么做:
核心就是,软件在低于1.5V和大于1.5V且小于3.6V时的处理时不一样的。
如果你觉得比较懵,很正常。你需要先查看LuatOS二次开发ADC相关库函数的描述,详见:
https://docs.openluat.com/osapi/core/adc/
或者,你就把握一个原则:
当被测电压低于3.6V时,直连ADC就可以,剩下的交给软件同事去负责。
4、- 测量高于3.6V的电压时 -
我们这里说的还是使用Air780EPM的4路外部ADC,测量高于3.6V电压时的场景。
当被测电压高于3.6V,使用4路外部ADC测量:
必须将外部电压使用电阻分压,使挂在ADC上的电压低于1.5V。
那么,分压电阻怎么选择呢?
-
首先,取决于被测电压的值,测量最大电压5V和最大电压12V时的分压电阻肯定是不一样的;
-
其次,电阻一定要使用1%精度,这样才能尽可能的使分压比符合要求;
-
再次,可以在ADC输入处增加1个滤波电容,抑制高频噪声,避免ADC读数波动。
以上都是经验之谈,现在我们以被测电压为5V时来举例说明:
分压比要求:
Vout/Vin=1.5V/5V=0.3,
即:R2=0.3×(R1+R2),
解得 R1:R2≈2.33:1。
推荐电阻值:
上拉电阻 R1=2.4MΩ(±1%精度)
下拉电阻 R2=1.0MΩ(±1%精度)
实际分压比:
1.0MΩ/(2.4MΩ+1.0MΩ)≈0.294,
5V分压后为 5V×0.294≈1.47V,满足量程要求。
相应的,假设通过ADC测得的电压值是1.47V,则可以换算出来被测电压值为:
1.47V/0.294=5V
需要特别指出的是,即便使用MΩ级别的电阻,系统也会存在固定的功耗浪费:
总电流: I=5V/(2.4MΩ+1.0MΩ)≈1.47μA
总功耗: P=5V×1.47μA=7.35μW
功耗极低,适合电池供电的低功耗场景。
更多推荐
所有评论(0)