» AliExpress » Componentes electronicos »Placa con chip INA219 para medir I y U con bus de comunicación I2C

Placa con chip INA219 para medir I y U con bus de comunicación I2C

Compré una placa con un chip INA219 para medir I y U con un bus de comunicación I2C en aliexpress. El conector BLS y los pines se suministran con la placa, que puede instalarse o no en la placa.
Placa con chip INA219 para medir I y U con bus de comunicación I2C



Los parámetros principales de la placa se indican en la placa misma.

El elemento principal en el tablero es el chip INA219. El chip INA219, a pesar de su pequeño tamaño y pequeño número de pines, tiene grandes capacidades. El microcircuito mide el voltaje en la derivación (en los terminales Vin + y Vin_), una resistencia con baja resistencia y en el pin Vin en relación con el pin GND, a su vez. Los resultados del cálculo se escriben en registros, luego se transmiten al microcontrolador a través del bus de comunicación I2C. El tablero tiene una derivación con una resistencia de 0.1 ohmios. El voltaje en el chip mide el convertidor analógico a digital del ADC. El ADC puede funcionar en 9, 10, 11, 12 modos tibit. El modo de funcionamiento del chip se configura cambiando el registro de configuración. El fabricante tiene un programa gratuito, INA219 EVM, para configurar el chip INA219. Archivo de programa - sboc271.zip
sboc271.zip [3.55 Mb] (descargas: 367)

Archivo de hoja de datos en el chip INA291 -
ina219.pdf [1.14 Mb] (descargas: 361)
Ver archivo en línea:


El microcircuito tiene la capacidad de ajustar la precisión de sus mediciones, en otras palabras, es posible calibrar los resultados de la medición.

Para verificar el funcionamiento de la placa en el chip INA219, se ensambló el siguiente circuito.

La alimentación de la placa con el chip INA219 se debe suministrar desde la placa Arduino u otra fuente de energía.
Para trabajar con la placa en el chip INA219 en el sistema de programación Arduino IDE, necesitamos una biblioteca. Las búsquedas en Internet arrojaron un resultado positivo. Encontré varias bibliotecas, pero funcionó para mí con solo dos.
Se encontró la primera biblioteca de Adafruit - Adafruit_INA219-master.zip
adafruit_ina219-master.zip [11.97 Kb] (descargas: 177)

Está funcionando, pero no pude conectarme a la placa con el chip INA219 cuando cambié la dirección del bus I2C. Por defecto, una placa con un chip INA219 tiene una dirección de bus I2C 0x40. Tampoco le permite configurar el modo de funcionamiento del chip INA219.
La segunda biblioteca carecía de los defectos de la primera. La segunda biblioteca de trabajo es Arduino-INA219-master.zip
arduino-ina219-master.zip [17.52 Kb] (descargas: 451)

¿Cómo se instalan las bibliotecas en el sistema de programación Arduino IDE? Puede obtener la respuesta a esta pregunta de mis artículos o de la información publicada en Internet.
Quiero usar la placa con el chip INA219 para experimentos. Será más conveniente para mí trabajar con él si sueldo el conector y los pines del BLS en la placa.


Ensamblé el circuito, conecté los pines Data (SDA) y Clok (SCL) a la placa Arduino UNO. Conecte la salida de datos (SDA) al conector A4, conecte la salida Clok (SCL) al conector A5 de la placa Arduino UNO. Luego abra el programa Arduino IDE. Ya he instalado bibliotecas. Abrimos un ejemplo de la primera biblioteca.

Cambié la línea 9 en el código en lugar de 115200, configuré 9600. De lo contrario, aparecerán garabatos en el monitor del puerto serie en lugar de números y letras. También configuré el puerto com de la computadora a 9600. Esto lo probé en la práctica.


Compilamos el ejemplo de getcurrent. Cargamos datos en el controlador de la placa Arduino UNO. Abra el monitor del puerto serie en el programa Arduino UNO y vea el resultado de la medición obtenido del chip INA219.

El resultado de la medición del chip INA219 fue preciso.
Luego, decidí cambiar la dirección del bus I2C. Y antes de eso, determiné la dirección del bus I2C de la placa INA219 con la ayuda de un boceto, como lo hice en el artículo "Estación meteorológica local en GY-BMP280-3.3 y Ds18b20»

Para cambiar la dirección del bus I2C de la placa desde el chip INA219, soldé el puente y determiné una nueva dirección del bus I2C.


Luego descargué el ejemplo de la segunda biblioteca.

Para que el código compilado (convertido en un formulario adecuado para escribir en el microcontrolador de la placa Arduino UNO) pueda funcionar con la placa en el chip INA219 con la dirección 0x44, debe cambiar la línea ina.begin () en el ejemplo; a la cadena ina.begin (68);

¿Por qué 68? Y debido a que 68 = 0 x 44, 68 es un número en el sistema de números decimales, 0 x 44 es un número en el sistema de números octales.
Para traducir números, puede usar la calculadora estándar.

Después de cambiar la línea de compilación del ejemplo, flashear el código en Arduino UNO en el monitor del puerto serie, vi lo siguiente.

¡Buena suerte a todos en sus esfuerzos y acciones!

Costo: ~ 80

Agrega un comentario

    • sonriesonrisasxaxaokno sabesyahoonea
      jeferascarsetontosisi-siagresivosecreto
      lo sientobailardance2dance3perdónayudabebidas
      pararamigosbuenobuenosilbatodesmayarselengua
      fumaraplaudirllorardeclararburlóndon-t_mentiondescargar
      calorfuriosorisa1mdareuniónMoskingnegativo
      not_ipalomitas de maizcastigarleerasustarasustabuscar
      burlagraciasestoto_clueumnikagudode acuerdo
      malbeeeojo negroblum3ruborpresumiraburrimiento
      censuradocortesíasecreto2amenazarvictoriaYusun_bespectacled
      shokrespektjajajaPrevedbienvenidokrutoyya_za
      ya_dobryiayudantene_huliganne_othodigolpearprohibircerrar
3 comentario
68 = 0 x 44, 68 es el número en el sistema decimal, 0 x 44 es el número en el sistema octal.
0x44 es un número en el sistema hexadecimal, no en octal. ((
Guest Vadim
¡El diagrama de cableado que se muestra en la figura es incorrecto! Autor, ¿alguna vez has verificado lo que ofreces? Parece que la evidencia se tomó de la excavadora.
¿Qué sucederá en tal esquema con lecturas de sensor sin carga? ¿Y cómo puede el sensor determinar el voltaje en la batería (BusVoltage) usando este circuito? ¿Y en carga?
Invitado Pavel
¿Por qué no escribir ina.begin (0x44)?

Le recomendamos que lea:

Pásalo por el teléfono inteligente ...