野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17736|回复: 15

STM32霸道 ADC测试外部电压的问题

[复制链接]
发表于 2020-5-23 23:36:10 | 显示全部楼层 |阅读模式
最近想利用STM32 测试外部电路的电压,当电压不足或者失电时  让STM32自动合上继电器 让其他输入方式供电。但在学习测量外部电压时遇到问题。我需要测量的是12V的直流电压  我利用电阻分压到3.3V但 STM32 测量时  一直是1.7V 左右  和悬空的电压差不过。我用万用表 红表头接测量节点,黑表头接 STM32的地  确实有3.3V  但ADC就是测不出 是我理解错了吗?求指教 1590247695(1).jpg 这个是外部分压的图   。
回复

使用道具 举报

发表于 2020-5-24 09:33:49 | 显示全部楼层
采到1.7V感觉是ADC初始化有问题,可以检查下引脚和外设的初始化配置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 11:51:29 | 显示全部楼层
瞎眼灯 发表于 2020-5-24 09:33
采到1.7V感觉是ADC初始化有问题,可以检查下引脚和外设的初始化配置

但我试过直接插到板子上的3.3V 是能采集成功的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-25 11:54:08 | 显示全部楼层
瞎眼灯 发表于 2020-5-24 09:33
采到1.7V感觉是ADC初始化有问题,可以检查下引脚和外设的初始化配置

我觉得是参考电压的问题,程序是野火里的例程 我都还没改。程序应该没问题吧。正常不是应该以板子的GND和VCC作为参考吗? 那我万用表 测都是接板子的GND 应该是准的吧
回复 支持 反对

使用道具 举报

发表于 2020-5-25 13:14:21 | 显示全部楼层
R2上面的3.3V是干啥的?
回复 支持 反对

使用道具 举报

发表于 2020-5-25 14:57:55 | 显示全部楼层
试下把R2去掉,另外R1,R3可以换100K和51k试看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-29 14:49:57 | 显示全部楼层
HSH_BB 发表于 2020-5-25 14:57
试下把R2去掉,另外R1,R3可以换100K和51k试看看

还是不行,大神有没有实际的图或者案例参考一下?
回复 支持 反对

使用道具 举报

发表于 2020-5-29 15:32:36 | 显示全部楼层
R1去掉,R3改成100k,管脚设置成浮空输入
回复 支持 反对

使用道具 举报

发表于 2020-5-29 16:19:58 | 显示全部楼层
本帖最后由 HSH_BB 于 2020-5-29 16:29 编辑
Ts灬银月丿鬼丶 发表于 2020-5-29 14:49
还是不行,大神有没有实际的图或者案例参考一下?

估计板子上面的采集范围应该是0~3.3V,你的分压电阻去计算的话Vadc=12*(150/(150+300))=4,这个超过3.3V了,按楼上的做法R2去掉,改R3为100K应该是可以的;之前没仔细计算分压值,误导你了;
TIM截图20200529161811.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-30 23:44:48 | 显示全部楼层
HSH_BB 发表于 2020-5-29 16:19
估计板子上面的采集范围应该是0~3.3V,你的分压电阻去计算的话Vadc=12*(150/(150+300))=4,这个超过3.3V了 ...

2.jpg
这是我没有把测试点接上STM32 上的图 这样用万用表测 是有3.3V 的电压。但把红表头的位置接入STM32上 电压就变成1.6V 左右了。我试过增加或者减少12V 电源的电压发现1.6V电压是会变大减少 但变化很少。 我觉得是我理解有误。12V 是外部其他设备的供电电源,我是想用STM32去检测它的电压是否稳定
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-30 23:46:15 | 显示全部楼层
1.jpg HSH_BB 发表于 2020-5-29 16:19
估计板子上面的采集范围应该是0~3.3V,你的分压电阻去计算的话Vadc=12*(150/(150+300))=4,这个超过3.3V了 ...

如果这样接上了STM32的GPIO_C_1 哪怕用万用表测也是1.6V
回复 支持 反对

使用道具 举报

发表于 2020-6-1 10:24:18 | 显示全部楼层
AD通道的电流造成的,估计你开的采样率很高,端口消耗电流很大,本身限流电阻又大,一下把电压接下来了。
回复 支持 反对

使用道具 举报

发表于 2020-6-1 10:24:47 | 显示全部楼层
这种电压采样,如果需要很高采样率,我一般用运放跟随后再进MCU
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-2 21:31:04 | 显示全部楼层
一心2013 发表于 2020-6-1 10:24
这种电压采样,如果需要很高采样率,我一般用运放跟随后再进MCU

那不用运放一般采样频率多少才没问题呢?有没有一些模块可以专门处理这方面的问题?就是一端接12V+-级 一端就直接接STM32 的ADC端 的。方便我们新手测试学习的
回复 支持 反对

使用道具 举报

发表于 2020-6-3 08:37:34 | 显示全部楼层
Ts灬银月丿鬼丶 发表于 2020-6-2 21:31
那不用运放一般采样频率多少才没问题呢?有没有一些模块可以专门处理这方面的问题?就是一端接12V+-级 一 ...

这个频率没办法具体,跟你采样电阻、采样电压、电路结构的大小有关,其实用运放跟随进行阻抗变换就可以了,类似你说那种器件。
20140425194658-2013521307.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-17 00:30:23 | 显示全部楼层
感谢各位的意见,我终于知道是什么问题了。我一直测试都是用野火霸道的开发板。后来我换了野火STM32F103ZET6核心板之后就成功了。估计是霸道开发板接了什么电子元器件我不知道,用了纯核心板之后就没问题了。谢谢各位大神的回答 谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-25 16:34 , Processed in 0.033271 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表