用 ADC 测量 PIC 自己的 VDD-in 电压

电器工程 图片 ADC
2022-01-24 07:21:33
  • 处理器:PIC18F66K22
  • 编译器:C18(XC8 也可以)

我刚刚编写(并成功测试)代码来测量 AN4 模拟引脚上的电压。

现在我想尝试别的东西,不太确定理论上是否可行。

我的测试板有一个 PIC 处理器,VDD、AVVD 连接到电源(范围从 0(如果电池空/断开)到 4,2(满电池)。

我可以使用 ADC 来测量我的电路板的 VDD(-in) 吗?

为什么不?:

  • 它不是 ANx 引脚,不知道如何让 ADC 测量它?(渠道?)
  • 如果 VDD(-in) 上的电压下降,我的 ADC 参考电压也会下降吗?(所以当我的 PIC 只得到 3.3V 时,ADC 仍然会说它是 100%(作为芯片上的最大电压,参考也是 3.3V)。

为什么/你问什么?:

  • 我可以只测量通道 30 (VDDCORE) 吗?
  • 我可以将我的 Vref 设置为 Vdd 并使用 A/D 转换器测量精密电压基准吗?(不知道如何)
  • 或者我可以添加一条从 VDD-in 到 ANx 引脚的线?

  • 当 VDD-in 约为 3.4V 时,内部 VREF+ (4.096V) 会保持 4+V 吗?是否有某种转换器可以做到这一点?

  • 内部 VREF+ (4.096V) 略低于电池的最大值 (4,2V),这是否意味着我会损坏 ADC?或者只是当电池充满时结果将是最大的。(4,2V 出 4,096V)

请注意,我对电子学的了解是“低”的。我在教育中学到了更多关于软件部分的知识,但我想更多地了解(嵌入式)电子,因为它是嵌入式工程的关键部分。(很遗憾我的学校没有看到这一点。)

1个回答

该 PIC 有一个内部 1.024V 带隙参考,通过将通道选择位设置为 11111 来选择。
因此,如果您将 ADC 模块的参考设置为 Vdd,然后告诉它测量 1.024V 的参考值,您可以推断出实际的 Vdd是。

通常你会计算出你已经 A2D 的引脚上的电压,例如:
Vin = (ADCval/ADCrange)*Vref

但在这种情况下,您知道它的 Vin (1.024v) 并且您想要求解 Vref(您的 Vdd),因此:
Vref = (Vin * ADCrange)/ADCval
或更具体地针对您的情况:
Vdd = (1.024 * 4096) /ADCval