找回密码
 立即注册
楼主: 我的***

ADC采集为什么有时候是0?

[复制链接]
  • TA的每日心情
    奋斗
    半小时前
  • 签到天数: 124 天

    [LV.7]常住居民III

    12

    主题

    315

    回帖

    882

    积分

    高级会员

    积分
    882
    发表于 2023-12-23 13:38:19 | 显示全部楼层
    采用DMA_ADC功能,通过软件去掉极值,再算平均值。https://www.stcaimcu.com/forum.p ... D%E5%87%86%E4%BA%86
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-15 09:24
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    1

    主题

    26

    回帖

    111

    积分

    注册会员

    积分
    111
    发表于 2023-12-25 12:08:08 | 显示全部楼层
    我初次弄的时候,没加参考电压,就是随机的,不知道你加没加参考电压
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2934

    回帖

    6617

    积分

    超级版主

    积分
    6617
    发表于 2023-12-25 12:52:15 | 显示全部楼层
    ADC是硬件外设,每次转换都执行相同的操作:采样-量化,输入电压部位0,不会读到0的。请用示波器仔细看看ADC输入脚的信号是否有干扰。ADC输入脚一定要设置为高阻。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-25 13:44:06 | 显示全部楼层
    jwg 发表于 2023-12-23 13:38
    采用DMA_ADC功能,通过软件去掉极值,再算平均值。https://www.stcaimcu.com/forum.php?mod=viewthread&tid ...

    8H1K08没有DMA功能
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-25 13:45:25 | 显示全部楼层
    梁工 发表于 2023-12-25 12:52
    ADC是硬件外设,每次转换都执行相同的操作:采样-量化,输入电压部位0,不会读到0的。请用示波器仔细看看AD ...

    已经高阻了,不高阻的话测出来完全不准的,现在一切正常,只是而尔出现一次0值
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9318

    回帖

    1万

    积分

    管理员

    积分
    13898
    发表于 2023-12-25 13:54:45 | 显示全部楼层

    参考下图:
    截图202312251353548100.jpg

    截图202312251354355252.jpg

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-25 17:41:12 | 显示全部楼层
    谢谢各位大神的回复,多谢了!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    2

    主题

    11

    回帖

    54

    积分

    注册会员

    积分
    54
    发表于 2024-4-16 15:23:18 | 显示全部楼层
    这个问题时STC单片机自带AD的一个BUG,STC的绝大部分自带AD单片机型号都有这个BUG,AD采样数据都会随机出0,不是程序问题,技术解答说要在AD输入端并接一个RC电路,并且电容值不能太小,这样才不会随机出0,但是这样一来,STC单片机自带AD的使用就局限了,只能测量直流电压或低频率交流信号,不能测量方波信号和高频率信号,都被RC电路过滤成平滑的波形了。

    点评

    你有确凿的证据说是BUG吗? 最经典的就是做示波器,ADC后显示波形,我从来没发现有出现0的情况,哪怕用500KHz的速度采样显示波形(比如观察10KHz的正弦波),都没有发现过出现0,因为出现0的时候,波形会很难看的。  详情 回复 发表于 2024-4-18 10:26
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2934

    回帖

    6617

    积分

    超级版主

    积分
    6617
    发表于 2024-4-18 10:26:47 | 显示全部楼层
    本帖最后由 梁工 于 2024-4-18 10:30 编辑
    any8086 发表于 2024-4-16 15:23
    这个问题时STC单片机自带AD的一个BUG,STC的绝大部分自带AD单片机型号都有这个BUG,AD采样数据都会随机出0 ...

          我没有发现能读到0.
          最经典的就是做示波器,ADC后显示波形,我从来没发现有出现0的情况,哪怕用500KHz的速度采样显示波形(比如观察10KHz的正弦波),都没有发现过出现0,因为出现0的时候,波形会很难看的。如果谁测试示波器发现波形中有读到0的情况,可以告知我。
          输入接RC是ADC基本都用的,不是仅仅STC的ADC要用,用于滤除干扰、抗混叠滤波(你可以了解下什么是抗混叠),至于说只能测低频交流信号,频率高低都是相对的(比如1MHz相对工频就是高频,但相对射频就是低频),我不知道你说的高频是多高。接了RC,比如1K+1nF,其低通转折频率为159KHz,RC值为1us,这个时间已经小于500KHz的2us了,也就是说,输入使用1K+1nF滤波(RC值1us),使用500KHz采样(2us间隔),则即使输入方波信号,某次采样时电平为0,采样完成出现上升沿,则下次采样幅度已经升到86.5%了,如果使用100KHz采样,则完全可以忽略RC值的影响。
    RC的C还可以给采样电容瞬间供电,减小输入电阻的影响,这个你可以参考别的贴的论述。

           几十年来我看到的、用过的ADC输入电路,不管是单独的ADC芯片还是MCU自带的ADC,基本都是带RC的,就是基于上述原因。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    擦汗
    4 天前
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    1

    主题

    3

    回帖

    51

    积分

    注册会员

    积分
    51
    发表于 2024-4-23 20:56:55 | 显示全部楼层
    我也遇到了这个情况,用的是stc8g1k08的单片机,采样时很容易出现0的现象,最后多次采集去掉0后取平均数,但是总感觉哪里不对,对于一个成熟的单片机不会出现这种情况,但是遇到了想知道是什么原因
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-5 09:34 , Processed in 0.072581 second(s), 70 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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