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供电电源的线路设计有没有问题,谢谢。