我用 F2837X controlCAD 的ADC测量一节AA电池。万用表测量电池电压是1.624V。 ADC每次测量结果都不一样。谁知道为什么吗?程序用的是ControlSUITE 里面的例子“adc_soc_continuous_cpu01” 。 下面是我截取的两轮的测量结果。
ADCRESULT0 0x07E2 ADC Result 0 Register [Memory Mapped]
ADCRESULT1 0x0816 ADC Result 1 Register [Memory Mapped]
ADCRESULT2 0x0805 ADC Result 2 Register [Memory Mapped]
ADCRESULT3 0x07DE ADC Result 3 Register [Memory Mapped]
ADCRESULT4 0x07FC ADC Result 4 Register [Memory Mapped]
ADCRESULT5 0x0807 ADC Result 5 Register [Memory Mapped]
ADCRESULT6 0x07D2 ADC Result 6 Register [Memory Mapped]
ADCRESULT7 0x0800 ADC Result 7 Register [Memory Mapped]
ADCRESULT8 0x07DC ADC Result 8 Register [Memory Mapped]
ADCRESULT9 0x07E7 ADC Result 9 Register [Memory Mapped]
ADCRESULT10 0x080D ADC Result 10 Register [Memory Mapped]
ADCRESULT11 0x07F3 ADC Result 11 Register [Memory Mapped]
ADCRESULT12 0x07F7 ADC Result 12 Register [Memory Mapped]
ADCRESULT13 0x0818 ADC Result 13 Register [Memory Mapped]
ADCRESULT14 0x07FB ADC Result 14 Register [Memory Mapped]
ADCRESULT15 0x07F5 ADC Result 15 Register [Memory Mapped]
Chen Jones:
请问楼主用的是同一个Channel采样的么?
SOC0~SOC15,同一个channel?
我用 F2837X controlCAD 的ADC测量一节AA电池。万用表测量电池电压是1.624V。 ADC每次测量结果都不一样。谁知道为什么吗?程序用的是ControlSUITE 里面的例子“adc_soc_continuous_cpu01” 。 下面是我截取的两轮的测量结果。
ADCRESULT0 0x07E2 ADC Result 0 Register [Memory Mapped]
ADCRESULT1 0x0816 ADC Result 1 Register [Memory Mapped]
ADCRESULT2 0x0805 ADC Result 2 Register [Memory Mapped]
ADCRESULT3 0x07DE ADC Result 3 Register [Memory Mapped]
ADCRESULT4 0x07FC ADC Result 4 Register [Memory Mapped]
ADCRESULT5 0x0807 ADC Result 5 Register [Memory Mapped]
ADCRESULT6 0x07D2 ADC Result 6 Register [Memory Mapped]
ADCRESULT7 0x0800 ADC Result 7 Register [Memory Mapped]
ADCRESULT8 0x07DC ADC Result 8 Register [Memory Mapped]
ADCRESULT9 0x07E7 ADC Result 9 Register [Memory Mapped]
ADCRESULT10 0x080D ADC Result 10 Register [Memory Mapped]
ADCRESULT11 0x07F3 ADC Result 11 Register [Memory Mapped]
ADCRESULT12 0x07F7 ADC Result 12 Register [Memory Mapped]
ADCRESULT13 0x0818 ADC Result 13 Register [Memory Mapped]
ADCRESULT14 0x07FB ADC Result 14 Register [Memory Mapped]
ADCRESULT15 0x07F5 ADC Result 15 Register [Memory Mapped]
Joey Mao:
请问楼主每次结果不一样,具体的误差是多少,换算成电压后的误差又是多少?
通过电路由ADC采样到的电压是有一定的误差的,不可能每次一样
我用 F2837X controlCAD 的ADC测量一节AA电池。万用表测量电池电压是1.624V。 ADC每次测量结果都不一样。谁知道为什么吗?程序用的是ControlSUITE 里面的例子“adc_soc_continuous_cpu01” 。 下面是我截取的两轮的测量结果。
ADCRESULT0 0x07E2 ADC Result 0 Register [Memory Mapped]
ADCRESULT1 0x0816 ADC Result 1 Register [Memory Mapped]
ADCRESULT2 0x0805 ADC Result 2 Register [Memory Mapped]
ADCRESULT3 0x07DE ADC Result 3 Register [Memory Mapped]
ADCRESULT4 0x07FC ADC Result 4 Register [Memory Mapped]
ADCRESULT5 0x0807 ADC Result 5 Register [Memory Mapped]
ADCRESULT6 0x07D2 ADC Result 6 Register [Memory Mapped]
ADCRESULT7 0x0800 ADC Result 7 Register [Memory Mapped]
ADCRESULT8 0x07DC ADC Result 8 Register [Memory Mapped]
ADCRESULT9 0x07E7 ADC Result 9 Register [Memory Mapped]
ADCRESULT10 0x080D ADC Result 10 Register [Memory Mapped]
ADCRESULT11 0x07F3 ADC Result 11 Register [Memory Mapped]
ADCRESULT12 0x07F7 ADC Result 12 Register [Memory Mapped]
ADCRESULT13 0x0818 ADC Result 13 Register [Memory Mapped]
ADCRESULT14 0x07FB ADC Result 14 Register [Memory Mapped]
ADCRESULT15 0x07F5 ADC Result 15 Register [Memory Mapped]
Miao Yu:
回复 Joey Mao:
误差很大,最大值和最小值能相差0.05V呢!也许我应该在ADC输入之前加一个运放也许会好一些。
我用 F2837X controlCAD 的ADC测量一节AA电池。万用表测量电池电压是1.624V。 ADC每次测量结果都不一样。谁知道为什么吗?程序用的是ControlSUITE 里面的例子“adc_soc_continuous_cpu01” 。 下面是我截取的两轮的测量结果。
ADCRESULT0 0x07E2 ADC Result 0 Register [Memory Mapped]
ADCRESULT1 0x0816 ADC Result 1 Register [Memory Mapped]
ADCRESULT2 0x0805 ADC Result 2 Register [Memory Mapped]
ADCRESULT3 0x07DE ADC Result 3 Register [Memory Mapped]
ADCRESULT4 0x07FC ADC Result 4 Register [Memory Mapped]
ADCRESULT5 0x0807 ADC Result 5 Register [Memory Mapped]
ADCRESULT6 0x07D2 ADC Result 6 Register [Memory Mapped]
ADCRESULT7 0x0800 ADC Result 7 Register [Memory Mapped]
ADCRESULT8 0x07DC ADC Result 8 Register [Memory Mapped]
ADCRESULT9 0x07E7 ADC Result 9 Register [Memory Mapped]
ADCRESULT10 0x080D ADC Result 10 Register [Memory Mapped]
ADCRESULT11 0x07F3 ADC Result 11 Register [Memory Mapped]
ADCRESULT12 0x07F7 ADC Result 12 Register [Memory Mapped]
ADCRESULT13 0x0818 ADC Result 13 Register [Memory Mapped]
ADCRESULT14 0x07FB ADC Result 14 Register [Memory Mapped]
ADCRESULT15 0x07F5 ADC Result 15 Register [Memory Mapped]
Miao Yu:
回复 Chen Jones:
是的,都是对channel 0 连续采样。
我用 F2837X controlCAD 的ADC测量一节AA电池。万用表测量电池电压是1.624V。 ADC每次测量结果都不一样。谁知道为什么吗?程序用的是ControlSUITE 里面的例子“adc_soc_continuous_cpu01” 。 下面是我截取的两轮的测量结果。
ADCRESULT0 0x07E2 ADC Result 0 Register [Memory Mapped]
ADCRESULT1 0x0816 ADC Result 1 Register [Memory Mapped]
ADCRESULT2 0x0805 ADC Result 2 Register [Memory Mapped]
ADCRESULT3 0x07DE ADC Result 3 Register [Memory Mapped]
ADCRESULT4 0x07FC ADC Result 4 Register [Memory Mapped]
ADCRESULT5 0x0807 ADC Result 5 Register [Memory Mapped]
ADCRESULT6 0x07D2 ADC Result 6 Register [Memory Mapped]
ADCRESULT7 0x0800 ADC Result 7 Register [Memory Mapped]
ADCRESULT8 0x07DC ADC Result 8 Register [Memory Mapped]
ADCRESULT9 0x07E7 ADC Result 9 Register [Memory Mapped]
ADCRESULT10 0x080D ADC Result 10 Register [Memory Mapped]
ADCRESULT11 0x07F3 ADC Result 11 Register [Memory Mapped]
ADCRESULT12 0x07F7 ADC Result 12 Register [Memory Mapped]
ADCRESULT13 0x0818 ADC Result 13 Register [Memory Mapped]
ADCRESULT14 0x07FB ADC Result 14 Register [Memory Mapped]
ADCRESULT15 0x07F5 ADC Result 15 Register [Memory Mapped]
Joey Mao:
回复 Miao Yu:
Miao Yu
误差0.05V/1.624V≈0.03, 一般来说3%的误差算是正常了,要看你对信号的要求,如果要求更高的精度,就需要硬件和软件的处理来提高精度了。
我用 F2837X controlCAD 的ADC测量一节AA电池。万用表测量电池电压是1.624V。 ADC每次测量结果都不一样。谁知道为什么吗?程序用的是ControlSUITE 里面的例子“adc_soc_continuous_cpu01” 。 下面是我截取的两轮的测量结果。
ADCRESULT0 0x07E2 ADC Result 0 Register [Memory Mapped]
ADCRESULT1 0x0816 ADC Result 1 Register [Memory Mapped]
ADCRESULT2 0x0805 ADC Result 2 Register [Memory Mapped]
ADCRESULT3 0x07DE ADC Result 3 Register [Memory Mapped]
ADCRESULT4 0x07FC ADC Result 4 Register [Memory Mapped]
ADCRESULT5 0x0807 ADC Result 5 Register [Memory Mapped]
ADCRESULT6 0x07D2 ADC Result 6 Register [Memory Mapped]
ADCRESULT7 0x0800 ADC Result 7 Register [Memory Mapped]
ADCRESULT8 0x07DC ADC Result 8 Register [Memory Mapped]
ADCRESULT9 0x07E7 ADC Result 9 Register [Memory Mapped]
ADCRESULT10 0x080D ADC Result 10 Register [Memory Mapped]
ADCRESULT11 0x07F3 ADC Result 11 Register [Memory Mapped]
ADCRESULT12 0x07F7 ADC Result 12 Register [Memory Mapped]
ADCRESULT13 0x0818 ADC Result 13 Register [Memory Mapped]
ADCRESULT14 0x07FB ADC Result 14 Register [Memory Mapped]
ADCRESULT15 0x07F5 ADC Result 15 Register [Memory Mapped]
Miao Yu:
回复 Joey Mao:
这个误差范围应该是接受不了的。硬件方面的处理应该就是加运放和滤波吧? 对于软件处理,由于误差不确定,是不是只能取平均值呢?还有其他什么办法吗?
我们想用这个ADC来做数据采集(振动),之后还要进行频率域分析。噪声太高肯定不行的。不知道是否需要使用单独的ADC芯片?谢谢啦
我用 F2837X controlCAD 的ADC测量一节AA电池。万用表测量电池电压是1.624V。 ADC每次测量结果都不一样。谁知道为什么吗?程序用的是ControlSUITE 里面的例子“adc_soc_continuous_cpu01” 。 下面是我截取的两轮的测量结果。
ADCRESULT0 0x07E2 ADC Result 0 Register [Memory Mapped]
ADCRESULT1 0x0816 ADC Result 1 Register [Memory Mapped]
ADCRESULT2 0x0805 ADC Result 2 Register [Memory Mapped]
ADCRESULT3 0x07DE ADC Result 3 Register [Memory Mapped]
ADCRESULT4 0x07FC ADC Result 4 Register [Memory Mapped]
ADCRESULT5 0x0807 ADC Result 5 Register [Memory Mapped]
ADCRESULT6 0x07D2 ADC Result 6 Register [Memory Mapped]
ADCRESULT7 0x0800 ADC Result 7 Register [Memory Mapped]
ADCRESULT8 0x07DC ADC Result 8 Register [Memory Mapped]
ADCRESULT9 0x07E7 ADC Result 9 Register [Memory Mapped]
ADCRESULT10 0x080D ADC Result 10 Register [Memory Mapped]
ADCRESULT11 0x07F3 ADC Result 11 Register [Memory Mapped]
ADCRESULT12 0x07F7 ADC Result 12 Register [Memory Mapped]
ADCRESULT13 0x0818 ADC Result 13 Register [Memory Mapped]
ADCRESULT14 0x07FB ADC Result 14 Register [Memory Mapped]
ADCRESULT15 0x07F5 ADC Result 15 Register [Memory Mapped]
Chen Jones:
回复 Miao Yu:
在硬件方面,楼主可以加一个 Voltage Reference,能提高一点精度,因为ADC自带的Reference是通过Band Gap产生的。
在软件方面可以做一些过采样等算法补偿。
我用 F2837X controlCAD 的ADC测量一节AA电池。万用表测量电池电压是1.624V。 ADC每次测量结果都不一样。谁知道为什么吗?程序用的是ControlSUITE 里面的例子“adc_soc_continuous_cpu01” 。 下面是我截取的两轮的测量结果。
ADCRESULT0 0x07E2 ADC Result 0 Register [Memory Mapped]
ADCRESULT1 0x0816 ADC Result 1 Register [Memory Mapped]
ADCRESULT2 0x0805 ADC Result 2 Register [Memory Mapped]
ADCRESULT3 0x07DE ADC Result 3 Register [Memory Mapped]
ADCRESULT4 0x07FC ADC Result 4 Register [Memory Mapped]
ADCRESULT5 0x0807 ADC Result 5 Register [Memory Mapped]
ADCRESULT6 0x07D2 ADC Result 6 Register [Memory Mapped]
ADCRESULT7 0x0800 ADC Result 7 Register [Memory Mapped]
ADCRESULT8 0x07DC ADC Result 8 Register [Memory Mapped]
ADCRESULT9 0x07E7 ADC Result 9 Register [Memory Mapped]
ADCRESULT10 0x080D ADC Result 10 Register [Memory Mapped]
ADCRESULT11 0x07F3 ADC Result 11 Register [Memory Mapped]
ADCRESULT12 0x07F7 ADC Result 12 Register [Memory Mapped]
ADCRESULT13 0x0818 ADC Result 13 Register [Memory Mapped]
ADCRESULT14 0x07FB ADC Result 14 Register [Memory Mapped]
ADCRESULT15 0x07F5 ADC Result 15 Register [Memory Mapped]
Xiaowei Yu:
回复 Chen Jones:
ADC Ref 用的是controlCAD 上面的3.3V,应该是精确的。Averaging 结果也不对。有谁用过F28377D上面的ADC吗?你们用的精度怎么样啊?
DEC
Voltage
Error
DEC
Voltage
Error
ADCRESULT0
2019
1.626635742
0.003636
ADCRESULT0
2023
1.629858
0.006858
ADCRESULT1
2020
1.627441406
0.004441
ADCRESULT1
2024
1.630664
0.007664
ADCRESULT2
2021
1.62824707
0.005247
ADCRESULT2
2024
1.630664
0.007664
ADCRESULT3
2023
1.629858398
0.006858
ADCRESULT3
2024
1.630664
0.007664
ADCRESULT4
2023
1.629858398
0.006858
ADCRESULT4
2024
1.630664
0.007664
ADCRESULT5
2024
1.630664063
0.007664
ADCRESULT5
2025
1.63147
0.00847
ADCRESULT6
2024
1.630664063
0.007664
ADCRESULT6
2025
1.63147
0.00847
ADCRESULT7
2025
1.631469727
0.00847
ADCRESULT7
2025
1.63147
0.00847
ADCRESULT8
2025
1.631469727
0.00847
ADCRESULT8
2025
1.63147
0.00847
ADCRESULT9
2025
1.631469727
0.00847
ADCRESULT9
2026
1.632275
0.009275
ADCRESULT10
2026
1.632275391
0.009275
ADCRESULT10
2027
1.633081
0.010081
ADCRESULT11
2027
1.633081055
0.010081
ADCRESULT11
2027
1.633081
0.010081
ADCRESULT12
2027
1.633081055
0.010081
ADCRESULT12
2027
1.633081
0.010081
ADCRESULT13
2028
1.633886719
0.010887
ADCRESULT13
2028
1.633887
0.010887
ADCRESULT14
2030
1.635498047
0.012498
ADCRESULT14
2028
1.633887
0.010887
ADCRESULT15
2030
1.635498047
0.012498
ADCRESULT15
2029
1.634692
0.011692
Average
1.631318665
0.008318
1.632023
0.009023