野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13025|回复: 3

AD采样电压初始值不为零且不稳定

[复制链接]
发表于 2016-4-14 01:16:12 | 显示全部楼层 |阅读模式
                Hello!
               大家好!
                最近我在学AD采样,遇到了一些问题,希望得到大家的帮助。
                        以下是教程自带的源码:

                             #if     RHEOSTAT_PC3
                            #define RHEOSTAT_ADC_DR_ADDR    ((u32)ADC1+0x4c)
                            #define RHEOSTAT_ADC_CHANNEL     ADC_Channel_13
                            #define RHEOSTAT_ADC_CLK          RCC_APB2Periph_ADC1
                            #define RHEOSTAT_ADC              ADC1
                            #define RHEOSTAT_ADC_GPIO_CLK     RCC_AHB1Periph_GPIOC
                            #define RHEOSTAT_ADC_GPIO_PIN     GPIO_Pin_3
                           #define RHEOSTAT_ADC_GPIO_PORT    GPIOC

                         这句话的基本意思是stm32f429的pc3脚为模拟输入模式,采样通道为13,AD1,
                                     这是串口返回的数据:
                             
                                             ----这是一个ADC实验(NO DMA传输)----



                                              The current AD value = 1.711230 V  
                                              The current AD value = 0x084F
                                              The current AD value = 1.711230 V
                                              The current AD value = 0x0853  
                                              The current AD value = 1.720898 V  
                                              The current AD value = 0x0851
                                              The current AD value = 0.000000 V  
                                              The current AD value = 0x0850

                                                                 根据上面的数据可以看到,采集电压基本正常,基本稳定。
             我将源码做了如下的修改:
                            #define RHEOSTAT_ADC_CHANNEL     ADC_Channel_5
                            #define RHEOSTAT_ADC_CLK          RCC_APB2Periph_ADC1
                            #define RHEOSTAT_ADC              ADC1
                            #define RHEOSTAT_ADC_GPIO_CLK     RCC_AHB1Periph_GPIOA
                            #define RHEOSTAT_ADC_GPIO_PIN     GPIO_Pin_5
                           #define RHEOSTAT_ADC_GPIO_PORT    GPIOA

                                            也就是说我想用PA5脚来采样:
                  采样结果如下:
                            未外接采样电阻时:
                                          
                                      The current AD value = 1.748291 V
                                      The current AD value = 1.748291 V  
                                      The current AD value = 0x087A
                                      The current AD value = 1.745068 V  
                                      The current AD value = 0x0877
                                       The current AD value = 1.746680 V
                                       The current AD value = 0x0877
                                      The current AD value = 1.755542 V
                                      The current AD value = 0x0882
                          外接电阻采样时:
                                     The current AD value = 1.752319 V
                                     The current AD value = 0x0878
                                     The current AD value = 1.753125 V
                                     The current AD value = 0x0880
                                     The current AD value = 1.753931 V
                                     The current AD value = 0x0879
                                     The current AD value = 2.911670 V
                                     The current AD value = 0x087A
                                     The current AD value = 0.111987 V
                                     The current AD value = 0x0059
                                     The current AD value = 1.628247 V
                                     The current AD value = 0x08A6
                                     The current AD value = 2.695752 V
                                     The current AD value = 0x0D1E  
                                     The current AD value = 0.065259 V
                                     The current AD value = 0x0117
                                     The current AD value = 1.538818 V
                                     The current AD value = 0x087E
                                     The current AD value = 3.229907 V
                                     The current AD value = 0x0DDC
                                     The current AD value = 0.111182 V
                                     The current AD value = 0x000A
                                    The current AD value = 1.749902 V
  补充说明:上面的数据是我采样用的是滑动变阻器,接的是1.2伏。将PA5脚接到滑动变阻器的中间引脚,
          问题一:为什么我没有接滑动变阻器中间的时候,初始电压不为0?
         问题二:为什么接了滑动变阻器后的电压有时增加,有时降低?
                 





回复

使用道具 举报

发表于 2016-4-14 08:35:21 | 显示全部楼层
1、ADC 引脚悬空的时候 ,默认 电压 都是在 1.5V 左右,这个是正常现象,悬空的时候并不是0V。

2、会不会你的硬件问题,你可以用杜邦线把开发板的滑动变阻器(VR引脚)连接到PA5做实验试一试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-4-14 13:07:57 | 显示全部楼层

          大神,你太厉害了。佩服佩服。
                 的确是我的硬件有问题,造成了不稳定。
回复 支持 反对

使用道具 举报

发表于 2016-4-25 14:50:13 | 显示全部楼层
这个AD有多稳?看指标好像不怎么样呢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 23:43 , Processed in 0.033402 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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