980578873 发表于 2023-3-8 15:38:31

神农鼎 发表于 2023-3-8 14:38
大家好,外部中断触发单片机从掉电模式唤醒后,为什么首次读取电池电压不准确呢
====是主电源稳定的情况下 ...





980578873 发表于 2023-3-8 15:40:19

神农鼎 发表于 2023-3-8 14:38
大家好,外部中断触发单片机从掉电模式唤醒后,为什么首次读取电池电压不准确呢
====是主电源稳定的情况下 ...

原理图已截图贴上,麻烦帮忙看看,谢谢

神农鼎 发表于 2023-3-8 15:44:41




神农鼎 发表于 2023-3-8 15:49:21

就是 P10/ADC0 测量 C7/0.1uF的电位:
1, ADC电源打开后,你延时200uS到1mS
2, 将ADC采样时间先设置到最长,然后再改短


神农鼎 发表于 2023-3-8 15:53:04

上原理图的PDF为好,下图稳压管为何未串限流电阻





980578873 发表于 2023-3-8 16:06:43

神农鼎 发表于 2023-3-8 14:44
没200mS那么夸张




假定C25取0.1uF,R108可以是0欧姆吗,如果不是0欧姆,那取值多少合适呢?此时采样时间怎么计算,谢谢。

梁工 发表于 2023-3-8 16:08:28

电话里我不是说得很清楚了吗?

ADC_CONTR &= ~0x80;//关闭ADC
PCON |= 0x02;
NOP(5);    //至少3个NOP
ADC_CONTR |= 0x80;
Delay10ms;   //至少延时1ms,推荐10ms, 模拟电路与数字电路不同,需要时间稳定。
做ADC

980578873 发表于 2023-3-8 16:19:24

梁工 发表于 2023-3-8 16:08
电话里我不是说得很清楚了吗?

ADC_CONTR &= ~0x80;//关闭ADC


梁工,你好,要延时200mS才可以,延时10mS ADC读到的数据不等于电池电压(相差很大),如果延时再大一点ADC转换结果更加接近被测的电池电压,目前原因不详。可能是神龙鼎那样说的单片机片内外电容电压不相等我转换ADC了,采样时间不够,按照龙哥的意思我把采样时间加长试试。

980578873 发表于 2023-3-8 16:23:53

梁工 发表于 2023-3-8 16:08
电话里我不是说得很清楚了吗?

ADC_CONTR &= ~0x80;//关闭ADC


        ADC_CONTR=ADC_CONTR&0x7f;
        PCON=PCON|0x02;
       _nop_();
       _nop_();
        _nop_();
        gpio_init();
        ADC_CONTR=ADC_CONTR|0x80;
        Delay200ms();

980578873 发表于 2023-3-8 16:29:36

神农鼎 发表于 2023-3-8 15:53
上原理图的PDF为好,下图稳压管为何未穿限流电阻

因为水平有限,我优化设计线路,谢谢指点。另外我不知道怎么上传PDF,找不到入口,所以截图上去了。ADC采样线路和MCU供电电源的线路设计有没有问题,谢谢。
页: 1 [2] 3
查看完整版本: 单片机唤醒后ADC首次读取电池电压不准确