Forum: Digitale Signalverarbeitung / DSP / Machine Learning Beobachter um Füllstand zu schätzen


von Amateur (Gast)


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.

von dsdsf (Gast)


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.

von Kai S. (kai1986)


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

von Praktiker (Gast)


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.

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.