Gast
#2919220
Zur Berechnung der Lebensdauer einer Batterie mit 45 mAh und einer
Selbstentladung von 1 Prozent pro Jahr, habe ich eine Gleichung
aufgestellt:
c * 0.99^y I 24 / 365 = y
c ist die Kapazität 45 mAh
I ist der Strom 300 nA
y ist die gesuchte Lebensdauer
Wie kann ich die Gleichung nach y auflösen?
Die Lebensdauer habe ich vorab mit einem C-Programm ermittelt.
------------------------------------------------------------------------
--
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
float I = 300E-9; // Stromaufnahme 300 nA
float ca = 0; // Kapazitätswert alt
float cb = 45E-3; // Kapazitätswert Batterie (45 mAh)
float cn = 45E-3; // Kapazität alt
float y = 0; // Batterielebensdauer in Jahren
do
{
ca = cn; // zum Vergleich kopieren
y = cn I 24 / 365; // Jahre berechnen
cn = cb * exp( y * log(0.99) ); // 0.99 Entladung pro Jahr
printf( "y %f ca %f cn %f\n\r", y, ca, cn );
} while ( abs(ca - cn) > 1E-6 );
return 0;
}
y 17.123287 ca 0.045000 cn 0.037885
y 14.416085 ca 0.037885 cn 0.038930
y 14.813707 ca 0.038930 cn 0.038775
y 14.754625 ca 0.038775 cn 0.038798
y 14.763391 ca 0.038798 cn 0.038795
y 14.762089 ca 0.038795 cn 0.038795