ADS1115:Arduino模数转换器

2020-10-30 07:01:10

对于那些需要从模拟信号转换为数字信号的项目,而所使用的微控制器没有这种功能,有这种类型的模块ADS1115是很有趣的,它可以提供这种16位精度的ADC转换功能。

此外,即使您的项目使用的微控制器具有这样的功能,但是您需要其他功能,这种电子元件对于扩展转换功能也可能很有意义。

基波信号转换器有两种类型,但也有其他芯片能够同时进行这两种类型的转换。它们是:

CAD(模数转换器)或ADC(模数转换器):是一种将模拟信号转换为数字信号的设备。为此,您可以使用对模拟信号进行编码的二进制代码。例如,将二进制值与特定电压或电流值相关联。例如,4位分辨率可以从0000到1111,并且可以分别对应于0v和12v。不过,如果使用符号位,则可以测量负值和正值。

CDA(数模转换器)或DAC(数模转换器):它是一种与上述相反的设备,即将二进制数据转换为模拟电流或电压信号。

使用这些转换器,可以从一种类型的信号传递到另一种类型的信号,如您将在ADS1115的情况下看到的,这将对应于第一种情况。

ADS1115是一个信号转换模块。它所做的就是将模拟转换成数字。您可能认为Arduino开发板本身已经包括内部ADC,以便在使用模拟输入时能够执行此任务,并且它们可以与微控制器信号兼容。

是的,没错,他们在UNO,Mini和Nano中有6个10位分辨率的ADC。但是使用ADS1115,您可以添加另一个16位分辨率的内核,该分辨率高于Arduino内核,另外您还可以释放Arduino外壳。其中15位用于测量,最后一位用于模拟信号的符号,因为如您所知,模拟信号可以是负的也可以是正的。

此外,此模块还提供了使其非常易于使用所需的一切。要将它连接到您的Arduino,您可以使用I2C,因此非常简单。它甚至包括一个标有ADDR的引脚,您可以使用该引脚从4个可用于此组件的地址中选择一个地址。

另一方面,您必须了解ADS1115有两种测量模式,一种是差动测量模式,另一种是单端测量模式:

差分:它每次测量使用两个ADC,将通道数量减少到2个,但它带来了一个明显的优势,那就是它可以测量负电压,而且不容易受到噪声的影响。

单端:它有四个通道,因为它不像前一个情况那样同时使用这两个通道。每个通道均为15位。

除这些模式外,它还包括比较器模式,在该模式下,当任何通道超过可在草图源代码中配置的阈值时,通过ALRT引脚生成警报。

如果您想进行5V以下的测量,但精度更高,您应该知道ADS1115有一个PGA,可以将电压增益从6.144V调整到0.256V。请始终记住,在任何情况下都可以测量的最大电压将是使用的电源电压(5V)。

如果您想查看ADS1115的所有技术细节,以了解其在电子级别的限制,或根据制造商的建议可以在哪些条件下工作,您可以使用网络上提供的数据手册。例如,您可以从TI(德州仪器)下载此文件。

对于引脚和连接,我之前已经对ALRT信号做了一些评论,其中还包括关于ADDR的内容。但它有其他引脚,您也必须知道正确的集成与您的Arduino板或任何其他情况。ADS1115模块中提供的引脚为:VDD:2V至5.5V电源。您可以通过从Arduino主板将其连接到5V来为其供电。

SCL和SDA:I2C的通信引脚。在这种情况下,它们应该根据您的Arduino型号使用合适的针脚。

地址:转向销。默认情况下,它连接到GND,地址为0x48,但您可以选择其他地址:

如果您想使用单端,您可以将想要测量的模拟电流或电压连接在GND和可用的4个模拟引脚之一之间。

作为差分读取模式情况下的连接示例,您可以看到上图。它串联使用1.5节电池,在这种情况下,在A0和A1之间增加3V的电压,这样Arduino板就可以通过I2C测量每个时刻的电压值。显然,您可以使用任何其他信号来测量,在本例中是电池,但它可以是任何您想要的…。

如果您想购买ADS1115,您应该知道您已经准备好以相当便宜的价格与Arduino集成的模块。你可以在许多电子产品商店里找到它们,也可以在eBay、Aliexpress和亚马逊上找到。例如:

要开始,首先在Arduino IDE中安装相应的库。要做到这一点,你可以使用最著名的,Adafruit。为此,您可以执行以下步骤:

现在您已经准备好开始了,您可以访问安装库的代码或以下网址提供的示例。

在这些示例中,您将看到比较器模式、差分模式和单端模式。您可以查看示例以开始使用它们,并根据需要修改它们或编写更复杂的代码。欲了解更多信息,我推荐我们的PDF格式免费入门课程。