Anfangerfrage - Mit Ampere im Timer die entnommene Kapazität berechnen.

Gast #1746532
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich habe einen kleinen Logger, über einen Widerstand messe ich die
Ampere (mit dem Multimeter verglichen, stimmt soweit).

In der Hauptschleife habe ich die Millisekunden, z.B.
1
1.006ms
2
1.043ms
3
1.080ms
4
1.116ms
5
1.153ms
6
...

und den aktuellen Amperewert z.B.
1
0,120A
2
0,290A
3
0,290A
4
0,280A
5
0,230A

Kann ich auch mit diesen Angaben die entnomme Kapazität (mAh) berechnen?
Wäre die Rechnung dann einfach (für den zweiten Durchlauf mit obigen 
Werten):
1
while(1) {
2

3
   // mah Berechnung
4
   mA = 0,290A / 1000; // 290mA
5

6
   // Vergangene Zeit in Stunden h
7
   h = (1.043ms - 1.006ms) / 1000 (sekunde) / 60 (minute) / 60 / (stunde) // 0,00001028
8

9
   mAh += 0,00001028 * 290mA;
10
}

Oder wird das grundsätzlich anders berechnet?
Sollte man hier einen Timer nehmen? Um für bessere Auflösung
mit festen (größeren) Zeitabschnitten rechnen...

* 0,00001028 erscheint mir schon etwas komisch :) hmmm

Vielen Dank & Viele Grüße
Jens
Gast #1746582
Lesenswert?
• ▲
▼
Es kommt natürlich darauf an, wie schnell du auswerten willst. Für eine 
Anzeige muss man ja nicht einen 10ms-Wert berechnen, da genügt ein 
Intervall von 1s oder 0.5s (Timer-Interrupt verwenden).
Du musst den Messwert auf eine Stunde normieren, das wäre bei einem 
Intervall von 1s: Messwert/3600, bei 0.5s: Messwert/7200.
Diese normierten Werte addierst du stetig auf, wie Otto schon schrieb.

Wenn du mit einem µC rechnest, dann solltest du beachten, dass die 
Zahlen entsprechend klein, bzw groß werden können, was bei schnellen 
Berechnungen entscheidenende Rechenleistung kosten kann, je nach 
Anwendung.
Persönliche Seite #1746596
Lesenswert?
• ▲
▼
Hi,

ich geh mal davon aus, dass der Code von dir nur Pseudocode sein soll 
(Zahlen mit Komma und Einheit..)

Dennoch muss die Berechnung von A auf mA nicht
mA = 0,290A / 1000; // 290mA

sondern
mA = 0,290A * 1000; // 290mA

sein.
1A = 1000mA, 1mA = 0,001A


Der Rest erscheint mir sonst soweit richtig (von dem allgemeinen 
Einheitenkuddelmuddel abgesehen). Wenn du mit Einheiten rechnest, dann 
bitte auch immer und überall.


Du summierst ja auf und multiplizierst mit der verstrichenene Zeit. Habt 
ihr beiden über mir eigentlich seinen "Code" gelesen? ;)

Gruß
Lasse
Gast #1747062
Lesenswert?
• ▲
▼
Die einfache Integration wie du sie machst ist sicher okay und wird 
denke ich meistens so gemacht.

Wenn du nicht mit Mathe auf Kriegsfuß stehst und ein bissle was 
"Schöneres" (in Hinsicht auf einen geringeren Integrationsfehler) 
ausprobieren möchtest, schau dir mal Runge-Kutta-Verfahren an.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.