资料介绍
本文来解析一个盆友在使用STM32采集电池电压踩过的坑。以STM32F4 的ADC属于逐次逼近SAR 型ADC为例进行分析,参考STM32F405xx Datasheet,对于如何编写ADC程序就不做描述了。
先描述一下坑
采集电池电压,利用两个电阻将电池电压分压,然后送入单片机,当电阻如上分别取4M欧/1M欧时,ADC采集到的ADC值与万用表测得的ADC输入端相差很大,取30K欧以及10k欧时,则相差变小。
盆友咨询我这是为什么?我给出了建议,先卖个关子,先来看看应用最为广泛的STM32单片机的一些特性。
STM32 ADC:
STM32 12位ADC是逐次逼近型的模数转换器。它有多达19个多路复用通道,允许它测量来自16个外部源、2个内部源和VBAT通道的信号。通道的A/D转换可以在单次、连续、扫描或间断模式下进行。ADC的结果存储在左对齐或右对齐的16位数据寄存器中。模拟看门狗功能允许应用程序检测输入电压是否超过用户定义的、更高或更低的阈值。
主要功能,具体操作,怎么编程这些细节,有大量的资料就不罗嗦了,主要来看看电气特性。
电气特性
1、ADC 可支持采样频率fADC受供电电压影响,供电电压高,可支持采样频率范围更高
2、可支持输入电压VAIN范围须在参考电压范围内
3、外部输入阻阻抗RAIN最大为
4、开关切换阻抗RADC 最大为
5、内部采样保持电容CADC为4pF
上面的公式用于确定误差小于1/4 LSB时允许的最大外阻抗。N = 12(12位分辨率),k是在ADC_SMPR1寄存器中定义的采样周期数。
ADC精度vs.负注入电流:应该避免在任何模拟输入引脚上注入负电流,因为这会显著降低在另一个模拟输入上执行转换的精度。建议在模拟引脚上增加一个肖特基二极管(引脚接地),这可能会注入负电流。
Page 136 图例(上图中标识解释):
1、见表68
2、实际转移曲线的示例。
3、理想转移曲线
4、终点相关线
5、ET =未调整总误差:实际和理想传递曲线之间的最大偏差。EO =偏移误差:第一个实际过渡与第一个理想过渡之间的偏差。EG =增益误差:最后一个理想过渡与最后一个实际过渡之间的偏差。ED =微分线性误差:实际步长与理想步长之间的最大偏差。EL =积分线性误差:任何实际过渡和终点相关线之间的最大偏差。
寄生电容表示PCB的电容(取决于焊接和PCB布局质量)加上焊盘电容(大约5 pF)。寄生电容值高会降低转换精度。为了解决这个问题,应该减少fADC。
回到坑里
将盆友的电路等效绘制一下,忽略ADC采样通道内部ESD保护二极管,以及等效电流源,如下图:
好了,这图一画出来,问题的原因就显而易见了,SAR ADC是将采样电容上的电压通过逐次逼近原理转换为数字量的,按上述图,由于R2为兆级电阻,那么等效加载在采样电容上的电压就不能简单的看成是R1/R2的分压了,此时ADC的输入阻抗在百50K欧级别,简化定性看一下,忽略分布电容影响,计算方便将输入阻抗看成50K直流电阻(实际深入动态分析的话则不可忽略,假定电池电压为5V),具体计算就不做了。
为什么电阻选这么大呢?我想估计是为了将电池电压监控取样回路的电流降低,以节省电量。
跳出坑里
怎么办呢?我觉得这样应该可以:
找一个低功耗的运放做一个阻抗变换就可以兼顾两者需求,当然如果更完善一点,还可以考虑串入一个RC低通滤波环节,可以有效降低噪声。
总结一下
对于单片机ADC的使用,个人总结了这几点:
将输入短路,可测量热噪声。实际应用时,将输入端短路,采集一定数量的样本,由于热噪声符合高斯分布,可计算出其期望、方差,接入真实信号可以利用统计规律进行相应的噪声滤波处理。
量化噪声,可以通过输入一定幅度及频率的正弦波,进行度量系统的量化噪声。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 一个单片机ADC的挖坑填坑之旅
- 大型翻车现场,痛苦踩坑“电池电压侦测电路”,含泪总结设计要点
- STM32CubeIDE+FREERTOS踩坑记录
- keil + STM32CubeMX 开发stm32L0 踩坑
- 记录一下 开发STM32 USB HID踩过的坑
- Arduino-IDE配置ESP32-CAM开发环境踩过的那些坑
- 嵌入式Linux踩坑记录
- 基于STM32的嵌入式双目图像采集系统设计资料下载
- 举例:说明IF函数公式,多条件判断,你一定踩过的坑资料下载
- STM32和OV2640的嵌入式图像采集系统设计资料下载
- 学C语言,为什么大家会说这本书是坑?资料下载
- Layout工程师的强迫症:绕线方式的坑资料下载
- 如何确保汽车电池电压正确调节所需的条件资料下载
- 锂电池电压采集电路原理图资料免费下载 105次下载
- 高电压技术课件资料下载 0次下载
- 新手买压敏电阻怎么做才不会踩雷不会踩坑? 154次阅读
- R128点屏踩坑笔记 969次阅读
- 过压输入对ADC采集有何影响? 1145次阅读
- 基于STM32单片机的简易电压系统设计 1471次阅读
- Momentum仿真端口介绍 2144次阅读
- 锂电池过充机理及防过充措施 3147次阅读
- 铅酸电池的过流/过放电保护 3745次阅读
- 如何设计合适的电压采集电路 5738次阅读
- 如何设计合适的电压采集电路 3772次阅读
- 电池过放保护电路图及工作过程 3.2w次阅读
- 锂电池并联充电时保护板均衡原理 3w次阅读
- 蓄电池电压充放电监测系统信号隔离的方案设计 2255次阅读
- 锂电池过充电、过放电、短路保护电路详解以及优势和种类 5.5w次阅读
- 基于STM32的多路电压采集的设计与实现 3.8w次阅读
- 基于STM32的多通道锂电池充放电测试系统 1w次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1490次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 92次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 10次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7蓝牙设备在嵌入式领域的广泛应用
- 0.63 MB | 3次下载 | 免费
- 89天练会电子电路识图
- 5.91 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多