找回密码
 立即注册
查看: 2563|回复: 27

单片机唤醒后ADC首次读取电池电压不准确

[复制链接]
  • TA的每日心情

    2023-12-25 15:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    39

    主题

    204

    回帖

    651

    积分

    高级会员

    积分
    651
    发表于 2023-3-8 11:43:30 | 显示全部楼层 |阅读模式
    大家好,外部中断触发单片机从掉电模式唤醒后,为什么首次读取电池电压不准确呢,单片机正常工作没进入掉电模式ADC读取电池电压是正确的,为啥唤醒之后首次读数不准确呢?

    单片机唤醒后ADC首次读取电池电压不准确-1.png 单片机唤醒后ADC首次读取电池电压不准确-2.png
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    711

    回帖

    2520

    积分

    超级版主

    积分
    2520
    发表于 2023-3-8 12:14:18 | 显示全部楼层
    ADC是模拟外设,从睡眠唤醒,打开ADC电源开关,到ADC可以正常进行ADC转换是需要等待时间的
  • TA的每日心情

    2023-12-25 15:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    39

    主题

    204

    回帖

    651

    积分

    高级会员

    积分
    651
     楼主| 发表于 2023-3-8 13:50:27 | 显示全部楼层
    zhp 发表于 2023-3-8 12:14
    ADC是模拟外设,从睡眠唤醒,打开ADC电源开关,到ADC可以正常进行ADC转换是需要等待时间的
    ...

    打开ADC电源开关再延时一会去ADC转换是否可以解决此问题

    点评

    zhp
    应该可以解决  详情 回复 发表于 2023-3-8 13:59
  • TA的每日心情
    开心
    2024-1-4 08:56
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    16

    主题

    711

    回帖

    2520

    积分

    超级版主

    积分
    2520
    发表于 2023-3-8 13:59:17 | 显示全部楼层
    980578873 发表于 2023-3-8 13:50
    打开ADC电源开关再延时一会去ADC转换是否可以解决此问题

    应该可以解决
  • TA的每日心情

    2023-12-25 15:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    39

    主题

    204

    回帖

    651

    积分

    高级会员

    积分
    651
     楼主| 发表于 2023-3-8 14:19:41 | 显示全部楼层
    zhp 发表于 2023-3-8 13:59
    应该可以解决

    delay200ms就可以了

    该用户从未签到

    550

    主题

    9221

    回帖

    1万

    积分

    管理员

    积分
    13914
    发表于 2023-3-8 14:23:49 | 显示全部楼层
    那再尝试延时10mS, 另外不管咋样,采样时间要够
  • TA的每日心情

    2023-12-25 15:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    39

    主题

    204

    回帖

    651

    积分

    高级会员

    积分
    651
     楼主| 发表于 2023-3-8 14:33:01 | 显示全部楼层
    神农鼎 发表于 2023-3-8 14:23
    那再尝试延时10mS, 另外不管咋样,采样时间要够

    应该和采样时间没有多大的关系吧,主要是单片机片内的ADC电路从上电到ADC转换开始时刻要有足够的启动时间才能保证ADC的准确度

    该用户从未签到

    550

    主题

    9221

    回帖

    1万

    积分

    管理员

    积分
    13914
    发表于 2023-3-8 14:38:16 | 显示全部楼层
    大家好,外部中断触发单片机从掉电模式唤醒后,为什么首次读取电池电压不准确呢
    ====是主电源稳定的情况下,你重新打开ADC的电源,等10mS或者1mS/200uS ?足够了,用不到 200mS

    另外不管咋样,你设置的ADC采样时间要够
    ===你上下你原理图的PDF, 大家帮你分析下,我认为你没找到原因

    该用户从未签到

    550

    主题

    9221

    回帖

    1万

    积分

    管理员

    积分
    13914
    发表于 2023-3-8 14:43:49 | 显示全部楼层
    你如【ADC内部的采样保持电容】对外部采样时间设置的不够,
    【ADC内部的采样保持电容】和你【外部的电压输入源的电位】还没有互相充放电到相同电位的时候,
    就开始ADC转换了,那转换的就不是外面真实的电压值,
    而只是内部的和外部还没相等的采样保持电容的电压值

    该用户从未签到

    550

    主题

    9221

    回帖

    1万

    积分

    管理员

    积分
    13914
    发表于 2023-3-8 14:44:58 | 显示全部楼层
    1.png

    没200mS那么夸张


    1.png
    2.png

    ADC的转换时间是固定的,但采样时间,用户要根据实际线路来设置
    T = R*C

    内部 R《=200欧,C = 17pF, 你外部还有 R和C, 从最长采样时间开始测试

    你采样时间不够,就会内部采样保持电容的电位还没有和外部信号源的电压相等,
    你就切断了采样通道进行ADC转换,所以就是转换了1个和外界输入还没相等的值 !!!!!
    ====大家必须知到这个

    下面这个夸张的示意图:
    C24是MCU内部的ADC采样保持电容/17pF;
    R110是MCU的内部通道等效电阻,可能是 700欧 + 200欧的走线电阻
    C25是外部输入信号源;
    C24和C25如采样时间不够/就是互相充放电时间不够,
    那2个电位还没相等,你就关断采样进行转换,那转换出来的值就不是外部C25的电位,
    而只是和C25不等的C24当时的电位 !!! 不行
    1.png




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

    本版积分规则

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

    GMT+8, 2024-4-27 10:27 , Processed in 0.072671 second(s), 71 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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