ADI 技术
直播中

王雪

7年用户 170经验值
私信 关注
[问答]

ad7192根据公式计算得到的误差大概有0.1V到0.01V不等的误差

工程师您好:
      我是用的你们公司的AD7192,AINCOM口输入2.5V,AIN2输入电压,REF输入5V,双极性输入。我输入的电压为0到5V(每0.5v取一个值),但是根据公式计算得到的误差大概有0.1V到0.01V不等的误差,这个不知道是什么原因?(我的模式寄存器配置为0X002040,模式寄存器为OX0C2880),并且这个ad的失调寄存器与满量程寄存器中的数值怎配合数据寄存器使用呢?谢谢
      谢谢。

回帖(26)

尹明

2018-9-11 10:29:36
第一问:
       (1)将AIN2 与 AINCOM短接 , AINCOM接入2.5V ,读取10组AD7192的转换结果。
       (2) AIN2 输入的电压为0到5V(每0.5v取一个值),AINCOM接入2.5V , 每种电压读取10组AD7192的转换结果。
       能否告知一下这些数据和AD7192 部分的电路图?你那个那两个寄存器名称相同,麻烦你重写一下。
第二问:
       失调寄存器和满量程寄存器中的数据一般是用不到的,进行失调和满量程标定后这两个寄存器会自动被重写。数据寄存器中的内容已经是经过这两个寄存器标定后的结果。
举报

王雪

2018-9-11 10:46:40
引用: wyywerw2 发表于 2018-9-11 17:04
第一问:
       (1)将AIN2 与 AINCOM短接 , AINCOM接入2.5V ,读取10组AD7192的转换结果。
       (2) AIN2 输入的电压为0到5V(每0.5v取一个值),AINCOM接入2.5V , 每种电压读取10组AD7192的转换结果。

您好:
        我的模式寄存器为0X002040,配置寄存器为0X0C2BFF,然后AIN2与AINCOM短接是10个输出分别为:8005CA,8005CF,8005CE,8005CC,8005DD,8005DD2,8005CE,8005CF,8005C6,8005D1。
       当输入(0-5v)的电压是,AINCOM输入2.56V,AVDD为4.99,对应的值如下:
     实际值    数据寄存器值       公式解算后
       0.064        3EBB4B                2.4456
       0.532        4A7C7C                2.9038
       1.040        57E517                 3.4265
       1.508        643C0B                3.9076
       2.05          729685                 4.4671            
       2.57          80784D                5.0083
       3.06          8D4E75                5.5087
       3.54          9A0940                 6.0050
       3.98          A58D71                6.4540
       4.48         B2CEBD               6.9707
       4.94         BED4CC               7.4392
下面是我的电路图
举报

尹明

2018-9-11 11:03:23
引用: hu_wflllll12 发表于 2018-9-11 17:21
您好:
        我的模式寄存器为0X002040,配置寄存器为0X0C2BFF,然后AIN2与AINCOM短接是10个输出分别为:8005CA,8005CF,8005CE,8005CC,8005DD,8005DD2,8005CE,8005CF,8005C6,8005D1。
       当输入(0-5v)的电压是,AINCOM输入2.56V,AVDD为4.99,对应的值如下:

1.请检查一下,你提供的两个寄存器的内容是否弄反了?
2.ADC的模拟输入的有效信号是AIN2 - AINCOM, 所以表(1)中的2、3、4、5列都是针对这个信号来说明的,表(1)中的数据取自你提供的  实际值    数据寄存器值。这里利用(ADC 码值 , AIN2-AINCOM) 为 (8390095 , 0)和(12506316 , 2.38)两点做一条直线y = kx + b ; 然后将其他点的ADC码值代入该公式计算得到一个计算值,然后算得一个误差。
3. AIN2 = 0.064V计算误差较大,建议重新测一下,最好能测10组数据
4. 能否告知一下,你输入信号AIN2 是如何产生的,如何确定该信号的大小的?
表(1)  
AIN2(V)AIN2-AINCOM (V)ADC码值(十)计算值(V)误差(V)
0.064-2.4964111179-2.4740702890.02193
0.532-2.0284881532-2.028651994-0.00065
1.04-1.525760279-1.520560261-0.00056
1.508-1.0526568971-1.052974347-0.00097
2.05-0.517509637-0.5090810330.000919
2.560839009500
2.570.0184194050.0169470490.006947
3.060.592606610.5033614760.003361
3.540.98100949120.9857256110.005726
3.981.42108496491.4221147310.002115
4.481.92117183331.9243880350.004388
4.942.38125063162.380
 
举报

王雪

2018-9-11 11:11:35
引用: wyywerw2 发表于 2018-9-11 17:37
1.请检查一下,你提供的两个寄存器的内容是否弄反了?
2.ADC的模拟输入的有效信号是AIN2 - AINCOM, 所以表(1)中的2、3、4、5列都是针对这个信号来说明的,表(1)中的数据取自你提供的  实际值    数据寄存器值。这里利用(ADC 码值 , AIN2-AINCOM) 为 (8390095 , 0)和(12506316 , 2.38)两点做一条直线y = kx + b  ...

您好:
        实在不好意思,那个寄存器确实是我给写反了,还有,我的信号是用信号发生器发出的,然后具体的值是用万用表测得,这个是不是误差太大?这个数据我测十组的话我应该取平均值还是取波动的中心值。这个计算就用你给我的这个计算就可以吧?万分感谢。。。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分