[其它应用] 不同的采样时间采集到的数据还不一样

[复制链接]
2181|18
 楼主| wenfen 发表于 2023-1-8 17:20 | 显示全部楼层 |阅读模式
使用1652的单片机,它内置有1个通道可接内部1.03V恒压源,用于电池电量检测,配置完之后,采集到的数据转换得到的电压值跟实测值差别特别大。

初始化:
    ADCH    = 0x00;     //P2.7,P3.6 - P3.1作为I/O端口
    ADCON1  = 0x80;     //RGON 接入内部1.03V恒压源
    ADT     = 0x45;     //时钟周期: μs 采样时间: μs,转换时间: μs
    ADCON   = 0x80;

开始转换时:
   ADCON |= 0x01;

解析数据:
  g_ucADCData = (((UINT16)ADDH)<<2)|(ADDL&0x03);

得到的数据转换为电压值:
  (1.03V*1024)/g_ucADCData = 电压值

计算值和实测值最大相差0.5V,最小时0.1V,没有规律,不同的采样时间采集到的数据还不一样。
yszong 发表于 2023-1-8 17:22 | 显示全部楼层
多次测量取平均值吧,换个参考电压看看,你这误差也太大了,ad口并联一个小电容试试。
 楼主| wenfen 发表于 2023-1-8 17:23 | 显示全部楼层
也用平均值了,我设置的是用VDD为基准电压,内部恒压1.03V为输入电压
yinxiangh 发表于 2023-1-8 17:25 | 显示全部楼层
看你这个转换  是VDD的电压吧  

测量电池电量思路:
1 将电池正极连接到ADC的一个通道
2 基于VDD基准电压先采集内部1.03V的ADC值
3 再基于VDD基准电压采集电池连接的ADC通道采集电池电压的ADC值
4 电池电压 = 1.03V * 电池电压ADC值 / 内部1.03V的ADC值
 楼主| wenfen 发表于 2023-1-8 17:27 | 显示全部楼层
这个VDD电压就是电池电压
xxmmi 发表于 2023-1-8 17:31 | 显示全部楼层
加长采样时间,多取几次采样去头尾取平均试试
stly 发表于 2023-1-8 17:33 | 显示全部楼层
  ADCON1  = 0x80; 以后等1ms以后看看?
xxrs 发表于 2023-1-8 17:35 | 显示全部楼层
因为有些型号 内部恒压源开启后,需要一段时间的等待建立
chenjun89 发表于 2023-1-9 19:35 来自手机 | 显示全部楼层
这个测量精度也太大了哈
tpgf 发表于 2023-2-3 15:53 | 显示全部楼层
当然了  使用什么样的采样时间和被采样信号是有关系的
qcliu 发表于 2023-2-3 16:06 | 显示全部楼层
当然了  用1hz频率采集220hz的信号 当然不会准确了
drer 发表于 2023-2-3 16:15 | 显示全部楼层
被采样信号的频率和采样频率 一定要满足奈奎斯特采样定理
coshi 发表于 2023-2-3 16:34 | 显示全部楼层
如果楼主把地接到采样端 就会发现采集到的数据是一样的了
kxsi 发表于 2023-2-3 16:49 | 显示全部楼层
看看哪个采样时间采集的准就用哪个采样时间就行了
wiba 发表于 2023-2-3 16:57 | 显示全部楼层
楼主使用的电压基准是外部基准还是内部基准啊
小小蚂蚁举千斤 发表于 2023-3-9 15:13 | 显示全部楼层
那就那个时间准用哪个不行吗
可怜的小弗朗士 发表于 2023-7-26 15:15 | 显示全部楼层
做一下滤波吧
szt1993 发表于 2023-9-28 13:54 | 显示全部楼层
有误差是正常现象,但是如果误差特别大就有问题了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部