ADC接口
简介
ADC(Analog-to-Digital Converter) 指模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。
合宙Cat.1模块ADC接口主要用来检测模拟电压信号量,用于电池电压检测,温湿度检测,TDS检测等应用。
特性
ADC精度:11bit
最大可承受电压:5V
测量精度:
0V~1.25V量程: ± 10mV
0V~VBAT量程: ± 20mV (默认)
测量量程(软件可调): 0V1.25V/0V2.4V/0V3.2V/0VVBAT(模块供电电压)(默认)
转换时间:50us (由于LuatOS-Air进行过封装,实际可能达不到)
输入阻抗: 高阻
注意:
如果ADC的输入电压超过VBAT电压,测试出的值不准确,所以一定要确认ADC的输入范围
软件设置的ADC量程越小,精度越高。
待测信号电压尽量保证在ADC量程的中段,越接近ADC量程中段测量精度越高
模块内部集成模块VBAT供电电压的检测ADC,LuatOS-Air开发方式下只需要调用misc.getVbatt()获取电压值,单位mV。无需要再用外部ADC检测。
模块ADC功能列表
接口 Air720UG/UH Air724UG Air722UG Air820UG LuatOS-Air ID
ADC1 无 无 支持 无 1
ADC2 支持 支持 支持 支持 2
ADC3 支持 支持 支持 支持 3
ADC4 部分* 无 支持 无 4
*注:Air720系列带-NFC,-NFM,-MFC,-MFM后缀的型号支持
参考设计
注意:
由于ADC的量程为0到VBAT,因此如果待测电压低于模块端供电电压VBAT,直连即可,如上图AD2;如果待测电压高于模块端供电电压VBAT,需要用电阻分压,如上图ADC3;
R1 和 R2用于做ESD防护
ADC走线时需要远离数字高速信号走线,且需要包地保护。
ADC接口软件控制
LuatOS-Air二次开发ADC操作
C-SDK二次开发ADC操作
常见问题以及故障排查
为什么ADC测量值一直是0xFFFF?
答:0xFFFF表示测量电压是无效值。
首先确认硬件上模块的ADC管脚实际的电压值是否超过量程。ADC管脚的最大量程只能到VBAT(模块电源电压),如果超过量程,要采用外部分压的方式,将待测信号分压到量程内。
确认待测信号的是否在软件设置的量程内,如果不是,修改ADC量程设置,详细请参考ADC API文档
模块mis. getvbatt() 获取电池电压,只能开机识别一次,不会实时刷新?
用adc.read(5)可以直接读取电池电压,实时更新