ad软件中的插座_STM32采集AD的输入阻抗问题(转)
原文链接:STM32采集AD的输入阻抗问题 - 何言之 - 博客园
原文作者:何言之
在做一款消费电子产品时,需要采集电池电压(3.3V-4.2V),同时在休眠的时候希望尽量减小待机电流。电池电压采集电路采用两个1%的300K电阻进行分压,由该电路引起的待机电路为4.2/(300+300)mA=7uA.此时比较合理(整机的待机电流要求30uA以内)。
初始设计电路如下:
在编程采集数据时发现测试电压与实际电压有偏差,测试值总比实际值偏小一点。在软件上做补偿,把值修正了。
但是换一个板子测试的时候发现测试的电压又不准了,此时知道通过软件补偿这种方法行不通。那么只能从硬件找原因。
查找datasheet发现AD的输入阻抗最大只有50KΩ。
图中RAIN:外部输入阻抗,STM32芯片中这个值最大为50KΩ;
RADC:采样开关电阻,最大值为1KΩ;
CADC:内部采样和保持电容,最大值为8pF.
在ADC数据采集的时候需要有电流流入,那么RAIN会产生一个压降。阻容网络中的RADC和CADC上,对电容的充电由RADC控制。随着源电阻(RADC)的增加,对保持电容的充电时间也相应增加。
对CADC的充电由RAIN+RADC控制,因此充电时间常数为tc = (RADC + RAIN) × CADC。如果时间过短,ADC转换的数值会小于实际值。
通过以上数据知道,采集精度跟采集时间和输入阻抗有关。但是通过计算得知,如果输入阻抗为300KΩ,那么充电时间约为2.4uS。在软件上把采样周期调到最大(ADC_SampleTime_239_5Cycles,频率为12M,时间19.9uS),还是存在误差。说明此时跟周期不是主要原因。
问题出在输如阻抗大于IC里ADC允许的最大阻抗。充电时电流分两路,一路经过R1到R2到地,还有一路经过R1流入MCU的AD接口。(不知是不是IO口会有一定的漏电流到地,IL)此时相当于在R2旁边并了一个电阻到地,检测点的电压不是标准的1/2Vbat.
那么为了更准确地检测电池电压,那么只好把电阻改小。如果选两个50K的电阻,那么此处带来的电流会后42uA.所以在电路上做了个调整:
原来接地的地方改接到一个IO口,在需要检测的时候输出低电平,不需要的时候输出高电平。然后分压电阻使用两个30K的问题得到解决,电压检测误差小于0.02V,待机电流比原来的还小了几个微安。
ad软件中的插座_STM32采集AD的输入阻抗问题(转)相关推荐
- AD软件中的pcbdoc、schdoc等类似一些文件的图标变成了白板解决办法
问题案例: 解决办法如下: 方法一:Win系统设置 打开Win系统的设置 默认应用--按文件类型指定默认应用 将pcbdoc.schdoc之类的文件全部选为AD软件即可 方法二:使用AD软件自带的设置 ...
- 如何在AD软件中创建自定义区域铺铜
一个ESP8266的小项目 https://blog.csdn.net/shitou123xsx/article/details/90550098 欢迎关注本人公众号:硬件实战君 在PCB设计中有时需 ...
- AD软件中 字符到阻焊错误
使用的DFM飞秋软件 进行分析 解决: 将原有的PCB封装库 扩大丝印到阻焊的距离 修改完后 更新到PCB 切换到PCB文件中 这是修改后的文件 注意:一定要重新铺铜操作 否则DRC会报错 ...
- ad16怎么画弧线_在AD软件中如何实现圆弧走线?
[ORACD原理图设计90问解析]第52问 层次式原理图是如何绘制的? :层次原理图中是有包含的关系,这里我们介绍一下层次原理图自上而下设计思路,按照以下的步骤即可: 第一步,创建分级的模块Hiera ...
- 新版的AD软件中的PCB Inspector工具去哪了?
新版中它被替换了,替换成了Properties
- AD软件中,如何解决同一局域网下license冲突问题
- AD软件关于覆铜的高级规则设置
1. AD软件中覆铜操作涉及的InPolygon .IsPolygon.InNamedPolygon().IsNamedPolygon()区别? InPolygon按照字面理解,就是在覆铜区域内,其对 ...
- 使用AD软件绘制PCB的过程
A.首先创建一个PCB工程,一个PCB工程包含有原理图和PCB图. 原理图:指的就是电路上各个元器件的电气连接的图,它代表我们设计的电路的原理. PCB图:将原理图通过AD软件转换为具体的元器件相间的 ...
- ad中电源插座怎么封装_您可以在房屋中安装的各种电源插座
ad中电源插座怎么封装 You may already know about smart outlets, or outlets with integrated USB ports. But you ...
最新文章
- rust怎么放篝火_如何为你的露营活动搭建一个持久温暖的篝火
- 面试官问我:spring、springboot、springcloud的区别,我笑了
- 最具中产气质的“网易考拉”,离“中国版Costco”还有多远?
- Muduo 网络编程示例之四:Twisted Finger
- Kotlin实战指南十九:use 函数魔法
- 【洛谷P2023】维护序列
- 怎么让模糊的数字变清楚_一键模糊图像变清晰,好家伙!这款神器插件你值得拥有...
- P1481 魔族密码 (LIS)
- Matlab--二次多项式曲面拟合
- windows2003 IIS6 部署MVC4程序等等
- 【Python 高级】Python全栈体系(七)
- 交换机配置VLAN(思科模拟器实现)
- 系统虚拟化:原理与实现 读书笔记一: VMM 分类
- Q版京剧脸谱来喽——黑脸
- 【VUE+Mapbox】mapbox地图在vue中展示所遇问题解决
- 笨方法学python 习题29-31
- 剪辑视频,教你简单操作添加视频背景图
- MySQL前缀索引和索引选择性
- 机械工业c语言教程pdf,新编C语言程序计教程(机械工业出版社 钱雪忠 吕莹楠).doc...
- 哈工大数据库系统概论(1)——什么是数据库管理系统(DBMS)