Integrator läuft voll - warum?

OP #6158173
Lesenswert?

Hi,

ich habe einen Beschleunigungssensor auf Piezobasis, den ich in meiner 
Regelstruktur integriere, um auf die Geschwindigkeit zu kommen. Jetzt 
habe ich überall gelesen, dass ich Integratoren resetten müsste, da sie 
"volllaufen"?

Was genau läuft da voll? Was ist mit dem "volllaufen" gemeint?

Ich denke, dass das irgendwie an der oberen Integrationsgrenze liegt, 
die ja nicht vorhanden ist und der Wert dann irgendwann gegen unendlich 
läuft, oder?

Viele Grüße
#6158183
Lesenswert?

Zyrano D. schrieb:
> ...die ja nicht vorhanden ist und der Wert dann irgendwann gegen unendlich
> läuft, oder?


Zumindest wenn die Eingangswerte nicht gleichanteilfrei sind. Genau.

Um genau zu sein läuft der Integrator dann bei einer praktischen 
Implementierung nicht gegen unendlich, sondern läuft entweder über 
(Integer) oder verliert komplett seine Reaktionsfähigkeit, wenn der 
Exponnent so groß ist, dass jeder Summand nur noch weggerundet wird 
(float).
#6158200
Lesenswert?

Der Input eines Integrators ist in den seltensten Fällen exakt gleich 
Null.

Dann kommt noch hinzu, dass außer im µP, der Integrator selbst nicht 
ideal ist.

Somit ist es, ohne Korrekturmaßnahmen "normal", dass ein Integrator in 
Richtung einer der Extreme läuft.
Oder anders ausgedrückt: Fast nichts, über einen längeren Zeitraum, 
ergibt etwas.
#6158235
Lesenswert?

Moin,

Kommt halt auf das an, was du integrierst. Bei normalen Regelungen muss 
da im Betrieb nix resettet werden. Das regelt sich aus ;-)

Aber wenn du ganz stumpf einen Einheitssprung auf einen Integrator gibst 
und dann einfach wartest, dann laeuft der halt los... und stoesst in der 
realen Welt irgendwann an seine Grenzen und integriert nicht mehr so, 
wie er sollte.
Nur sollte sowas in einer geschlossenen Regelschleife nicht passieren.

Gruss
WK
Gast #6158514
Lesenswert?

Zyrano D. schrieb:

> Jetzt
> habe ich überall gelesen, dass ich Integratoren resetten müsste, da sie
> "volllaufen"?

Überall kann nicht sein :-)

In der Literatur gibt es den Begriff des "leaky integrators", s.a. 
https://en.wikipedia.org/wiki/Leaky_integrator . Hier wird ein drohender 
Überlauf dadurch verhindert, dass bei jedem Zeitschritt ein fester 
Anteil abgezogen wird bzw. in einer analogen Schaltung ein hoher 
Widerstand parallel zum Kondensator im Rückkopplungspfad geschaltet 
wird.
#6158559
Lesenswert?

Zyrano D. schrieb:
> Hi,
>
> ich habe einen Beschleunigungssensor auf Piezobasis, den ich in meiner
> Regelstruktur integriere, um auf die Geschwindigkeit zu kommen. Jetzt
> habe ich überall gelesen, dass ich Integratoren resetten müsste, da sie
> "volllaufen"?

Du kannst durch Integration die Geschwindigkeit bestimmen. Du musst aber 
einen Abgleich mit bekannten oder sicher erkennbaren Zuständen machen, 
eben weil du den Gleichanteil im Beschleunigungssignal nie perfekt 
rausfiltern kannst.
Das heißt im Stillstand muss der Integrator auf 0 resettet werden, 
sofern du Stillstand sicher identifizieren kannst. Sonst sagt dir dein 
Messsignal dass du dich rückwärts bewegst, obwohl du an der 
Bushaltestelle sitzt.

Man gleicht auch gerne Gyroskope mit Beschleunigungssensoren (Vektor der 
Erdbeschleunigung) und Magnetometern ab, da der Lagewinkel durch die 
Integratordrift irgendwann wegläuft. Das nennst sich dann u.a. 
Sensorfusion.

edit: Du könntest zum Beispiel deinen Beschelunigungssensor mit einem 
einfachen Fahrradtacho "fusionieren". Dann hast du das beste aus beiden 
Bereichen. Mit dem Tacho die exakte Geschwindigkeit und mit dem 
Beschleunigungssensor Messwerte zwischen der Abtastung des Tachos.
OP #6158620
Lesenswert?

Danke für die vielen Kommentare. Ich glaube die sind sehr hilfreich, 
aber mag einer vielleicht nochmal eine Ebene tiefer anfangen?

Also ich verstehe, wie ein Beschleunigungssensor auf Piezobasis 
funktioniert und ich weiß, dass ich in meiner zyklischen zeitdiskreten 
Regelstruktur über Integration auf die Geschwindigkeit komme. Ich nulle 
den Sensor immer am Anfang jedes Zyklus.

Was genau da vollläuft habe ich leider nicht genau verstanden. :D
#6158632
Lesenswert?

Nimm das Beschleunigungssignal, integriere es und lass den Sensor mal ne 
Weile liegen. Irgendwann zeigt dein Aufbau eine Geschwindigkeit ungleich 
0 mit Tendenz in eine Richtung. -> Dein Integrator läuft voll.

Versuch doch jetzt noch zusätzlich aus der Geschwindigkeit die Position 
zu bestimmen. ;)
#6158633
Lesenswert?

Zyrano D. schrieb:
> Ich nulle
> den Sensor immer am Anfang jedes Zyklus.

Das kannst Du nur machen wenn sich der Sensor exakt in the richtigen 
Position befindet (Soll=Ist Wert)

> Was genau da vollläuft habe ich leider nicht genau verstanden. :D
Ganz einfach: Der Wert des Integrals. Irgendwann ist halt die Grenze der 
Zahlendarstellung erreicht, je nachdem wieviele Bytes Du für diese 
Zahlendarstellung opferst.
#6158651
Lesenswert?

Moin,

Zyrano D. schrieb:
> aber mag einer vielleicht nochmal eine Ebene tiefer anfangen?

Einfaches Beispiel: WC-Spuelung mit Spuelkasten.
Der Wasserstand im Spuelkasten ist das Integral ueber das reingelaufene 
Wasser. Schliesst das Ventil aus irgendeinem Grund nicht rechtzeitig, 
laeuft der Integrator ueber.
Passiert aber normalerweise nicht, weil die mechanische Regelung dafuer 
sorgt, dass wenn die Regeldifferenz aus Wassersoll- und iststand = 0 
ist, d.h. der Spuelkasten voll ist, das Ventil dicht macht und halt nix 
weiter im Spuelkasten aufintegriert wird.

Gruss
WK
Gast #6158657
Lesenswert?

Zyrano D. schrieb:
> Ich nulle
> den Sensor immer am Anfang jedes Zyklus.

Was ist bei dir ein Zyklus? Wenn die Zyklen kurz genug sind, hast du 
ggf. kein Problem. Aber je länger die Zyklen werden, desto stärker 
werden auch kleinste Nullpunktsfehler vom Integrator aufintegriert - bis 
er irgendwann "vollläuft".
#6158741
Lesenswert?

Was eventuell sinnvoll sein könnte ist:
Das Teil nach dem Einschalten "resetten".

Dabei sollte man aber nicht aus den Augen verlieren, dass das Resetten 
ja auch eine "Behauptung" aufstellt, nämlich = Null.
Dazu muss aber feststehen, dass tatsächlich keine Beschleunigung 
stattfindet...
Und noch was: Das Integral über die Beschleunigung kann man auch als 
Geschwindigkeit interpretieren. Also Beschleunigung gleich Null bedeutet 
aber nicht gleich Geschwindigkeit gleich null.

Im Gegentum. Dem Auto ist es egal, welche Beschleunigung gerade vorlag, 
als ihm der Baum in den Weg gesprungen ist. Das Integral der 
Beschleunigung ist aber etwas, was man im Auge behalten sollte (oder in 
dem Falle im Ohr).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren