Explorando el ADS1115: Un ADC de 16 bits para proyectos de precisión

  • El ADS1115 ofrece una alta precisión con su resolución de 16 bits.
  • Cuenta con la capacidad de medir tanto señales simples como diferenciales, lo que lo hace versátil.
  • La ganancia programable (PGA) permite ajustar el rango de voltaje medido para mejorar la precisión.

ads1115

El ADS1115 es uno de los conversores analógicos a digitales (ADC) más usados por los makers y entusiastas de la electrónica debido a su versatilidad y precisión. Este dispositivo de 16 bits se conecta fácilmente a plataformas como Arduino o Raspberry Pi gracias a su interfaz I2C. El ADS1115 tiene la capacidad de medir hasta 4 entradas analógicas o 2 diferenciales, ofreciendo una resolución superior a la integrada en muchos microcontroladores.

Gracias a su ganancia programable y a su capacidad para medir tanto señales positivas como negativas, se ha convertido en una herramienta imprescindible para aquellos proyectos que requieren una precisión mayor de lo que pueden ofrecer los ADC internos, tales como sensores de alta precisión o mediciones de voltajes bajos.

¿Qué es el ADS1115?

El ADS1115 es un conversor analógico digital (ADC) que transforma señales analógicas en datos digitales procesables por plataformas como Arduino o ESP8266. Este dispositivo destaca por su resolución de 16 bits, lo que lo hace mucho más preciso que los ADC internos de microcontroladores como el Arduino Uno, que solo ofrece 10 bits.

Una de las características más útiles del ADS1115 es su capacidad para realizar mediciones tanto de señales simples (single-ended) como diferenciales. En el modo single-ended, puedes conectar hasta cuatro señales independientes, mientras que en el modo diferencial, puedes conectar dos pares de señales, lo que permite la medición de señales negativas.

Características técnicas del ADS1115

ads1115

El ADS1115 incorpora varias características avanzadas que lo convierten en una excelente opción para proyectos donde se necesita una alta resolución en las mediciones analógicas:

  • 16 bits de resolución: Esto significa que puede medir hasta 65,536 niveles diferentes de señal. Esto lo convierte en una opción mucho más precisa que los ADC de 10 bits integrados en la mayoría de microcontroladores.
  • Interfaz I2C: Permite que el dispositivo se comunique de manera sencilla con microcontroladores. Además, es posible conectar hasta cuatro ADS1115 en un solo bus gracias a su pin de dirección configurable ADDR.
  • Modos de medición: El dispositivo ofrece tanto mediciones single-ended (4 canales independientes) como diferenciales (2 canales). En el modo diferencial, el ruido es reducido y se pueden medir señales negativas.
  • PGA programable: El amplificador de ganancia programable (PGA) ajusta la ganancia en rangos que van desde ±6.144V hasta ±0.256V, lo que permite obtener una mayor precisión al medir voltajes bajos. Cabe destacar que, aunque el PGA permite manejar hasta ±6.144V, no es posible medir más de la tensión de alimentación del dispositivo (5V en la mayoría de casos).
  • Comparador de voltaje: El ADS1115 incluye un comparador programable que puede generar una alerta mediante el pin ALERT cuando una señal excede un valor de umbral definido por software.

Modos de operación

El ADS1115 tiene dos modos principales de operación que se pueden adaptar según las necesidades del proyecto:

  • Conversión continua: En este modo, el dispositivo sigue tomando datos constantemente, ideal para aplicaciones de monitoreo continuo.
  • Modo single-shot: El dispositivo toma una lectura y luego entra en modo de bajo consumo hasta que se le solicite otra lectura. Esto es útil cuando deseas minimizar el consumo de energía en proyectos alimentados por baterías.

Modo de ganancia programable (PGA)

El ADS1115 tiene un amplificador de ganancia programable (PGA), lo que te permite ajustar su rango de medida. Esto es especialmente útil cuando trabajas con señales de bajo voltaje, ya que puedes amplificar la señal para aprovechar al máximo la resolución del ADC. Los rangos soportados son desde ±6.144V hasta ±0.256V, lo que ofrece flexibilidad en una amplia variedad de aplicaciones. Sin embargo, es fundamental no exceder la tensión de alimentación del dispositivo, que suele ser de 5V, ya que podrías dañar el convertidor.

Aplicaciones del ADS1115

  • Medición de sensores: Cuando necesitas leer datos precisos de sensores analógicos, como sensores de temperatura, de luz o de pH, el ADS1115 se convierte en una herramienta clave.
  • Proyectos de investigación: En algunos proyectos donde se necesita medir cambios sutiles en voltajes pequeños, la resolución de 16 bits del ADS1115 proporciona la precisión necesaria.
  • Monitorización de batería: Gracias a su capacidad para medir señales diferenciales y su comparador interno, el ADS1115 también puede ser utilizado para crear sistemas de monitorización de baterías, donde se puede generar una alerta cuando el voltaje cae por debajo de un nivel crítico.

Conexión con Arduino

Conectar el ADS1115 a una placa Arduino es muy sencillo gracias a su interfaz I2C. Solo necesitas conectar los pines SDA y SCL del ADC a los correspondientes en el Arduino, además de alimentar el dispositivo con 5V.

A continuación, te mostramos el esquema básico de conexión:

VCC (ADS1115) -> 5V (Arduino)
GND (ADS1115) -> GND (Arduino)
SCL (ADS1115) -> SCL (Arduino)
SDA (ADS1115) -> SDA (Arduino)

Para seleccionar la dirección I2C del ADC, es necesario conectar el pin ADDR a GND, VDD, SDA o SCL, obteniendo las direcciones 0x48, 0x49, 0x4A o 0x4B, respectivamente. Dependiendo de cuántos ADS1115 quieras usar en tu proyecto, esta opción se vuelve muy útil.

Uso de la librería Adafruit para ADS1115

Para simplificar el uso del ADS1115 con Arduino, se puede instalar la librería de Adafruit. Esta librería proporciona ejemplos muy claros que te ayudarán a comenzar. A continuación, un ejemplo básico para la lectura de los cuatro canales en modo single-ended:

#include <Wire.h>
#include <Adafruit_ADS1015.h>

Adafruit_ADS1115 ads;

void setup(void) {
Serial.begin(9600);
ads.begin();
}

void loop(void) {
int16_t adc0, adc1, adc2, adc3;
adc0 = ads.readADC_SingleEnded(0);
adc1 = ads.readADC_SingleEnded(1);
adc2 = ads.readADC_SingleEnded(2);
adc3 = ads.readADC_SingleEnded(3);

Serial.print("AIN0: "); Serial.println(adc0 * 0.1875);
Serial.print("AIN1: "); Serial.println(adc1 * 0.1875);
Serial.print("AIN2: "); Serial.println(adc2 * 0.1875);
Serial.print("AIN3: "); Serial.println(adc3 * 0.1875);

delay(1000);
}

Este código realiza la lectura de los cuatro canales analógicos y los convierte a voltaje, usando el multiplicador correspondiente según la ganancia que pongamos en el ADC.

Modo diferencial

El modo diferencial del ADS1115 es muy útil para medir voltajes negativos o para minimizar el ruido. Este es un ejemplo básico para hacer una lectura diferencial entre los pines A0 y A1:

#include <Wire.h>
#include <Adafruit_ADS1015.h>

Adafruit_ADS1115 ads;

void setup(void) {
Serial.begin(9600);
ads.begin();
}

void loop(void) {
int16_t results;
results = ads.readADC_Differential_0_1();
Serial.print("Diferencial: "); Serial.println(results * 0.1875);
delay(1000);
}

Con este modo alternativo de lectura, puedes medir la diferencia de voltaje entre dos entradas, ideal para aplicaciones donde el ruido pueda ser un problema.

Consideraciones finales

El ADS1115 no solo brinda una precisión sobresaliente para un ADC de este tipo, sino que también es extremadamente fácil de usar. Su interfaz I2C y su capacidad para medir tanto señales simples como diferenciales lo convierten en un componente valioso para cualquier proyecto de electrónica, ya sea que estés midiendo sensores con voltajes bajos o necesites más precisión que la que proporciona un microcontrolador típico. Además, su comparador incorporado agrega una capa extra de utilidad al permitir la creación de alarmas cuando ciertos umbrales son superados, lo que lo hace perfecto para aplicaciones de monitoreo. Si buscas precisión y funcionalidad en tus mediciones analógicas, el ADS1115 es una opción más que recomendable.


Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.