【问题标题】:ADC of pic18f452 is not getting exact value of voltage divider ?pic18f452 的 ADC 没有得到分压器的准确值?
【发布时间】:2016-10-16 13:19:08
【问题描述】:

我在升压转换器中使用 PIC18f452。为了控制升压转换器输出电压(200V),我使用了反馈电阻(R1=99K ohm,R2=2.5K ohm)。 R2 两端的电压为 5V,输入为 200V。

V2 = (2.5)/(99+2.5) *200 = 4.92 V

当我想测量控制器的电压时。我将控制器引脚连接到 R2 电阻进行测量。 V2 的值降低到 2.3V。它的值永远不会增加到 4.9 电压。之后我断开通道,然后我再次测量,它的值是正确的,为 4.9 伏。 现在我很困惑,控制器有什么问题。为什么在连接到微控制器引脚以测量此电压时,v2 的值从 4.9v 降至 2.3v。

附在此处的代码。你可以看到管脚的配置。

void main() {

ADCON1 =1;

PORTC = 0;

TRISC = 0;

PORTA = 0;

TRISA = 0xFF;

ADC_Init();

【问题讨论】:

  • 引脚是否配置为输出?
  • 没有。 TRISA=0xFF ,, 配置为输入
  • 我正在使用引脚 RA1 .. 配置为输入

标签: microcontroller pic adc pic18


【解决方案1】:

这可能有很多原因。

  1. ADC TAD 时间错误,请查看数据表。
  2. 要缩短 ADC 采样时间,请查看数据表。
  3. 您正在使用 ADC 配置 (ADCON1 =1),AN3 上的参考电压为 Vref+,那么该引脚上的电压是否为 5 VDC?
  4. 您正在使用高 ADC 输入阻抗以获得良好的 ADC 结果。模拟源的最大推荐阻抗为 2.5 kΩ,请查看数据表。 (您需要放置一个小的陶瓷帽。与 PIN 平行或使用 OP 放大器缓冲输入。)

【讨论】:

    【解决方案2】:

    您必须注意内部 ADC 电阻。将分压器直接连接到引脚可能最终会改变信号特性。我强烈建议添加运算放大器缓冲器或更改分压电阻器的值。

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题,并按照 Darko 的建议使用 OpAmp 电压缓冲器解决了它。您可以使用任何运算放大器,我使用的是 Microchip 的 MCP601。这将 ADC 输入阻抗降低到几乎为零。

      同时,我将您的电阻器增大了十倍,因此它们不会加载您正在测量的电路。没有必要,但为什么不这样做,当 OpAmp 允许时。

      【讨论】:

      • 亲爱的@EmbeddedGuy,我使用缓冲区 Opam 进行 ADC。但是 opam 提供 1.8v 输出,直到输出小于 1.8v。表示其值从输入电压 0v-1.8 v 保持为 1.8v。在 1.8v 的较高值时,它会更改该值。所以我想读更少的电压。所以有可能
      • 我想看看你的运算放大器缓冲器部分的示意图,包括输入电阻器和到 PIC 的输出连接。它应该下降到几乎为零伏,而不仅仅是 1.8 伏。
      猜你喜欢
      • 2018-09-25
      • 1970-01-01
      • 2023-03-20
      • 2019-07-20
      • 1970-01-01
      • 2022-10-19
      • 2022-08-16
      • 2021-04-14
      • 2018-08-18
      相关资源
      最近更新 更多