文章目录

  • 前言
  • 一、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 电池电压采集之低功耗设计相关推荐

  1. stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点

    一款好的电子产品,都需要认真考虑电源管理的问题,电池供电的产品更应该注意低功耗的实现. STM32电源介绍 嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室​www.make ...

  2. STM32 低功耗设计

    STM32L431 低功耗设计 笔记 STM32L4七大工作模式 参照<STM32L4A6xG Datasheet>描述了7种工作模式 睡眠模式 Sleep mode 在睡眠模式下,仅CP ...

  3. 基于STM32、FreeRTOS低功耗设计思路和原理

    关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | 嵌入式专栏 如今电池供电的产品很多,电池供电通常设计到一个问题,那就是低功耗. 本文为大家讲讲基于STM32.F ...

  4. 用STM32单片机ADC+NTC热敏电阻采集温度的设计思路 | 附参考电路

    目录 前言 一.热敏电阻NTC 二.参考电路 三.激励电压选择 前言 记录一些我在工作和学习过程中遇到的问题 NTC:在淘宝随便买的 单片机型号:STM32G030C8T6 目的:用单片机采集NTC温 ...

  5. 基于STM32的多功能MP3设计 毕业设计(论文)开题报告

    中国计量学院 毕业设计(论文)开题报告 学生姓名:卢杰学 号:XXXXXXXXX 专    业:电子科学与技术 班    级:10电子1 设计(论文)题目: 基于STM32的多功能MP3设计 指导教师 ...

  6. 基于stm32温湿度采集平台开发

    基于stm32温湿度采集平台开发 ==这里记录一下自己以前课设报告,但是论文中图片和文字.公式太多了,懒得粘贴了,需要完整的私信== 摘 要 关键词 第一章 绪论 1.1 研究背景 1.1.1国内研究 ...

  7. 计算机多通道存储器工作原理,多通道大容量的采集存储器的设计与实现 - 全文...

    数据采集存储是信号处理过程的一个重要环节, 已经广泛应用于雷达.声纳.瞬态信号测试.无线探伤等领域.在不同的条件下采样速率和采样精度也有所不同, 系统的实现方法也各有差异.通常情况下, 如果采集速率较 ...

  8. 转《MCU低功耗设计》

    关键词: 低功耗设计, 无线通信产品, LoRa长距离, Contiki系统, 能耗实时跟踪 引言: 能耗对电池供电的产品来说是一个重大问题,一旦电能耗尽设备将"罢工".在< ...

  9. STM32 - ADC采集电压 中断处理

    一.参考电压 VDD接入电压为3.3V ADC供电要求:2.4V到3.6V 注意:STM32的100脚以上(含100脚)有参考电压引脚.在没有参考电压引脚的单片机上,可以把基准电压芯片接入VDDA,但 ...

最新文章

  1. 互次方科技金立(沃兹):深入浅出项目管理
  2. 安卓模拟器BlueStacks 安装使用教程(图解)
  3. THU – team project final review score
  4. xp sp3安装.Net 4.0提示严重错误,0x80070643,解决办法2017版
  5. Eclipse中的checkstyle插件
  6. java rsa ssh2_给定两个SSH2密钥,如何检查它们是否属于Java中的同一密钥对?
  7. sqlyog表添加列_如何用数据透视表求差,而不是求和?
  8. JavaWeb14-HTML篇笔记(一)
  9. html 环形进度条,详解利用canvas实现环形进度条的方法
  10. Kotlin — 竞技程序设计(类似天梯训练)
  11. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_6 Mybatis中使用Dao实现类的执行过程分析-增删改方法...
  12. 设计模式在项目中的应用案例_BIM案例 | BIM技术在码头项目中的创新应用
  13. 浅析桌面虚拟化给企业带来的价值
  14. 高品质后处理:十种图像模糊算法的总结与实现
  15. Oracle安装与配置(Linux)
  16. python 将函数封装成pyd或者so文件,调用该文件
  17. 工厂服务器系统,各种工厂时钟系统解决方案
  18. 传奇脚本显示服务器开区时间代码,GOM引擎活动页面脚本,传奇私服服务端添加开即时真假半兽人脚本...
  19. 在图片上加播放按钮示例代码
  20. 数据仓库维度建模——事实表设计

热门文章

  1. windows系统 kettle 下载、安装
  2. 转换芯片-TC358775XBG:MIPI转LVDS(双路)芯片资料
  3. P1196 [NOI2002] 银河英雄传说(带边权并查集)
  4. 【解决】ubuntu用vim编辑时退格键和上下左右键失灵的问题
  5. 怎样正确删除nt6_hdd_installer硬盘安装启动器?
  6. 惠普t5000微型计算机价格,hp5000
  7. 大数据之路—— 事实表设计
  8. 带nfc 的 android 华为,华为手机NFC功能,原来这么好用,不会用真可惜几千块钱了...
  9. Fluent验证案例17:RAE2822翼型
  10. 使用arpspoof欺骗断网