你好,
在我们的设计中,我们正在使用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?
设备:
嗨bharath,
您必须使用PID_ADC功能存在于PID_ADC()中配置PIN,请检查是否导致您遇到的问题。另外,通过设置衰减器,ADC的实际输入通过内部分压器馈送,这将使您的ADC输入阻抗远低于分压器(带衰减器和无限的300k,没有),并且可以改变电压划分你拥有的外部分隔线。尽量不要使用衰减器(这将使您的ADC无限的输入障碍),并尝试在外部分压器上使用更大的分割因子。
谢谢mt_dialog.
嗨mt_dialog,
谢谢你的建议。我们已将PID_ADC()的PIN初始化为PID_ADC。
我们可以使用的电阻器的哪些值,以便忽略衰减器的效果?
谢谢
Bharath.
嗨bharath,
如前所述,您可以尝试删除内部衰减器(使您在ADC上具有无限阻抗,在ADC_INIT()中不要使用GP_ADC_ATTN3X作为最后一个参数,但将其设置为0)并放置将分割的外部分频器电池电压到ADC的最大测量值。
谢谢mt_dialog.