Šim vajadzētu strādāt priekš esp32 Heltec ierīcēm un iespējams ka arī citām ierīcēm (netestēju).

Priekš parastajām litija baterijām.

Kas vajadzīgs

  • Node ar bateriju kam kalibrēt
  • Vscode ar platformIO un meshcore repozitoriju uzstādītu

Dabū baterijas spriegumu

Pielādē bateriju līdz 100% (4.2v)

Kompanjoniem - Atver meshcore applikāciju un apskaties baterijas spriegumu. (Uzspied uz baterijas procentiem un tad parādīs voltus).

Repīteriem - Atver repītera telemetriju un apskaties.

Piemēram šobrīd rāda 3.82v / 45%

Koda atrašana

Atver Vscode ar uzstādīto Meshcore kodu.

Uzliec enviroment uz to ierīci/konfigurāciju ko gribi izmantot.

Atrodi savai ierīcei failu kur ir funkcija getBattMilliVolts().

  • Priekš Heltec v3 - variants -> heltec_v3 -> HeltecV3Board.h
  • Heltec v4 - variants -> heltec_v4 -> HeltecV4Board.cpp
  • Līdzīgi var citām ierīcem atrast mapē variants

Piemēram izmantosim Heltec v3

Funkcijai jāizskatās līdzīgi kā apakšā redzamajā bildē. Funkcija

Atrodi daļu kas aprēķina milivoltus.

Jāizskatās līdzīgi šādi:

return (5.42 * (3.3 / 1024.0) * raw) * 1000;

Matemātika

Iegaumē formulai pirmo koeficientu (↑treknrakstā↑)

Izmantojot iepriekš iegūtu spriegumu un koeficientu, ieliec to šajā formulā

K = X * (4.2/V)

Piemērs:

K = 5.42 * (4.2/3.82) ≈ 5.95

Koda mainīšana

Nomaini funkcijai pirmo skaitli uz iepriekš aprēķināto skaitli

Piemērs:

return (5.42 * (3.3 / 1024.0) * raw) * 1000; ==> return (5.95 * (3.3 / 1024.0) * raw) * 1000;

Piemērot izmaiņas

Pieslēdz ierīci klāt pie datora, kompilē un augšuplādē. Un tagad vajadzētu baterijai pareizi rādīt cik pilna ir!

-🍝