Skip to main content

WeMos D1 ESP-Wroom-02 ESP8266 – pomiar napięcia baterii

Artykuł dotyczy modułu WeMos D1 ESP-Wroom-02, ale jest aktualny dla wielu innych modułów, które w większości zbudowane są w podobny sposób.

Większość znanych mi modułów opartych o układ ESP8266 posiada wybudowany dzielnik napięcia podpięty do wejścia analogowego A0.

Źródło: https://www.letscontrolit.com/wiki/index.php/File:Voltage-divider.gif

 

Wartości rezystorów:

  • R1 = 220k
  • R2 = 100k

Vout jest podłączone do A0, a maksymalne napięcie Vin (wg większości źródeł) nie powinno przekraczać 1V.
W pełni naładowany akumulator typu Li-Ion (również Li-Pol) posiada napięcie 4,2V.

Napięcie wyjściowe Vout obliczamy stosując drugie prawo Kirchhoffa  (patrz wzór z rysunku).

4,2 * (100k / (100k + 220k)) = 1,3125V

Jak widać, przekroczyliśmy maksymalne napięcie Vout dla pinu A0 o 0,3125V.

Dla podanego dzielnika, maksymalne napięcie wejściowe wynosi:

1 / (100k / (100k + 220k)) = 3,2V

Musimy zatem dodać dodatkowy rezystor w szereg z rezystorem R1 a naszą baterią o wartości 100k.

Maksymalne napięcie wejściowe wyniesie wtedy równo 4,2V.
Jeśli chcesz mierzyć napięcia do 5V, np. z USB, należy zastosować rezystor 180k.
Przy założeniu, że stosujemy rezystor 100k, przykładowy kod będzie wyglądał jak poniżej.

void setup(void) {
  Serial.begin(9600);
}

void loop(void) {
  int rawVoltage = analogRead(A0);
  float voltage = 4.2 * rawVoltage / 1024.0;

  Serial.print("Voltage: ");
  Serial.println(voltage);

  delay(10000);
}

markac

Full-stack Web Developer

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.