Beobachter um Füllstand zu schätzen

Gast #4147813
Lesenswert?
• ▲
▼
Ich habe ein Gefäß mit einem Zulaufventil und Ablaufventil, die entweder 
geschlossen oder geöffnet sind. Wenn sie geöffnet sind, soll angenommen 
werden, dass jeweils in konstante Volumenstrom rein- bzw. rausfließt. 
D.h. die Füllhöhe des Gefäßes spielt für den Volumenstrom keine Rolle.

Zusätzlich habe ich am Gefäß zwei binäre Sensoren, einen für Leer und 
einen für Voll. D.h. ich bekomme nur die Information:

  a.) Gefäß leer (oder weniger)
  b.) Gefäß irgendwo zwischen voll und leer
  c.) Gefäß voll (oder mehr)

Nun möchte ich einen Beobachter bauen, der den prozentualen Füllstand 
des Gefäßes schätzt. Der Beobachter sieht den Zustand der beiden Ventile 
und der beiden Sensoren, und hat natürlich die Vergangenheit (begrenzt) 
zur Verfügung.

Wie gehe ich da am besten vor? Diese ganzen Kalman-Geschichten 
verwursteln ja immer "analoge" Werte, und keine digitalen.

Für triviale Fälle kann, wenn sich der Zustand der Ventile nicht ändert 
und das Gefäß jeweils von ganz leer nach ganz voll oder umgekehrt 
ändert, kann ich ja einfach aus der abgelaufenen Zeit den jeweiligen 
Volumenstrom bzw. Differenzvolumenstrom ausrechnen.
Gast #4149661
Lesenswert?
• ▲
▼
Ich glaube das mit dem Observer wird schwer gehen, weil für den 
interessanten Fall 0 < x < h deine Sensoren ja beide nichts anzeigen. 
Die einzige Möglichkeit wäre ein Modell zu speisen und den Wert des 
Modells zu nehmen, dabei müsstest du aber den Anfangszustand kennen.
#4149759
Lesenswert?
• ▲
▼
Hallo,

unter den Randbedingungen ist die Schätzung nicht so schwer. Zuerst 
verwendest du einen der beiden sicheren Füllstände (voll oder leer) als 
Startpunkt für die Schätzung. Dann ist solltest du noch das Volumen 
kennen und kannst dann einfach durch den Volumenstrom mal Öffnungszeit 
des jeweiligen Ventils die zu- und abgelaufene Flüssigkeitsmenge 
ermitteln. Die Differenz ist dann der Inhalt des Tanks.
Dabei wird die Schätung umso unsicherer, je länger keiner der 
definierten Zustände (voll oder leer) mehr eingetreten ist. Wenn ein 
solcher Zustand eintritt muss dann natürlich die Schätzung wieder auf 
den entsprechenden Wert korrigiert werden. Vom Konzept her ist es dabei 
auch egal, welchen Zustand die Schalter erkennen (kann auch 42% gefüllt 
sein beim Umschalten), das muss lediglich in der Schätzung passend 
eingebaut werden.

Praktisch wird der Zufluss aus einer Leitung mit definiertem Druck 
kommen, also einen recht konstanten Volumenstrom aufweißen. Da der Druck 
beim Abfluss aber aus der aktuellen Füllhöhe resultiert wäre es sicher 
besser, hier einen von der Füllhöhe abhängigen Volumenstrom zu 
verwenden.
Bedeutet praktisch, das du statt dem Volumenstrom mal der Zeit zu 
rechnen das Integral des Volumenstroms über die Zeit bildest. Praktisch 
dann z.B. alle 1 Sekunde den Volumenstrom für die aktuelle Füllhöhe zu 
nehmen und mal 1 Sekunde zu rechnen und zum vorherigen Ergebnis zu 
addieren.

Gruß Kai
Gast #4150250
Lesenswert?
• ▲
▼
Amateur schrieb:
> Diese ganzen Kalman-Geschichten
> verwursteln ja immer "analoge" Werte, und keine digitalen.

Du kannst einfach in der Beobachtungsmatrix den Koeffizienten für den 
Füllstandssensor auf 0 setzen, solange weder "voll" noch "leer" 
ansprechen. Dann läuft das Ding als reiner Prediktor und du bekommst 
auch die Aussage über die Genauigkeit der Schätzung.

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.