打印
[其它应用]

不同的采样时间采集到的数据还不一样

[复制链接]
1814|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值

使用特权

评论回复
5
wenfen|  楼主 | 2023-1-8 17:27 | 只看该作者
这个VDD电压就是电池电压

使用特权

评论回复
6
xxmmi| | 2023-1-8 17:31 | 只看该作者
加长采样时间,多取几次采样去头尾取平均试试

使用特权

评论回复
7
stly| | 2023-1-8 17:33 | 只看该作者
  ADCON1  = 0x80; 以后等1ms以后看看?

使用特权

评论回复
8
xxrs| | 2023-1-8 17:35 | 只看该作者
因为有些型号 内部恒压源开启后,需要一段时间的等待建立

使用特权

评论回复
9
chenjun89| | 2023-1-9 19:35 | 只看该作者
这个测量精度也太大了哈

使用特权

评论回复
10
tpgf| | 2023-2-3 15:53 | 只看该作者
当然了  使用什么样的采样时间和被采样信号是有关系的

使用特权

评论回复
11
qcliu| | 2023-2-3 16:06 | 只看该作者
当然了  用1hz频率采集220hz的信号 当然不会准确了

使用特权

评论回复
12
drer| | 2023-2-3 16:15 | 只看该作者
被采样信号的频率和采样频率 一定要满足奈奎斯特采样定理

使用特权

评论回复
13
coshi| | 2023-2-3 16:34 | 只看该作者
如果楼主把地接到采样端 就会发现采集到的数据是一样的了

使用特权

评论回复
14
kxsi| | 2023-2-3 16:49 | 只看该作者
看看哪个采样时间采集的准就用哪个采样时间就行了

使用特权

评论回复
15
wiba| | 2023-2-3 16:57 | 只看该作者
楼主使用的电压基准是外部基准还是内部基准啊

使用特权

评论回复
16
那就那个时间准用哪个不行吗

使用特权

评论回复
17
可怜的小弗朗士| | 2023-7-26 15:15 | 只看该作者
做一下滤波吧

使用特权

评论回复
18
szt1993| | 2023-9-28 13:54 | 只看该作者
有误差是正常现象,但是如果误差特别大就有问题了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

粉丝