Oct
9

نحوه اندازه گیری ولتاژ باتری در Adafruit nRF52840 Feather

10/09/2023 10:05 PM توسط Admin که در Iot


بنابراین در این آموزش قصد داریم ولتاژ باتری LiPo متصل به برد Adafruit nRF52 Feather Bluefruit را اندازه گیری کرده و در کنسول سریال نمایش دهیم. ابتدا این کد را از طریق آردوینو 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;
}

سپس یک باتری LiPo با کانکتور JST را به کانکتور برد Adafruit nRF52 وصل کنید. سپس از کابل USB برای شارژ برد استفاده کنید. اطمینان حاصل کنید که LED زرد رنگ CHG در هنگام شارژ روشن است. اکنون کنسول سریال را باز کنید تا وضعیت شارژ باتری را مشاهده کنید، هنگامی که LED زرد رنگ «CHG» خاموش شد که به این معنی است که شارژ باتری کامل شده است.


اندیشه های تو

جستجو کردن
حامی مالی
CRYPTWATCH
ما را دنبال کنید
اطلاعیه ها

ابزار جدید اضافه شد: ماشین حساب ابعاد بزرگنمایی SVG.

حامی مالی

Snow: ON
Snow: ON