Oct
9

Cómo medir el voltaje de la batería en Adafruit nRF52840 Feather

10/09/2023 10:05 PM por Admin en Iot


Entonces, en este tutorial vamos a medir el voltaje de la batería LiPo conectada a la placa Adafruit nRF52 Feather Bluefruit y mostrarlo en la consola serie. Primero cargue este código en la placa a través de arduino IDE.

#define VBAT_PIN          (A7)
#define VBAT_MV_PER_LSB   (0.73242188F)
#define VBAT_DIVIDER      (0.71275837F)
#define VBAT_DIVIDER_COMP (1.403F)

int vbat_raw;
uint8_t vbat_per;
float vbat_mv,vbat_v;

void setup(void) {
  Serial.begin(115200);

  analogReference(AR_INTERNAL_3_0);
  analogReadResolution(12);  // Can be 8, 10, 12 or 14
  delay(1);
}

void loop(void) {
  vbat_raw = analogRead(VBAT_PIN);
  vbat_per = mv_to_percent(vbat_raw * VBAT_MV_PER_LSB);
  
  vbat_mv = (float)vbat_raw * VBAT_MV_PER_LSB * VBAT_DIVIDER_COMP;
  vbat_v = vbat_mv/1000;
  
  Serial.print("ADC = ");
  Serial.print(vbat_raw * VBAT_MV_PER_LSB);
  Serial.print(" mV (");
  Serial.print(vbat_raw);
  Serial.print(") ");
  Serial.print("LIPO = ");
  Serial.print(vbat_v);
  Serial.print(" V (");
  Serial.print(vbat_per);
  Serial.println("%)");

  delay(4000);
}

uint8_t mv_to_percent(float mvolts) {
  uint8_t battery_level;

  if (mvolts >= 3000) {
    battery_level = 100;
  } else if (mvolts > 2900) {
    battery_level = 100 - ((3000 - mvolts) * 58) / 100;
  } else if (mvolts > 2740) {
    battery_level = 42 - ((2900 - mvolts) * 24) / 160;
  } else if (mvolts > 2440) {
    battery_level = 18 - ((2740 - mvolts) * 12) / 300;
  } else if (mvolts > 2100) {
    battery_level = 6 - ((2440 - mvolts) * 6) / 340;
  } else {
    battery_level = 0;
  }

  return battery_level;
}

Luego conecte una batería LiPo con conector JST al conector de la placa Adafruit nRF52. Luego use el cable USB para cargar la placa. Asegúrese de que el LED amarillo "CHG" esté encendido durante la carga. Ahora abra la consola serie para ver el estado de carga de la batería; una vez que el LED amarillo "CHG" esté apagado, eso significa que la carga de la batería se ha completado.


Tus pensamientos

Buscar
PATROCINADOR
RELOJ CRIPTO
SÍGANOS
últimos tweets

Nueva herramienta agregada: Calculadora de dimensiones de zoom SVG.

PATROCINADOR

Snow: ON
Snow: ON