mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfangerfrage - Mit Ampere im Timer die entnommene Kapazität berechnen.


Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.006ms
1.043ms
1.080ms
1.116ms
1.153ms
...

und den aktuellen Amperewert z.B.
0,120A
0,290A
0,290A
0,280A
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):
while(1) {

   // mah Berechnung
   mA = 0,290A / 1000; // 290mA

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

   mAh += 0,00001028 * 290mA;
}

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

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wird anders berechnet - Du musst die entnommene Kapazität pro 
Zeitintervall fortlaufend aufsummieren.

Otto

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lasse S. (cowz) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielen Dank für die Antworten, @Lasse ja nur pseudocode...
ich versteh das Prinzip, müßte glaube ich das gleiche sein.
Mal schauen wir genau das wird ...;)

Jens

Autor: Maxx (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.