你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103C8T6怎样通过内部1.2V基准电压去反推出MCU的VDD?

[复制链接]
hqw 提问时间:2019-12-16 10:05 /
怎样通过内部的1.2v基准电压去反推算出VDD的大小,我所想问的其实是这个,忘掉什么NTC测温度,什么LDO耗电吧。
一个3.7V的锂电池,不通过LDO直接接在STM32f103c8t6的VDD.在使用的过程中,VDD会从4.2V慢慢降低到3.7v,那么怎样知道此时VDD到底是多少呢?
这其实是内部1.2V的设置的目的和基本应用。如果内部1.2v不好理解,我们不妨想像在外面接个1.2V的LDO,这LDO的输出是在VDD的变低,一直稳定在1.2V。
请看附图

(3条消息)stm32 精确电压测量法(内部参考电压) - qq_34672688的博客  http://blog.csdn.net/qq_34672688/article/details/91874371

网上的方法如下:
(3条消息)STM32内置参照电压的使用(转) - oushaojun2的专栏  http://blog.csdn.net/oushaojun2/article/details/7735286


1.2Va.jpg
收藏 1 评论13 发布时间:2019-12-16 10:05

举报

13个回答
七哥 回答时间:2019-12-16 22:34:51
hqw 发表于 2019-12-16 17:22
toofree,多谢你的指教。
STM32F103C8T6 没有单独的外部模拟参考电压,是与AVDD共用的,即3.3V。
那么当你 ...

但是如果AVDD的电压不知道是多少的话,那么通过1.2V来反推;
假如你在通道17通道采到的码值为 1800,但是现在通道0采到的码值依然是4095;
那么通道0上是实际电压换算就是,(1.2/1800)*4095 = 2.73V

麻烦请看完
17通道的码值是会变的,只是电压不变。

17通道能采到码值为1489的机率很少,只有你的AVDD是准确的3.3V时,才有可能采到1489

评分

参与人数 1蝴蝶豆 +5 收起 理由
STMCU + 5

查看全部评分

mylovemcu 回答时间:2019-12-16 10:13:05
就是这样的  寄存器直接读ADCH1的值  读出来多少就是1.2V电压对应的AD值  再根据公式就计算出电源电压了
hqw 回答时间:2019-12-16 11:35:50
    网上的文章说,内部的1.2基准是已连到ADc的17通道。但对于STM32F103C8T6来说,在cubemx就看到,没有17通道呢?就算这17通道是不对外,是内部的,起码在CUbeMX能看到并能设吧,能读吧?   如果不需要在程序里去读取1.2V的ADC值的话,网上有另一说法,是读取某个寄存器就行了,但我在STM32F103C8T6的规格书上也找不到呢?
我把我的项目附上,大家可以直接在上面尝试。STM32F103C8T6的规格书上也附上,大家也可在上面研究下。
网上的链接如下:
(3条消息)STM32内置参照电压的使用(转) - oushaojun2的专栏  http://blog.csdn.net/oushaojun2/article/details/7735286
(3条消息)stm32 精确电压测量法(内部参考电压) - qq_34672688的博客  http://blog.csdn.net/qq_34672688/article/details/91874371

cube.png

STM32F103C8T6.pdf

下载

1.06 MB, 下载次数: 23, 下载积分: ST金币 -1

stm32f103c8t6_ADC - 副本.rar

下载

9.01 MB, 下载次数: 497, 下载积分: ST金币 -1

STMWoodData 回答时间:2019-12-16 12:02:43
提示: 作者被禁止或删除 内容自动屏蔽
七哥 回答时间:2019-12-16 12:16:26
snap_screen_20191216121516.png
ADC_CHANNEL_VREFINT   即为  ADC_CHANNEL_17采通道17的方式,除了不用作用IO外,其它与通道0到15没有区别。

STM32F103C8T6 没有单独的外部模拟参考电压,是与AVDD共用的,即3.3V。
那么当你在某个ADC通道接上3.3V时,比如通道0,通道0采到的码值就是4095;
如果AVDD是准确的3.3V的话,理论上1.2V参考电压,即通道17的码值为(4095/3.3)*1.2 = 1489;

但是如果AVDD的电压不知道是多少的话,那么通过1.2V来反推;
假如你在通道17通道采到的码值为 1800,但是现在通道0采到的码值依然是4095;
那么通道0上是实际电压换算就是,(1.2/1800)*4095 = 2.73V



七哥 回答时间:2019-12-16 12:55:32
通过内部1.2V电压反推算其它ADC通道电压值
在实际工作中也解决过类似问题,在项目中公司同事用了一片STM32F103RBT6,外加一片AD7606。
由于AD7606通道不够用,精度要求高的用AD7606采集,精度要求低的用STM32片上ADC采集。
在实测过程中,STM32片上ADC采集的电压误差大,并且一致性相当差。分析原因是供电电压3.3V受干扰,导致对ADC影响大。
此时正好有AD7606的内部2.5V参考电压可以输出,STM32片上ADC通道还有几个预留引出,于是将2.5V的参考电压接到STM32的一个预留ADC通道上。经实验,通过一路ADC采集2.5V电压作为参考,反推其余ADC通道电压值,效果相当好,采集固定电压值ADC精度达到mV级。
hqw 回答时间:2019-12-16 15:43:27
流水源 发表于 2019-12-16 12:02
就是你选的这个通道,你勾上后在ADC初始化中会初始化这个通过,然后读取这个通道AD值,根据公式计算电压 ...

只要你告诉我怎样读1.2v基准电压的AD值就行了,可以在我的项目文件里帮标下吗?你说还要读取的是哪个寄存器?对于STM32F103C8T6。
hqw 回答时间:2019-12-16 17:22:32
toofree 发表于 2019-12-16 12:16
ADC_CHANNEL_VREFINT   即为  ADC_CHANNEL_17采通道17的方式,除了不用作用IO外,其它与通道0到15没有区别 ...

toofree,多谢你的指教。
STM32F103C8T6 没有单独的外部模拟参考电压,是与AVDD共用的,即3.3V。
那么当你在某个ADC通道接上3.3V时,比如通道0,通道0采到的码值就是4095;
如果AVDD是准确的3.3V的话,理论上1.2V参考电压,即通道17的码值为(4095/3.3)*1.2 = 1489;

这样说的话,其实程序能实际读出IN17的话,它的AD值也应该是大约是 1489才对。

那在VDD由3.3v慢慢降到2.8V时,真要再读出IN17,它的AD值也不会变的吧?还是大约1489吗?

如果理解程不变的话,那其实也没必要专门去读下IN17了,直接就还是用1489来算就行了。
一开头,其实,我们也没必要通过实际去读IN17,因为我们通过理论就能算出是1489了。

所以,我还想就上面的问题请教下你和大家。
STMWoodData 回答时间:2019-12-16 19:07:50
提示: 作者被禁止或删除 内容自动屏蔽
STMWoodData 回答时间:2019-12-16 19:11:10
提示: 作者被禁止或删除 内容自动屏蔽
hqw 回答时间:2019-12-17 17:14:01
toofree 发表于 2019-12-16 22:34
但是如果AVDD的电压不知道是多少的话,那么通过1.2V来反推;
假如你在通道17通道采到的码值为 1800,但是 ...

明白了,
hqw 回答时间:2019-12-17 17:18:25
流水源 发表于 2019-12-16 19:11
*VREFINT_CAL_ADDR                Vrefint_ADValue_ch17
1.2V  = --------------------------- ...

多谢指教
hqw 回答时间:2019-12-17 17:33:04
toofree 发表于 2019-12-16 22:34
但是如果AVDD的电压不知道是多少的话,那么通过1.2V来反推;
假如你在通道17通道采到的码值为 1800,但是 ...

对了,我其实还是想问一下,这内部的1.2v基准电压,应该也是通过MCU的VDD稳压得到,我们应该可以把它理解成内部做了个1.2V的LDO。对于稳压输出1.2V这么低的输出,在VDD从3.3V慢慢降到2.8v,能让这内部的LDO输出一直都稳压在1.2v应该是没有问题的,对吧?

那么,这1.2V内部是接到IN17,这样,读取IN17的AD值,应该是一直不变的。因为不管VDD是3.3V还是2.8V,这IN17的模拟输入电压一直都是1.2v,对吧?这AD值,只跟输入量有关。
对于普通的AD通道而言,(VDD通过两个电阻分压输入的话)如果是要把AD值转换成分压点的电压值,这才跟VDD有关。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版