Medir tensión, intensidad y potencia con Arduino y INA219


¿Qué es un INA219?

El INA219 es un sensor fabricado por Texas Instruments que permite realizar medidas de tensión, intensidad y potencia en circuitos electrónicos.

El INA219 puede metir tensiones de 0V a 26V, pudiendo elegir entre dos escalas de 16V y 32V, con una precisión máxima de ±0.5.

La ganancia de la medición corriente es ajustable por software, lo que influye en el rango y precisión que podemos obtener. Al mínimo, puede medir corrientes de hasta ±3.2V con una precisión de 0.8mA. Al máximo, un rango de ±400mA con precisión de 0.1mA.

La alimentación del módulo es compatible con 3V3 y 5V. La comunicación se realiza a través de I2C, por lo que es muy sencillo conectarlo a un procesador como Arduino.

Anuncio:

El INA219 es una muy buena opción para realizar mediciones eléctricas, ya que realiza la medición simultánea de intensidad, tensión y potencia eléctrica.

Precio

El INA219 es un sensor con muy buena relación de prestaciones respecto a precio. Podemos encontrarlo por 1.60€ en vendedores internacionales de Ebay y Aliexpress.

¿Cómo funciona un [componente]?

El INA219 está formado por una resistencia de shunt, un amplificador de ganancia variable y un conversor analógico digital de 12 bits.

El ADC realiza la medición tanto la tensión del bus, como de alimentación de la carga, y la caída de tensión en la resistencia shunt originada por la corriente de la carga. Con ello, el INA219 puede calcular la potencia eléctrica consumida por la carga, como la multiplicación de la tensión e intensidad medidas.

La tensión máxima que puede medirse en la resistencia de shunt es de 40mV. Por defecto, el módulo lleva incorpora una resistencia de 0.1 Ohm. Esto, combinado con el ADC de 12 bits, da lugar a un rango máximo de ±400mA, con una precisión de 0.1mA.

Sin embargo, podemos modificar la ganancia del PGA entre 1 a 8. Esto da lugar a un rango máximo de medición de intensidad de ±3.2A, con una precisión de 0.8mA.

Por otro lado, la medición de tensión tiene dos escalas de medición, de 16 y 32V, proporcionando una precisión de hasta 0.5% respecto al máximo de la escala elegida.

Esquema de montaje

La conexión es sencilla, simplemente alimentamos el módulo desde Arduino mediante GND y 5V y conectamos el pin SDA y SCL de Arduino con los pines correspondientes del INA219. Por otro lado, conectamos la carga a medir empleando el borne atornillado, prestando atención de respetar la polaridad indicada en la placa.

Finalmente, la conexión vista desde el lado de Arduino quedaría así.

Ejemplos de código

Para realizar la lectura del BME280 usaremos la librería desarrollada por Adafruit, disponible en https://github.com/adafruit/Adafruit_INA219.

La librería proporciona ejemplos de código, que resulta aconsejable revisar. Los siguientes ejemplos, por ejemplo, son modificaciones están basados a partir de los disponibles en la librería.

Anuncio:

Previous Aplicaciones multiplataforma con ASP.NET Core y Electron.NET
Next Leer códigos 433Mhz desde ordenador con SDR y RTL_433
1000
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
newest oldest
Yonatan Perenguez

buen día, en la parte (un rango de ±400mV con precisión de 0.1mA) supongo que era 400mA?? osea que tengo que poner en código ( ina219.setCalibration_16V_400mA(); ) ? en v+ y v-, abrimos el circuito que deseamos medir?