Aziz Bench

Dirección I²C del MAX17048 / MAX17049

El MAX17048 / MAX17049 (indicador de carga para 1 o 2 celdas Li-ion) tiene una dirección I²C fija, 0x36: ningún pin la cambia.

Dirección I²C (7 bits)
0x36
dirección fija
Escritura / lectura (8 bits)
0x6C / 0x6D
Binario
0110110
Comparte dirección con
ninguno
Dónde está en el bus sus direcciones reservadas
0123456789ABCDEF
00000102030405060708090A0B0C0D0E0F
10101112131415161718191A1B1C1D1E1F
20202122232425262728292A2B2C2D2E2F
30303132333435363738393A3B3C3D3E3F
40404142434445464748494A4B4C4D4E4F
50505152535455565758595A5B5C5D5E5F
60606162636465666768696A6B6C6D6E6F
70707172737475767778797A7B7C7D7E7F

Cómo fijar la dirección

No tiene pin de dirección: la dirección viene fijada de fábrica, así que siempre es 0x36.

Dispositivos que usan las mismas direcciones

Ninguno de los otros 87 dispositivos de nuestra lista comparte dirección con el MAX17048 / MAX17049, así que rara vez dará conflictos.

Comprobar todo el bus →Añade el MAX17048 / MAX17049 y el resto de tus módulos: la herramienta encuentra los conflictos, propone direcciones libres y calcula las pull-ups.

Dirección de 7 y de 8 bits

Las direcciones I²C tienen 7 bits. Algunas hojas de datos y bibliotecas las escriben como números de 8 bits, con el bit de lectura/escritura añadido a la derecha: por eso el mismo chip puede aparecer como 0x36 o como 0x6C. La biblioteca Wire de Arduino y ESPHome usan la forma de 7 bits.

7 bitsBinarioEscritura 8 bitsLectura 8 bits
0x3601101100x6C0x6D

Comprueba que responde

Sube este sketch con el MAX17048 / MAX17049 conectado a SDA y SCL: prueba todas las direcciones que puede usar el chip y muestra en el monitor serie la que responde. En el ESP32 los pines por defecto son GPIO21 (SDA) y GPIO22 (SCL); en un Arduino Uno, A4 y A5.

#include <Wire.h>

const byte ADDRS[] = {0x36};

void setup() {
  Serial.begin(115200);
  Wire.begin();
  for (byte a : ADDRS) {
    Wire.beginTransmission(a);
    if (Wire.endTransmission() == 0) {
      Serial.print("MAX17048 / MAX17049 responde en 0x");
      if (a < 0x10) Serial.print('0');
      Serial.println(a, HEX);
      return;
    }
  }
  Serial.println("Sin respuesta: revisa el cableado");
}

void loop() {}

En ESPHome el bus se escanea al arrancar (scan: true es el valor por defecto): el log muestra todas las direcciones que responden.

i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true

Resistencias de pull-up

SDA y SCL necesitan resistencias de pull-up a la alimentación. Muchos módulos ya las llevan, a menudo de 4,7 kΩ o 10 kΩ, y con varios módulos en el bus se suman en paralelo. La herramienta de direcciones I²C calcula el rango admitido para la tensión y la velocidad de tu bus.

Preguntas frecuentes

¿Cuál es la dirección I2C del MAX17048 / MAX17049?

0x36. Es fija: no tiene pin de dirección.

¿Puedo usar más de un MAX17048 / MAX17049 en el mismo bus?

No directamente: la dirección es fija, así que chocarían. Pon cada uno en un canal distinto de un multiplexor TCA9548A o usa un segundo bus I²C.

¿Por qué el MAX17048 / MAX17049 no aparece al escanear el bus I2C?

Revisa, por este orden: que SDA y SCL no estén intercambiados; que las placas compartan masa; que haya resistencias de pull-up en SDA y SCL; que el módulo esté alimentado a la tensión que le corresponde; y que tu código use la dirección de 7 bits (0x36), no la de 8 bits (0x6C).

Dispositivos similares

Direcciones comprobadas en la hoja de datos del MAX17048 / MAX17049.