STM32 电池电压采集之低功耗设计
文章目录
- 前言
- 一、ADC采集输入阻抗的问题
- 二、改进方法
- 1.加入电压跟随器
- 2.休眠时控制参考地
- 3.休眠时控制参考地
- 总结
前言
最近在做物联网项目,需要在硬件上实现休眠时超低功耗设计(整机待机电流在50uA以内),工作时必须带有电池电压检测(3.3V-4.2V)。项目是STM32L051做的,电池供电,功耗要求极高。
提示:以下是本篇文章正文内容,下面案例可供参考
一、ADC采集输入阻抗的问题
初始设计是用两个阻值相同电阻分压直接进行ADC采集,阻值1M,由该电路引起的待机电流为4.2/(1000 +1000)mA=2.1uA.此时比较合理。
编程采集数据时发现测试电压与实际电压有偏差,测试值总比实际值偏小一点。在软件上做补偿,把值修正了。
但是换一个板子测试的时候发现测试的电压又不准了,此时知道通过软件补偿这种方法行不通。那么只能从硬件找原因。
查找datasheet发现AD的输入阻抗最大只有50KΩ。
图中RAIN:外部输入阻抗,STM32芯片中这个值最大为50KΩ;
RADC:采样开关电阻,最大值为1KΩ;
CADC:内部采样和保持电容,最大值为7pF.
在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.
二、改进方法
下面介绍三个设计方案,方案一、二测试有效、方案三参考其他博客大牛,仅供参考。
1.加入电压跟随器
由上面调试可以确定是AD采集输入阻抗过大的问题,加入电压跟随器后的阻抗可以低至毫欧级,因此选用一个低功耗(待机600nA)的电压跟随器可以完美解决这个问题。此种方案成本较高,但稳定度和精确度高。
电路如下:
2.休眠时控制参考地
分压电阻选用在阻抗以内的阻值,工作时采集电流高点可以忽略,休眠时通过单片机控制采集电路GND来减小功耗。单片机休眠时将PA4拉高,待机电流为(4.2-3.3)V/(50+50)mA=9uA。此种方案电路设计最为简单。
电路如下:
3.休眠时控制参考地
用MOS管控制电量采集开关,此种方法休眠时电流最小,几乎不计。休眠时PA4为低电平关断测量分压电阻不耗电,要测量前置高,在PA5测量电压。
电路如下:
总结
上面介绍三个设计方案,方案一、二测试有效、方案三参考其他博客大牛,还未验证,仅供参考。关于低功耗方面的硬件方案思路很多,各位小伙伴可以大胆构思,小心求证。
STM32 电池电压采集之低功耗设计相关推荐
- stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点
一款好的电子产品,都需要认真考虑电源管理的问题,电池供电的产品更应该注意低功耗的实现. STM32电源介绍 嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室www.make ...
- STM32 低功耗设计
STM32L431 低功耗设计 笔记 STM32L4七大工作模式 参照<STM32L4A6xG Datasheet>描述了7种工作模式 睡眠模式 Sleep mode 在睡眠模式下,仅CP ...
- 基于STM32、FreeRTOS低功耗设计思路和原理
关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | 嵌入式专栏 如今电池供电的产品很多,电池供电通常设计到一个问题,那就是低功耗. 本文为大家讲讲基于STM32.F ...
- 用STM32单片机ADC+NTC热敏电阻采集温度的设计思路 | 附参考电路
目录 前言 一.热敏电阻NTC 二.参考电路 三.激励电压选择 前言 记录一些我在工作和学习过程中遇到的问题 NTC:在淘宝随便买的 单片机型号:STM32G030C8T6 目的:用单片机采集NTC温 ...
- 基于STM32的多功能MP3设计 毕业设计(论文)开题报告
中国计量学院 毕业设计(论文)开题报告 学生姓名:卢杰学 号:XXXXXXXXX 专 业:电子科学与技术 班 级:10电子1 设计(论文)题目: 基于STM32的多功能MP3设计 指导教师 ...
- 基于stm32温湿度采集平台开发
基于stm32温湿度采集平台开发 ==这里记录一下自己以前课设报告,但是论文中图片和文字.公式太多了,懒得粘贴了,需要完整的私信== 摘 要 关键词 第一章 绪论 1.1 研究背景 1.1.1国内研究 ...
- 计算机多通道存储器工作原理,多通道大容量的采集存储器的设计与实现 - 全文...
数据采集存储是信号处理过程的一个重要环节, 已经广泛应用于雷达.声纳.瞬态信号测试.无线探伤等领域.在不同的条件下采样速率和采样精度也有所不同, 系统的实现方法也各有差异.通常情况下, 如果采集速率较 ...
- 转《MCU低功耗设计》
关键词: 低功耗设计, 无线通信产品, LoRa长距离, Contiki系统, 能耗实时跟踪 引言: 能耗对电池供电的产品来说是一个重大问题,一旦电能耗尽设备将"罢工".在< ...
- STM32 - ADC采集电压 中断处理
一.参考电压 VDD接入电压为3.3V ADC供电要求:2.4V到3.6V 注意:STM32的100脚以上(含100脚)有参考电压引脚.在没有参考电压引脚的单片机上,可以把基准电压芯片接入VDDA,但 ...
最新文章
- 互次方科技金立(沃兹):深入浅出项目管理
- 安卓模拟器BlueStacks 安装使用教程(图解)
- THU – team project final review score
- xp sp3安装.Net 4.0提示严重错误,0x80070643,解决办法2017版
- Eclipse中的checkstyle插件
- java rsa ssh2_给定两个SSH2密钥,如何检查它们是否属于Java中的同一密钥对?
- sqlyog表添加列_如何用数据透视表求差,而不是求和?
- JavaWeb14-HTML篇笔记(一)
- html 环形进度条,详解利用canvas实现环形进度条的方法
- Kotlin — 竞技程序设计(类似天梯训练)
- 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_6 Mybatis中使用Dao实现类的执行过程分析-增删改方法...
- 设计模式在项目中的应用案例_BIM案例 | BIM技术在码头项目中的创新应用
- 浅析桌面虚拟化给企业带来的价值
- 高品质后处理:十种图像模糊算法的总结与实现
- Oracle安装与配置(Linux)
- python 将函数封装成pyd或者so文件,调用该文件
- 工厂服务器系统,各种工厂时钟系统解决方案
- 传奇脚本显示服务器开区时间代码,GOM引擎活动页面脚本,传奇私服服务端添加开即时真假半兽人脚本...
- 在图片上加播放按钮示例代码
- 数据仓库维度建模——事实表设计
热门文章
- windows系统 kettle 下载、安装
- 转换芯片-TC358775XBG:MIPI转LVDS(双路)芯片资料
- P1196 [NOI2002] 银河英雄传说(带边权并查集)
- 【解决】ubuntu用vim编辑时退格键和上下左右键失灵的问题
- 怎样正确删除nt6_hdd_installer硬盘安装启动器?
- 惠普t5000微型计算机价格,hp5000
- 大数据之路—— 事实表设计
- 带nfc 的 android 华为,华为手机NFC功能,原来这么好用,不会用真可惜几千块钱了...
- Fluent验证案例17:RAE2822翼型
- 使用arpspoof欺骗断网