• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Obliczenie stanu baterii w %
#1
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
[Obrazek: arduino-logo-png-6.png]
 
Odpowiedź
#2
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.
 
Odpowiedź
#3
(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 :)
[Obrazek: arduino-logo-png-6.png]
 
Odpowiedź
#4
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.
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#5
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.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości