打印
[STM32F1]

ADC采样问题

[复制链接]
746|37
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wenfen|  楼主 | 2020-1-18 09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
整个系统供电由27V开关电源供电,然后通过DC-DC降压到12V,12V电压除了给本板供电(STM32 串口 485 SPI I2C 继电器 MOS管)。
向外提供电压电流:
1、27V开关电源的输出经过继电器或者MOS管开关切换到外部
2、12V开关电源的输出经过继电器或者MOS管开关切换到外部

问题:
当外部27V负载接上后不会影响STM32 ADC采样值
当外部12V负载街上后,STM32 ADC采样值出现最大0.2V波动不准确。

使用特权

评论回复
沙发
xxrs| | 2020-1-18 09:47 | 只看该作者
代码逻辑是什么

使用特权

评论回复
板凳
wenfen|  楼主 | 2020-1-18 09:50 | 只看该作者
ADC一直在轮询电压值,当电压降到某个阈值时候才自动切换到辅助电源,可是代码出现了不规律的低于电压阈值的数据造成在正常与不正常之间不断开关切换。

使用特权

评论回复
地板
yufe| | 2020-1-18 09:53 | 只看该作者
示波器观察一下波形啊。

使用特权

评论回复
5
zyf部长| | 2020-1-18 09:56 | 只看该作者
看看干扰从哪儿进去的。

使用特权

评论回复
6
kangzj| | 2020-1-18 09:59 | 只看该作者
串口打印出来ADC的值看下是多少?

使用特权

评论回复
7
liuzaiy| | 2020-1-18 10:04 | 只看该作者
一般STM32ADC需要加运放前级

使用特权

评论回复
8
wenfen|  楼主 | 2020-1-18 10:07 | 只看该作者
一直上下偏差很大。

使用特权

评论回复
9
hanwe| | 2020-1-18 10:09 | 只看该作者
加电容滤波,增加抗干扰能力

使用特权

评论回复
10
langgq| | 2020-1-18 10:14 | 只看该作者
你这很明显的电源干扰造成的,你的12V供电电压被拉出去了,形成了一个非常大的电流回环,这样就非常容易引入干扰。

使用特权

评论回复
11
wenfen|  楼主 | 2020-1-18 10:16 | 只看该作者
请问这样问题要如何解决呢?

使用特权

评论回复
12
gongche| | 2020-1-18 10:20 | 只看该作者
你的电源需要进行滤波处理,如果有条件可以分两路电源使用

使用特权

评论回复
13
houcs| | 2020-1-18 10:24 | 只看该作者
楼主这种种情况是12V电压波动导致你MCU端的3.3V也变化引起的ADC采样不准。办法简单在你的那个切换12V的位置加一个LC一个电感和一个非常大的电容,在3.3V稳压输入端再添加一个LC基本可以消除你这个问题。如果12V切到外部的电源的瞬间电流太大,那么加LC也起不到作用的。只能在12V这个地方增加一个稳压,然后再通过这个电压再次稳压到3.3V才可以彻底解决。或者你可以使用一片片外ADC对电源波动抗干扰就强多了。

使用特权

评论回复
14
wenfen|  楼主 | 2020-1-18 10:27 | 只看该作者
我是12V---7805----ams117,

使用特权

评论回复
15
wenfen|  楼主 | 2020-1-18 10:30 | 只看该作者
代码逻辑是ADC一直在轮询电压值,当电压降到某个阈值时候才自动切换到辅助电源,可是代码出现了不规律的低于电压阈值的数据造成在正常与不正常之间不断开关切换。

使用特权

评论回复
16
tian111| | 2020-1-18 10:33 | 只看该作者
波动范围多大?

使用特权

评论回复
17
houcs| | 2020-1-18 10:46 | 只看该作者
STM32参考电压有没有波动?

使用特权

评论回复
18
juventus9554| | 2020-1-18 10:49 | 只看该作者
采集的信号自身有没有波动,用示波器观察一下,是ADC的原因还是信号本身的原因。

使用特权

评论回复
19
pengf| | 2020-1-18 10:52 | 只看该作者

很明显的电源干扰

使用特权

评论回复
20
liuzaiy| | 2020-1-18 10:55 | 只看该作者
加了滤波电容,问题更大,电容充放电,会引起AD值不准确。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

粉丝