Arduino Polska Forum

Pełna wersja: Obliczenie stanu baterii w %
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witajcie pisarze kodów! Potrzebuje waszej pomocy, mianowicie czy ktoś jest mi wstanie napisać wzór na obliczenie % naładowania baterii/akumulatorów żeby mniej więcej wyglądało to jak w smartfonach czy w laptopach? Smile
To trochę bardziej skomplikowane niż Ci się wydaje.
W urządzeniach mobilnych stan procentowy baterii obliczany jest na podstawie napięcia jakie panuje na ogniwie.
Przykładowo, jeśli ogniwo Li-Ion może zostać bezpiecznie naładowane do 4,20V, możesz takie napięcie na nim traktować jako 100% naładowania. Wraz z rozładowaniem napięcie to będzie spadać aż do 0V. W praktyce jednak nie możesz dopuścić do tak głębokiego rozładowania ogniwa poniżej 2,5V bo ulegnie nieodwracalnemu uszkodzeniu i już go nie naładujesz. Możesz bezpiecznie przyjąć wartość 3,00V jako 0% i tak zaprogramować układ aby przy tej wartości się wyłączał.

Pamiętaj, że każdy rodzaj ogniwa ma inne napięcia pracy. Podałem przykład litowo-jonowych bo są dość popularne, ale musisz się zorientować jakiego rodzaju akumulatora chcesz używać i jakie są jego napięcia pracy.
(03-09-2020, 19:15)aj123 napisał(a): [ -> ]To trochę bardziej skomplikowane niż Ci się wydaje.
W urządzeniach mobilnych stan procentowy baterii obliczany jest na podstawie napięcia jakie panuje na ogniwie.
Przykładowo, jeśli ogniwo Li-Ion może zostać bezpiecznie naładowane do 4,20V, możesz takie napięcie na nim traktować jako 100% naładowania. Wraz z rozładowaniem napięcie to będzie spadać aż do 0V. W praktyce jednak nie możesz dopuścić do tak głębokiego rozładowania ogniwa poniżej 2,5V bo ulegnie nieodwracalnemu uszkodzeniu i już go nie naładujesz. Możesz bezpiecznie przyjąć wartość 3,00V jako 0% i tak zaprogramować układ aby przy tej wartości się wyłączał.

Pamiętaj, że każdy rodzaj ogniwa ma inne napięcia pracy. Podałem przykład litowo-jonowych bo są dość popularne, ale musisz się zorientować jakiego rodzaju akumulatora chcesz używać i jakie są jego napięcia pracy.


Zgodzę się z tym że bardzo łatwo jest rozładować ogniwo do zera i co za tym idzie uśmiercić je, wiem że to jest dosyć skomplikowane i nie jeden zaawansowany programista będzie miał z tym kłopot nie mniej jednak nie ma jakiegoś przybliżonego kodu typu np.
Kod:
%baterii = analog.read(A0)*1024/100 X% // gdzie pin A0 to wartość odczytanych voltów z pinu przez arduino :)
Jak dobrze poszukasz to było tu opisywane . Pomiar przez bocznik. Baterie nie sprawdzamy napięcie=stan akumulatora. a natężenie/czas=stan akumulatora. Po prostu musisz sobie zrobić licznik zużycia i ładowania.
Bzdura. Autorowi chodzi o pomiar stanu naładowania ogniwa, a Ty opisujesz sposób pomiaru jego realnej pojemności. Stopień naładowania określa się na podstawie aktualnego napięcia ogniwa i porównanie tej wartości z krzywą rozładowania tego rodzaju ogniwa.