是否应将所有未使用的模拟输入端口都接地以进行准确的A2D测量?


18

我正在使用Arduino Uno上的A0端口读取LM35温度传感器的电压输出。我观察到,如果我将其余的模拟输入端口A1到A5悬空,则读数波动很大。浮动模拟输入会影响连接到某些信号的输入端口上的读数准确性。

Answers:


12

任何浮动引脚都将充当天线,并可能干扰其周围的值,这是使用模拟的主要缺点之一。

为了以最小的干扰获得最准确的读数,您可以将所有未使用的输入接地。

精度不会改变,因为精度由传感器本身确定。但是,它将减少噪音/干扰,从而使您获得更准确的读数。

通过将未使用的模拟引脚配置为数字输出并将其设置为低电平,可以实现这些接地。

pinMode(A1, OUTPUT);
digitalWrite(A1, LOW);

不知道这是否是个幸运的猜测,但是将输出引脚(包括An)驱动为低电平也是最节能的方法。高电平驱动或启用上拉会消耗更多的电源能量。
jippie 2014年

@jippie-如果您没有任何电路板泄漏,它们可能会消耗相同的功率。如果确实有泄漏,则取决于是通电还是接地。
康纳·沃尔夫

1
@FakeName不,他们没有。我读了一篇关于这个问题的文章。将引脚驱动为低电平大约需要与保持高阻抗相同的电流。高电平驱动或上拉会消耗更多电流。我将在今天晚些时候尝试查找该文章。
jippie 2014年

我没有读过这篇文章,但是可以确认将所有引脚驱动为高电平会比所有低电平驱动的电流稍大。
Cyber​​gibbons 2014年

@jippie-嗯,这很奇怪。我希望图腾柱输出是对称的。去搞清楚!
康纳·沃尔夫

0

即使将未使用的引脚设置为OUTPUT / LOW也会比启用PULLUP的INPUT消耗的功率少一点,但我猜第二个选项更省钱。

引用其他人:

如果不小心将热线接触到低输出设置,则会使处理器短路并炸裂。如果不小心将接地线接触到较高的输出设备,则会使处理器短路并炸裂。如果您不小心将任一根导线触摸到带上拉的输入,您甚至都不会注意到。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.