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
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).
:
Bearbeitet durch User
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.
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
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.
Übrigens: Ich würde einen Integrator nur in Sonderfällen "resetten". Das würde ja Null bedeuten. Ich würde den Maximalwert begrenzen. Bei +max oder -max bleiben nämlich zwei Sachen erhalten: 1. Das Vorzeichen der Richtung 2. Im Gegensatz zu Null, die Info: "Viel".
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.
:
Bearbeitet durch User
Sebastian S. schrieb: > Übrigens: > Ich würde einen Integrator nur in Sonderfällen "resetten". > Das würde ja Null bedeuten. > Ich würde den Maximalwert begrenzen. > Bei +max oder -max bleiben nämlich zwei Sachen erhalten: > 1. Das Vorzeichen der Richtung > 2. Im Gegensatz zu Null, die Info: "Viel". Genau so.
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
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. ;)
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.
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
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".
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).
Hallo, Der Integrator bracuht einen Anfangswert. dieser ist im einfachsten Fall 0. Also Starte die Schaltung bei Null, lasse ihn eine Weile integrieren und Starte erneut. mfG
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.