错误的ADC值。

4个帖子/ 0新
最后一篇
Bharath.
离线
最后一次露面:1年7个月前
加入:2016-04-14 07:03
错误的ADC值。

你好,
在我们的设计中,我们正在使用1M / 1M分压器读取电池电压。
每次阅读我们都会获得2.8V的电压,而电池电压为4.17V。
我们正在使用以下配置来读取ADC值。

adc_calibrate();
ADC_USDELAY(20);

adc_init(gp_adc_se,gp_adc_sign,gp_adc_attn3x);
ADC_USDELAY(20);

adc_enable_channel(adc_channel_p01);

adc_sample = adc_get_sample();
ADC_USDELAY(1);

adc_init(gp_adc_se,0,gp_adc_attn3x);
adc_enable_channel(adc_channel_p01);

adc_sample2 = adc_get_sample();

ADC_SAMPLE =(ADC_SAMPLE2 + ADC_SAMPLE)/ 2;
adc_disable();

我们错过了什么吗?我们应该如何配置GPIO?

设备:
mt_dialog.
离线
最后一次露面:4个月2周前
职员
加入:2015-06-08 11:34
嗨bharath,

嗨bharath,

您必须使用PID_ADC功能存在于PID_ADC()中配置PIN,请检查是否导致您遇到的问题。另外,通过设置衰减器,ADC的实际输入通过内部分压器馈送,这将使您的ADC输入阻抗远低于分压器(带衰减器和无限的300k,没有),并且可以改变电压划分你拥有的外部分隔线。尽量不要使用衰减器(这将使您的ADC无限的输入障碍),并尝试在外部分压器上使用更大的分割因子。

谢谢mt_dialog.

Bharath.
离线
最后一次露面:1年7个月前
加入:2016-04-14 07:03
嗨mt_dialog,

嗨mt_dialog,
谢谢你的建议。我们已将PID_ADC()的PIN初始化为PID_ADC。
我们可以使用的电阻器的哪些值,以便忽略衰减器的效果?

谢谢
Bharath.

mt_dialog.
离线
最后一次露面:4个月2周前
职员
加入:2015-06-08 11:34
嗨bharath,

嗨bharath,

如前所述,您可以尝试删除内部衰减器(使您在ADC上具有无限阻抗,在ADC_INIT()中不要使用GP_ADC_ATTN3X作为最后一个参数,但将其设置为0)并放置将分割的外部分频器电池电压到ADC的最大测量值。

谢谢mt_dialog.