STM32的ADC 电压输入范围为: VREF- ≤ VIN ≤ VREF+。一般设计的时候会把VREF-和地相连, VREF+和VDDA相连。若MCU供电电压为3.3V,则ADC输入电压范围为0~3.3V。此时ADC模块的参考电压即为MCU供电电压。

系统如果使用电池供电,想要使MCU供电电压稳定,就要加LDO等对系统电源进行处理。如果直接使用电池供电,那么MCU的供电电压会随着电池的电量损耗而降低,此时ADC模块的参考电压已经改变,那么通过AD转换求出来的电压值也就不准确了,此时就达不到对系统电源监测的目的。

STM32内部都有个相对稳定,且不受MCU供电电压变化影响的参照电压,在内部连接至ADC1的输入通道17。
以下资料来自STM32L151手册
The internal voltage reference (VREFINT) provides a stable (bandgap) voltage output for the ADC and Comparators. VREFINT is internally connected to the ADC_IN17 input channel. The precise voltage of VREFINT is individually measured for each part by ST during production test and stored in the system memory area。

根据数据手册中的描述,VREFINT的典型值为1.224V,最小1.202V,最大1.242V。不同的系列的MCU,值也会有所差别,可以查看手册得出:

VREFINT的精确AD值由ST在生产测试期间分别测量每个部件,并存储在系统内存区域。该值是在特定温度和供电电压下测得的,可以用来校准ADC:

在理解时可以把VREFINT当做是ADC模块内部的一个测试点,在某一固定的ADC参考电压情况下,所有被测电压点的AD转换值与该点电压值保持同一比例关系。对于不同的参考电压,1.224V对应的AD转换值也是不一样的,这里AD的参考电压就是VDD,VDD越大,VREFINT电压对应的AD转换值越小。

对于某一个参考电压来说,如果能测得1.224V所对应的AD转换值(通过ADC1通道17),假设记为Vrefint_ad ,那参考电压VDD对应的AD转换值自然是此时该AD的满量程值FULL_SCALE(12位ADC为4096,10位ADC为1024)。不管VDD怎么变动,某时刻的VDD对应的满量程值FULL_SCALE跟内部基准电压VREFINT的AD转换值Vrefint_ad 的线性比例关系总是存在的。即有:

         VDD:FULL_SCALE = 1.224:Vrefint_ad则:VDD = (1.224/Vrefint_ad)*FULL_SCALE

这样就可以在使用电池直接供电的情况下求出MCU供电电压,同理,也可以测出在电压波动情况下其他待测点的电压。若待测点AD转换值记为Vtemp_ad,待测点电压记为Vbatt:

         Vbatt = Vtemp_ad*VDD/4096;= Vtemp_ad*(1.224/Vrefint_ad)*4096/4096;= 1.224*Vtemp_ad/Vrefint_ad;

如果使用库函数,则需要调用如下函数来使能内部温度传感器和参照电压,温度传感器内部连接至ADC1的通道16,参照电压内部连接至ADC1的通道17。

         ADC_TempSensorVrefintCmd(ENABLE);

参考:利用ST MCU内部基准参考电压监测电源电压及其它

笔记:STM32的ADC参考电压与参照电压(电源监测)相关推荐

  1. STM32 之 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压和ADC校准

    STM32 之 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压 发布时间:2018-12-21 10:50, 浏览次数:1553 , 标签: STM VREFINT ADC < ...

  2. 使用stm32的ADC得到准确的电压

    一.引脚多一点的stm32单片机存在VREF-和VREF+引脚 由上面的供电图知道,如果存在VREF-和VREF+引脚,那么ADC是由这两个引脚供电的,ADC的采集电压范围为:VREF-<VIN ...

  3. STM32 之十 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压

    问题   今天在使用 STM32F407 的 ADC 时遇到一个问题:ADC 的参考电压都是通过 Vref+ 引脚提供的并作为ADC转换器的基准电压(部分 MCU 没有 Vref+ 引脚).当我们使用 ...

  4. STM32的内部参照电压VREFINT(1.2V)和ADC参考电压Vref+如何区分呢

    一.STM32的内部参照电压VREFINT和ADCx_IN17相连接,它的作用是相当于一个标准电压测量点(和MSP430不一样..),内部参照电压VREFINT只能出现在主ADC1中使用. 内部参照电 ...

  5. STM32 之十 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压,内部参照电压的具体方法,只有在STM32F0x芯片的参考手册中才能找到,其他MCU的参考手册都是很简单的说明

    STM32 之十 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压 ZCShouEXP 2018-12-21 10:50:33  16404  收藏 32 展开 问题   今天在使用 ...

  6. STM32芯片ADC内部的CH17参考电压的用途

    每个STM32芯片都有一个内部的参照电压,相当于一个标准电压测量点,在芯片内部连接到ADC1的通道17. 根据数据手册中的数据,这个参照电压的典型值是1.20V,最小值是1.16V,最大值是1.24V ...

  7. stm32学习笔记-翻译官ADC

    文章目录 一.ADC基础知识 1.1 ADC 简介 1.2 为什么需要 ADC 1.3 ADC的历史由来 逐次渐进型(SA)ADC 1.4 A/D转换器的一些技术指标 1.5 ADC转换基本原理 二. ...

  8. STM32使用内部参考电压提高ADC采集准确度

    我们在使用ADC采集外部电压时,一般默认参考电压为MCU的供电电压,例如单片机供电电压为3.3V时,我们计算采集电压的公式为: 假设12位ADC 采集电压=(AD值/4096)*3.3: 但是如果因为 ...

  9. STM32使用ADC+电位器测电压

    一.WDD35D-4导电塑料电位器 1. 电位器 电位器是具有三个引出端.阻值可按某种变化规律调节的电阻元件.电位器通常由电阻体和可移动的电刷组成.当电刷沿电阻体移动时,在输出端即获得与位移量成一定关 ...

最新文章

  1. ajax点赞只能点一次,php+mysql+ajax局部刷新点赞取消点赞功能(每个账号只点赞一次).pdf...
  2. SSM项目整合Quartz
  3. 回溯算法(Backtracking Algorithm)之八皇后问题
  4. CCNA之三:RIP协议
  5. wp8对json的处理
  6. server 2008中新建AD域控制器
  7. 我要学ASP.NET MVC 3.0(十三): MVC 3.0 防止跨站点请求伪造 (CSRF) 攻击
  8. 为什么会出现“无法连接服务器-与网络有关或与实例有关的错误”?
  9. impala查询数据与hive的查询数据比对(数据的校验)
  10. 科密指纹考勤机软件配置
  11. java基于SSM房屋租赁管理系统
  12. CISSP认证考试指南(第7版)
  13. 思科服务器如何进入网站,思科路由器怎么进入设置网站
  14. 计算机445 135 139端口,关闭445 135 137 138 139端口方法图文教程
  15. netopeer-manager手册翻译
  16. 「Python入门」Python代码规范(风格)
  17. 单片机双字节数乘法运算实验_单片机入门——单片机的基本构成及工作原理(1)...
  18. 中国计算机学会举办首届未来计算机教育峰会
  19. 统计学中数据分析方法汇总
  20. long long类型

热门文章

  1. 全球及中国细胞治疗产业应用前景与投资潜力建议报告2022-2028年
  2. 数据恢复必备宝典—BMP文件详解
  3. <keep-alive></keep-alive>的作用是什么?
  4. 【毕业设计】大数据淘宝用户行为数据分析与可视化 - flink
  5. Mac安装与使用MacTeX
  6. 规划并优化能在 Google Play 上取得更大成功的游戏
  7. 三层交换机 no switchport 命令
  8. 数码相框_在LCD上显示英文字母、汉字的点阵显示(2)
  9. PolyLaneNet:基于深度多项式回归的车道估计(PolyLaneNet: Lane Estimation via Deep Polynomial Regression)
  10. 人工智能是怎么用在人脸识别上的?