Forum: Mikrocontroller und Digitale Elektronik Regelstreckenparameter aus Sprungantwort ermitteln


von Holger K. (Gast)


Lesenswert?

Hallo allerseits,

im Rahmen eines kleinen Regelungstechnik-Projektes habe ich eine 
Höhenregelung entworfen und aufgebaut. Ein Tischtennisball, der sich in 
einem Plexiglas-Rohr befindet, wird mit Hilfe eines Luftstroms, der 
durch einen herkömmlichen PWM-gesteuerten PC-Lüfter erzeugt wird, 
angehoben. Die Höhe des Balles wird mit Hilfe eines Laser-Sensors 
erfasst. Als Regler verwende ich wahlweise einen Mikrocontroller 
(Attiny13) oder eine SPS (SimaticS7 315).
Außerdem möchte ich die Regelung so exakt wie möglich mit Hilfe von 
scilab/xcos simulieren.

Die Sprungantwort der Regelstrecke habe ich bereits messtechnisch 
aufgenommen. Sie entspricht weitgehend einer IT1-Strecke. Mir ist 
bekannt, dass man die Streckenparameter Tu und Ki näherungsweise mit 
Hilfe einer Tangente bestimmen kann.

Jetzt zu meiner Frage: Gibt es ein genaueres Verfahren als das oben 
angesprochene? Ideal wäre z.B. ein Algorithmus, der aus den aufgenommen 
Messwerten die Übertragungsfunktion bestimmt.

Für hilfreiche Tipps wäre ich sehr dankbar.

Mit freundlichen Grüßen
     wwwcruiser

von Achim M. (minifloat)


Lesenswert?

Holger K. schrieb:
> Die Höhe des Balles wird mit Hilfe eines Laser-Sensors
> erfasst. Als Regler verwende ich wahlweise einen Mikrocontroller
> (Attiny13) oder eine SPS (SimaticS7 315).

Als Auto zum Spielen nehme ich entweder ein Matchboxauto oder einen 
40tonner(Entschuldigung, ich konnte leider nicht wiederstehen...)??
Nee mal im Ernst, der Tiny schafft das locker.

IT1-Strecke? Das kann ich mir folgendermaßen vorstellen: Wenn der 
Ventilateur auf Volldampf anläuft, wird im Rohr erst Druck aufgebaut und 
dann drückt der Venti den Ball locker nach einer gewissen Zeit aus dem 
Rohr. Was ist aber, wenn der Ventilator nur auf 1/10 läuft? Das System 
hat da doch bestimmt Verluste.

Holger K. schrieb:
> Jetzt zu meiner Frage: Gibt es ein genaueres Verfahren als das oben
> angesprochene? Ideal wäre z.B. ein Algorithmus, der aus den aufgenommen
> Messwerten die Übertragungsfunktion bestimmt.

Das WinFact-Paket von Kahlert zum Beispiel. Ich schreib dir ein Link, wo 
man die 6er-Version ziehen kann. Da gibt es zum Beispiel IDA, das ist 
ein Programm welches aus einem Sollwert- und Istwertverlauf(offener 
Regelkreis) die Streckenparameter errechnen kann.
Sollte aber auch mit anderer Numeriksoftware möglich sein.

mfg mf

PS: Poste doch mal eine CSV-Datei mit Sprungfunktion am Eingang und dem 
Ausgangssignal.

von Holger K. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo mf,

herzlichen Dank für die schnelle Antwort. Der Link, den du mir geschickt 
hast, funktioniert leider nicht. Enthält eventuell die Demo-Version von 
Winfact auch die IDA-Anwendung? Dann würde ich die verwenden.

Gemäß deines Hinweises werde ich das Streckenverhalten einmal bei 
verschiedenen Eingangssprüngen untersuchen. Wenn es recht ist, poste ich 
dann anschließend die cvs-Datei mit den Messergebnissen. Die 
Sprungantwort bei maximaler Eingangsspannung habe ich als Anhang 
beigefügt. Das Diagramm habe ich mit Hilfe von Excel aus den Messwerten 
erstellt. Die x-Achse gibt die Zeit in n*100ms an. Auf der y-Achse 
entspricht der Wert von 27648 einer Spannung von 10V. Bei diesem Wert 
misst der Lasersensor eine Höhe von 1m.

Mit freundlichen Grüßen
     wwwcruiser

von Arbeitsloser (Gast)


Lesenswert?

Also ich glaube auch nicht so ganz an das IT1-Verhalten :-)
Ich nehme mal an, dass zwischen dem Ball und der Wand ein Freiraum ist.

Du fängst mit einem ruhenden Ball auf einer Art Gestell an.
Du startest den Ventilator, die Strömungsgeschwindigkeit entlang deines
Rohres nimmt zu. Irgendwann ist der Punkt erreicht, an dem der auf den 
Ball ausgeübte Staudruck ausreicht um seine Gewichtskraft zu überwinden.
Ab diesem Moment bewegt sich der Ball stetig nach oben.Irgendwann 
besteht ein Gleichgewicht zwischen der Widerstandskraft und der 
Gewichtskraft, der
Ball wird sich mit konstanter Geschwindigkeit nach oben bewegen (das 
Gewicht
der Luftsäule wird mal vernachlässigt, genauso die Luftreibung innerhalb
der Säule).

Und jetzt kommt das Problem mit der Sprungantwort. Klar, du hast ein IT1 
(oder zumindest irgendein Totzeitverhalten), wenn du deinen Ventilator 
aus der Ruhe starten lässt. Dabei handelt es sich aber nicht um ein 
klassisches Totzeitglied, sondern einfach um eine Schwelle, unterhalb 
derer garnichts passiert. Deine wirkliche "Totzeit" ist im Endeffekt die 
Schallgeschwindigkeit, und die ist vernachlässigbar ( zumindest im 
Bereich von einigen Metern und der typischen Regelgeschwindigkeit).

Ich würde daher die folgende Annahmen treffen:
Die Änderung der Strömungsgeschwindigkeit erfolgt instantan.
Damit ändert sich auch die Relativgeschwindigkeit der Kugel zu 
Umströmung
instantan und die Kugel wird augenblicklich beschleunigt.Durch die 
Beschleunigung nimmt nun die Kraft auf die Kugel natürlich wieder ab.
Die DGL sollte also irgendwie so aussehen:
m_ball*x.. = const*(v_luft-x.)^2. x ist der Ort des Balls, x. seine 
Geschwindigkeit ...
Dies gilt natürlich nur, wenn v_luft die kritische Geschwindigkeit,
ab der sich die Kugel bewegt, überschritten hat.
Du wirst eine gewisse Totzeit haben, diese ergibt sich aus dem 
Antriebsmoment des Motors und dem Trägheitsmoment des Rotors, sollte man 
aber in erster Näherung vernachlässigen können.

Insgesamt ist deine Aufgabe doch recht komplex.
Zum einen hast du die Abhängigkeit der Änderung des Luftstroms von der 
Ansteuerung des Motors. Dann hast du die Änderung der Kraft auf den Ball 
in Abhängigkeit der Strömungsgeschwindigkeit.

Sollte aber machbar sein ...

Gruß

von Arbeitsloser (Gast)


Lesenswert?

Ach ja, desweiteren hast du noch eine Einflussgröße, nämlich die 
Geschwindigkeit des Balls auf den Druck zwischen Ball und Ventilator und 
damit auf den Wirkungsgrad desselben während der Beschleunigungsphase 
des
Balls.

Analytische Ansätze werden wohl scheitern, da du die NS-Gl. nicht lösen 
kannst, daher solltest du diese Einflüsse vernachlässigen ...

von asdfaaaa (Gast)


Lesenswert?

P-Strecke bis auf die Schwelle am Anfang? ..

von asdfaaaa (Gast)


Lesenswert?

Und wenn die Kugel mal in der Luft ist stört die "Anlaufschwelle" wohl 
nicht weil es ja wie oben schon erwähnt keine Totzeit ist.

von wwwcruiser (Gast)


Lesenswert?

Hallo "Arbeitsloser",

herzlichen Dank für deine Stellungnahme. Dass die Regelstrecke keine 
oder nur eine sehr geringe Totzeit hat, leuchtet mir ein.
Ein wichtiges Ziel meines Projektes ist es, das Verhalten der 
Regelstrecke möglichst exakt messtechnisch zu bestimmen und anschließend 
mit Hilfe eines numerischen Verfahrens die Streckenparameter zu 
identifizieren.
Folglich müsste ich also dafür sorgen, dass die Drehzahl des Lüfters vor 
der Aufnahme der Sprungantwort schon so hoch ist, dass der Ball aufgrund 
der ausreichenden Strömungsgeschwindigkeit unverzögert "abhebt". Wenn 
der Ball sich dann nach der Beschleunigungsphase mit konstanter 
Geschwindigkeit nach oben bewegt, müsste die Strecke somit ein 
I-Verhalten aufweisen. Richtig?

Mit freundlichen Grüßen
    wwwcruiser

von Jörg T. (brause)


Lesenswert?

Hallo Holger (wwwcruiser),

konntest du eigentlich damals die Strecke modellieren?
Ich habe aktuell ein sehr ähnliches Problem.

Vielen Dank für eine Anwtort.
Beste Grüße

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.