Forum: Mikrocontroller und Digitale Elektronik Riemann-Integral (Ober- Untersummen-Verfahren)


von Eric (Gast)


Lesenswert?

Hallo,

Ich habe einen Atmega8 und würde gerne das Integral einer 
Kondensatorkurve bestimmten (Strom).

Dafür bietet sich das Riemann-Integral-Verfahren an.

Weiß einer von euch den Algorithmus, um dies durchzuführen?


Gruß, Eric

von ... (Gast)


Lesenswert?

Was genau möchtest du eigentlich bestimmen? Die Kapazität des 
Kondensators?

von Karl H. (kbuchegg)


Lesenswert?

Na, ja einfach Rechteckflächen aufsummieren.

du hast immer 2 Messpunkte nebeneinander.
Für die Untersumme berechnest du die Rechteckfläche von der Achse 
ausgehend bis zum kleineren der beiden Y-Werte. Für die Obersumme bis 
zum größeren der beiden Y-Werte. Die Breite des Rechtecks ist der 
Abstand der beiden Messwerte auf der X-Achse.

Einfach mal grafisch aufmalen, dann ist alles sonnenklar.

Der Begriff 'Algorithmus' ist dafür schon fast ein wenig zu hoch 
gegriffen.

von Eric (Gast)


Lesenswert?

Ja, genau. Abbruchkriterium habe ich auch schon definiert, bis wie lange 
Werte aufgenommen werden sollen.

von ... (Gast)


Lesenswert?

Beim Messen von großen Kapazitäten hat man doch normalerweise eine 
Spannungsquelle mit einer bekannten Spannung und einen bekannten 
Widerstad, über den geladen wird. Der Spannungsverlauf am Kondensator 
ist eine e-Funktion. Dann misst man nur noch die Zeit, bis die Spannung 
am Kondensator einen bestimmten Wert übersteigt. Daraus kann man dann 
ziemlich einfach ohne integrieren die Kapazität berechnen.
Gehst du bei deiner Messung davon aus, dass der Innenwiderstand des 
Kondensators einen entscheidenden Einfluß hat und du deshalb den 
Ladestrom bestimmen willst oder sowas?

von Eric (Gast)


Lesenswert?

Zum einen der Innenwiderstand, dann ist es schwierig, einen Widerstand 
exakt auszumessen und der induktive Anteil wird auch nicht 
berücksichtigt.

Ich wollte auch einfach mal was anderes als diese Standardmethode 
testen.

Wie das Ober-und Untersummen Verfahren ungefähr geht ist mir schon klar, 
allerdings hatte ich gehofft, dass jemand vllt. schon einen fertigen 
Algorithmus zur Hand hat und ich so nicht das Rad erneut erfinden muss 
:-)

von Karl H. (kbuchegg)


Lesenswert?

Eric schrieb:

> Wie das Ober-und Untersummen Verfahren ungefähr geht ist mir schon klar,
> allerdings hatte ich gehofft, dass jemand vllt. schon einen fertigen
> Algorithmus zur Hand hat und ich so nicht das Rad erneut erfinden muss
> :-)

1
   untersumme = 0;
2
   obersumme = 0;
3
4
   for( i = 0; i < Anzahl_Messwerte - 1; ++i ) {
5
     untersumme = untersumme + min( Messwert[i], Messwert[i+1] ) * Delta_X;
6
     obersumme  = obersumme  + max( Messwert[i], Messwert[i+1] ) * Delta_X;
7
   }
8
9
   integral = ( untersumme + obersumme ) / 2;

was'n da jetzt problematisch daran (ausser dem Schritt, wie man aus 
Obersumme und Untersumme einen einzigen Wert herausextrahiert und ich in 
Ermangelung anderer Verfahren einfach den Mittelwert nehme.

von ... (Gast)


Lesenswert?

Du verschiebst das Problem des exakten Widerstands dann aber nur auf das 
Problem der exakten Strommessung, die auch wieder über einen Widerstand 
erfolgt. Der induktive Anteil ist doch frequenzabhängig. Ich weiß nicht 
ob das Sinn macht den so messen zu wollen. Aber egal. Kannst du nicht 
einfach das explizite Eulerverfahren nehmen? Das ist nun wirklich 
trivial und die Genauigkeit vermutlich mehr als ausreichend.

von Eric (Gast)


Lesenswert?

Danke für den Quelltext :)

Mir war vorher nicht ganz klar, dass man immer bei der US den 
niedrigeren und bei der OS den höheren Wert braucht.

Ich habe immer nur stetig fallende bzw. stetig steigende Funktionen 
betrachtet. In dem Fall vereinfacht sich das Riemann-Integral nämlich, 
weil dann die US nur um eine Stelle der OS verschoben ist.

Als ich dann gesehen hab, dass man bei Funktionen, die sowohl steigen 
als auch fallen noch eine Fallunterscheidung benötigt, bin ich etwas 
verwirrt gewesen.

von Eric (Gast)


Lesenswert?

Euler-Verfahren?

Ich habe mir gerade mal bei Wikipedia dies angeschaut...das ist mir als 
Nicht-Mathematiker glaub ich zu kompliziert.

Ich bin mir auch noch nicht sicher, was als Ergebnis dabei herauskommt, 
aber ich bin mal gespannt :)

von Karl H. (kbuchegg)


Lesenswert?

Drum sag ich ja: selber aufmalen und darüber nachdenken, was man da 
eigentlich tut.

Ein Verfahren hat man erst dann wirklich begriffen, wenn man es selber 
mit der Hand mit Papier und Bleistift anwenden kann. Bilder ansehen ist 
zuwenig.

von Hans (Gast)


Lesenswert?


von Matthias (Gast)


Lesenswert?

Eric schrieb:
> Mir war vorher nicht ganz klar, dass man immer bei der US den
> niedrigeren und bei der OS den höheren Wert braucht.

Wie soll das Rechteck sonst immer unter- bzw. oberhalb der Kurve 
bleiben?
Das gilt allerdings nur, solange die Kurve innerhalb der Intervall 
monoton ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.