ads7825采样线性度不好?
在使用ads7825的串行采样时,用信号源输入信号,发现单个电压点的重复性可以,跳动在2-3个mv,但是在输入不同的电压是,发现在不同的电压点上采样有些准有些不准,感觉是在波动。
例如:输入0v,采样结果为0.004v
输入0.2v,采样结果为0.2v,输入-0.2v,采样结果为-0.12v左右
输入0.4v,采样结果为0.328/v,输入-0.4v,采样结果为-0.4v左右
感觉大的线性度是对的,但是总是有个70mv左右的曲线波动,而且是对称的正负电压总是有个70mv的误差,这是怎么回事啊?
是我的采样程序有问题还是电路有问题呢?
你好,请先上传原理图以便分析。
老是发不出图来
发成附件看看
你好,因为ADS7825是一个SAR ADC,所以需要一个RC低通滤波限带同时降低采样导致的噪声,可以试试499欧和820p。可以参考http://www.ti.com/lit/an/slaa571/slaa571.pdf ,同时你的PCB布局是否按照手册所述的建议?
还有,你的输入电压是怎么产生的?电阻分压么?因为这款AD输入阻抗较低,只有40k。所以如果前端电阻过大会导致误差。
我的实际使用时的电压是传感器的电压经过仪表放大器后进行采样,我曾经尝试再加了一个跟随电路,发现采样值变了,但线性还是不好。
我目前调试都是用的信号源输入采样信号。没有电阻分压
请详述你对AD的操作和时序控制,以便大家参考,谢谢。
我把具体的采样结果现象给你们看看:
每组数据为:信号源输入电压 ad采样出的电压
-2 -2.003 ,-1.8 -1.803 ,-1.6 -1.681, -1.4 -1.402, -1.2 -1.202, -1 -1.08 ,-0.8 -0.88 ,-0.6 -0.601 ,-0.4 -0.401 ,-0.2 -0.279 ,0 -0.074, 0.2 0.199 ,0.4 0.321 ,0.6 0.522, 0.8 0.8 ,1 1 ,1.2 1.122, 1.4 1.323, 1.6 1.602 ,1.8 1.724, 2 1.924
我的程序是:
CLK_AD=0;
BUSY_AD=1;
SYNC=1;
RC=1;
VMOTOR=0;
for(ii=0;ii<200;ii++) //ADS7825采样200个数
{
adh=0X00;//高8位初值
adl=0X00;//低8位初值
delay(30);
RC=0;
delay(30);
RC=1;//启动AD转换
//////////
while(!BUSY_AD);//当BUSY_AD跳回高电平,表示转换结束
delay(30);//延迟,对脉冲整形
CLK_AD=0;//
delay(30);
CLK_AD=1;
delay(30);
CLK_AD=0;
while(!SYNC);
/////////////////////////////////////////////////////////////////////////
for(i=0;i<=7;i++)
{
delay(30);
CLK_AD=0;
adh=adh | DATA_AD;
adh=adh<<1;
delay(30);
CLK_AD=1;
}
for(i=0;i<=7;i++)
{
delay(30);
CLK_AD=0;
adl=adl | DATA_AD;
adl=adl<<1;
delay(30);
CLK_AD=1;
}
//////////////////////////////////////////////////////////////////////////////////////////
T[step11].ch[0]=adh;
T[step11].ch[1]=adl;
最后两行通过联合体把数据转换了
请各位帮忙分析下