PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Regler: Sprungantwort Regelstrecke mit Schrittmotor?



nowayz
23.01.2009, 01:16
Hallo zusammen,

Ich lese mich gerade in die Thematik der Regelungstechnik ein.

Nun habe ich hier ein Wasserbecken, bei dem durch Regulierung des Zuflußes mithilfe eines Schrittmotors, der ein Ventil zu-/aufdreht der Wasserstand konstant gehalten werden soll. Der Wasserstand wird mit einem Drucksensor ausgelesen. Reguliert werden muss hier, weil der Abfluß nicht immer gleich stark ist.
Ich weiss bereits, dass es sich bei Füllstandsregulierungen immer um I-Glieder handelt, allerdings weiss ich nicht wie ich nun weiter vorgehen muss um die Sprungantwort zu ermitteln.
Ich verstehe ja die Theorie, aber ich weiss nicht wie ich das in meinem System mit dem Schrittmotor eine Sprungantwort aufzeichnen kann bzw. was ich dafür überhaupt tun muss. Eine Sprungantwort benötige ich
um mithilfe von Ziegler/Nichols die richtigen Werte für Kp, Kd und Ki zu ermitteln.
Eigentlich habe ich also 2 Fragen:
1) Wie bekomme ich in meinem Fall die Sprungantwort?
2) Wie bestimme ich ob es sich um ein IT0, IT1, IT2... Glied handelt?

Ich möchte wirklich ungern nur durch rumprobieren auf die richtigen Werte von Ki, Kp und Kd kommen. Das geht so wie ich das verstanden habe ja auch ohne Sprungantwort.
Vielen Dank!

oberallgeier
23.01.2009, 09:00
Hi nowayz,

Sprungantwort ist immer sehr einfach (blos bei Schritt-motoren gäbs was .... aber das gilt hier nicht). Dein Sprung ist : Volles Rohr = Abfluss möglichst in der Zeit Null ganz öffnen. Ist nicht sooo einfach, stell ich mir vor. Ich hatte praktisch die gleiche Aufgabe bei Ausfluss aus einem druckbeaufschlagen und einem drucklosen Behälter gemessen - die Zeitkonstante ist elend niedrig - im Bereich von unter Millisekunden - und ich weiß nicht, wie Deine Messtechnik aussieht. Ich hatte das gravimetrisch gemacht - aber da muss die Messtechnik ziemlich schnell sein - vor allem solltest Du den Impuls beim Plumps des ersten Wasserstrahls auf den Auffangbehälter vermeiden oder ausblenden - oder anders messen *gggggg*.


... Ich möchte wirklich ungern nur durch rumprobieren auf die richtigen Werte ...Warum nicht? Manche Probleme brauchen das eben. Und das Feintuning bei meiner Geschwindigkeitsregeleung an DC-EMotoren hatte ich nach der Bestimmung der Parameter per Sprungantwort noch "hingepopelt". Ergebnis: sehr gut. (https://www.roboternetz.de/phpBB2/viewtopic.php?p=390196#390196)

nowayz
23.01.2009, 10:20
Hallo,

Danke dir, das würde heissen, Zufluß voll auf (Schrittmotor muss in der Zeit ca. 1000 Schritte machen), und dann den Druck im Behälter auzeichnen? Ist diese Öffnungszeit zu vernachlässigen? Oder beginnt die Aufzeichnung mit dem ersten Schritt?

Wie weiss ich überhaupt was meine Zeitkonstante Ti ist? Wie "erkenne" ich das? Was wären in meinem Beispiel die Eingangsänderung Xe und die Ausgangsänderung Xa?

Probieren ist mir deshalb unrecht, weil es eine Projektarbeit ist, die ich auch schön dokumentieren möchte und da wäre eine plausiblere Vorgehensweise schöner.


Danke!

oberallgeier
23.01.2009, 13:23
Hi,


... das würde heissen, Zufluß voll auf ... und dann ... auzeichnen? ...Genau. Die Regelu ngstechnik spricht davon, dass sich der Zustand sprunghaft ändert - und die folgenden Änderungen sind eben die Sprungantwort.


... Schrittmotor muss ... ca. 1000 Schritte machen ... Ist diese Öffnungszeit zu vernachlässigen? ...Natürlich ist, genaugenommen, die Öffnungszeit nicht zu vernachlässigen. Was kann die Physik dafür, dass Dein Motor lahm ist? Ich würde halt zwei Messungen machen: einmal Öffnen mit Schrittmotor und einmal Öffnen von Hand (vielleicht geht das schneller). Oder: Als "Ventil" eine Gummiplatte an den Behälterausfluss legen und die ruckartig wegziehen - könnte evtl. schneller gehen. Ergebnisse vergleichen und den Einfluss abschätzen. Popeln und pfuschen nach dem Denken kann Sinn machen.


... Probieren ist mir deshalb unrecht, weil es eine Projektarbeit ist, die ich auch schön dokumentieren möchte und da wäre eine plausiblere Vorgehensweise schöner ...!Ha Ha Ha. Ist das Dein erster Bericht? Dein Bericht wird ja NACH der Arbeit geschrieben, oder? Ich weiß nicht, wieviele hübschen Berichte über streng deduktive Arbeitsablaufe schon geschrieben wurden über Arbeiten, die chaotisch und planlos durchgeführt wurden. Wenn ich immer vorher das gewusst hätte, was ich bei Versuchen festgestellt hatte, wäre ich meist nicht weit gekommen.


... Wie weiss ich ... was meine Zeitkonstante Ti ist ...Das ist von der Art Deiner zu regelnden Größe abhängig. Regelu ngstechnik solltest Du schon können. Also vielleicht mal hier lesen (https://www.roboternetz.de/wissen/index.php/Regelungstechnik) - das hatte waste sehr schön dargestellt. Übrigens: diese Zusammenfassung zur Regelu ngstechnik wäre durch eigenes Suchen sehr schnell zu finden gewesen. Solche Suchen (eigenständiges Arbeiten!) könnten Dir natürlich eine plausilbe Vorgehensweise erheblich erleichtern (*gggggggschauderhafthämischgrinsen*).

nowayz
23.01.2009, 13:46
Danke den Artikel kenne ich bereits. Ich habe hier auch ein Buch zum Thema Regelungstechnik, allerdings wird da immer von Spannungen geredet und ich kann das nicht in mein Modell übertragen.

Ich möchte auf jeden Fall die Sprungantwortskurve für meinen Bericht haben. Und auch gerne die aus der Sprungantwort ermittelten Einstellungen mal testen.

Also nochmal für doofe(mich! :) ):
Meine Eingangsgröße ist "Ventil voll auf"
Meine Ausgangsgröße ist der Wasserstand = Druck im Sammelbecken.
Diese Kurve zeichne ich auf bis und lege eine Tangente an, sobald sie linear verläuft. Dadurch ermittle ich dann Verzugs- und Integrationszeit.
Um nun die optimalen Werte aus meiner Tabelle ablesen zu können muss ich aber noch wissen Was der Grad n der Verzögerung ist. Und da hänge ich dann. Wie kann ich das bestimmen?

Danke!!

oberallgeier
23.01.2009, 15:10
Hi, nowayz,


Danke den Artikel kenne ich bereits ... nochmal für doofe(mich!) ...Schön, dass Du Dich schon eingearbeitet hast. Nicht schön, wenn Du meine spöttischen Bemerkungen allzu ernst nimmst. Ich versuche (meist) das Gegenüber nicht als doof - oder was immer - zu sehen - trotz bissiger, dummer oder sonstwie unpassender Bemerkungen. Fast alles, was ich weiss und kann, ist erlernbar - von fast jedem. Ich bin oder war nur früher dran . . . . und in vielen Fällen hinke ich hinterher. Hoffe, dass wir das jetzt geklärt haben.


... Spannungen ... kann das nicht in mein Modell übertragen ... Meine Eingangsgröße ist "Ventil voll auf" Meine Ausgangsgröße ist der Wasserstand = Druck im Sammelbecken ...Stimmt - die Regelungstechnik spricht oft von Strom und Spannung. Hier haben wir Wasser. Also müssen wir überlegen (ich muss es selber tun, und versuche das hier schriftlich).

Was ändert sich beim Öffnen des Ventils:
Vorher: Wasser strömt nicht, Wasserstand ist x mm hoch (oder y N/m²), Wasserstand steigt nicht.
Nachher: Wasser strömt, Wasserstand steigt mit k mm/sec oder m N/m²sec.

Was ändert sich bei "langsamen Sprung" (Vergleich mit E-Motor: Spannung/Strom steigt langsam => Drehzahl steigt langsam): Der Durchfluss ändert sich langsam und die Änderung des Wasserstandes ändert sich langsam => also ist der Wasserstand eine "abgeleitete" Größe (siehe unten - weil "abgeleitet" nicht im mathematischen Sinn von Funktionen)! Nächste Erkenntnis: die Durchflussgeschwindigkeit ist Deine Regelgrösse. Dumm, dass Durchflussgeschwindigkeit mit sinkendem Druck = sinkendem Pegel im Vorlagebehälter sinkt (Achtung, es gibt ja auch nen Umschlag der Rohrströmung von turbulent nach laminar bei Re=2300). Aber wenn ich das richtig überlege, ist die Durchflussgeschwindigkeit Deine Sprungantwort. >>Würde sich der Wasserpegel in der Vorlage nicht ändern, dann würde auch der Durchfluss konstant bleiben.<< Die Durchflussgeschwindigkeit wird kurz und knackig ansteigen - daher meine Vermutung, dass Du schon Probleme beim Messen bekommen wirst. Der Wasserstand ist doch wohl eine Größe, die durch Integration des Durchflusses entsteht - also der I-Anteil der Sprungfunktion.

Versuchen wir diese Erkenntnis in einem Beispiel: Durchfluss = dQ/dt (vergleichen wir mit der Drehzahl eines Motors dφ/dt) als Sprungantwort. Sprung: Ventil geht in Nullzeit auf (Motor wird in Nullzeit mit Spannung versorgt). Folge : Durchfluss steigt (Drehzahl steigt) in einer endlichen Zeit. Wenn der Durchfluss (die Drehzahl) einen annähernd konstanten Wert erreicht hat, sind wir beim Bezugswert der Kurve. Die Tangente an die Steigung der Kurve im Bereich des Nullpunktes schneidet diesen konstanten Wert zum Zeitpunkt "t = Zeitkonstante". Wenn der Durchfluss sinkt, entspricht das dem Sinken der Drehzahl, weil der Akku leer wird. Wird der freie Durchflussquerschnitt sprunghaft geändert, dann ändert sich wieder der Durchfluss . . usf.

Bei meinen Messungen und Rechnungen fand ich, dass die Durchflussgeschwindigkeit bei einem Öffnungsdurchmesser von 20mm im Hunderstelbereich oder darunter den Nominalwert hat - genauer konnte ich das nicht finden.


... muss ich aber noch wissen Was der Grad n der Verzögerung ist. Und da hänge ich dann. Wie kann ich das bestimmen ...Da nach meiner Vermutung - siehe erstes Posting - die Zeitkonstante kaum messbar sein wird (ich kenn eben nicht Deine Messausrüstung und kenne insbesondere nicht deren Dynamik), neige ich zum Rat:
... durch rumprobieren auf die richtigen Werte von Ki, Kp und Kd kommen ...

Sag bitte Bescheid, wenn ich mich an einer Stelle massiv geirrt habe.

jeffrey
23.01.2009, 15:40
hi,
wie wär die variante ein mathematisches modell aufzustellen? dann weiß man wenigsten gleich, was man für ein system hat.
p=roh*g*h
dh/dt=(zufluß-abfluß)/A
zufluß=f(ventilstellung)
ventilstellung=integral(motorschritte)
also wenn ich mich jetzt dann net vertan hab, müsste das ganze ein doppelintegrator sein.
also wird beim messen deiner sprungantwort irgendwann dein becken überlaufen;-)
mfg

oberallgeier
24.01.2009, 23:46
Hi, nowayz

zu Deiner schönen Aufgabenbeschreibung habe ich noch ergänzende Fragen. Vielleicht können wir doch noch ein bisschen Ordnung in die Geschichte bringen.

Ist die ablaufende Menge quantifizierbar oder ist sie willkürlich, zufällig und wird nicht messtechnisch erfasst?
Wie genau zeigt der Wasserstandsanzeiger an?
Welche Toleranz hat die Wasserstandsanzeige?
Wie genau muss der Wasserstand gehalten werden?

Schönes Wochenende

nowayz
24.01.2009, 23:52
Ist die ablaufende Menge quantifizierbar oder ist sie willkürlich, zufällig und wird nicht messtechnisch erfasst?
Die ablaufende Menge ist willkürlich (nicht messtechnisch erfasst), allerdings immer gleich.
Der Behälter hat 2 Zuflüße, von denen einer Immer unterschiedlich viel Wasser führt, der andere wird mit dem Schrittmotor reguliert. Ziel ist das Wasser im Behälter immer auf dem selben Stand zu halten (ca. 7cm, toleranz +/- 0,5cm). Je nachdem wie viel vom ersten Zufluß kommt muss der Schrittmotor das Ventil also utnerschiedlich stark aufmachen.



Wie genau zeigt der Wasserstandsanzeiger an?
Ca auf 1-2mm genau. Habe über eine Spanne von 17cm 200Werte, allerdings schwanken die immer ein bisschen, daher denke ich ist die Anzeige auf 1-2mm genau.


Danke für deine Bemühungen!
Grüße
nowayz

oberallgeier
25.01.2009, 00:11
Ich merke schon, ich hatte zu wenig gefragt.


... ablaufende Menge ist willkürlich ... immer gleich ...Immer? 24/7? Oder nur abschnittsweise gleich? Oder jeweils gleich, aber unregelmässig getaktet? Wie gross ist der ablaufende Mengenstrom?

Wie gross ist der konstante Zufluss (ist der WIRKLICH konstant)?

Wie gross ist die maximale Zuflussmenge des zu "regelnden" Zulaufs? Ist der Zulaufdruck des zu "regelnden" Zulaufs konstant?

Wie groß ist der Behälter - flächenmässig?


... immer auf dem selben Stand zu halten (ca. 7cm, toleranz +/- 0,5cm) ...Du hast nur 7 cm Wasserstand im Pufferbehälter (Wie hoch ist dieser Wasserstand) - die auf +/- 5 mm genau gehalten werden müssen?

Warum frage ich? Ich vermute, dass Dir eine einfache Zweipunktregelung genügt, evtl. eine mit mehreren Kontroll-/Schaltpunkten. Vermutlich ist eine Regelung im Sinne Zulaufstrom soll möglichst gleich dem Ablaufstrom sein, garnicht nötig. Dann könnten wir bei einem Schaltpunkt rechnen wieviel fehlt und diese Menge als Richtlinie für den gesamten Zulaufstrom nehmen. Mit Kenntnis des letzten Schaltpunktes (bei mehreren Schaltschwellen) könnte die Ablaufleistung geschätzt werden und entsprechend besser reagiert werden. Du müsstest dann ein Kennlinienfeld für Dein Ventil erstellen (bei konstantem Vordruck nur ne Kennlinie Ventilstellung<->Durchsatz) und der Rest ist Rechenarbeit. Sieht nicht nach einer "wirklichen" Regelung aus.

PS: gehe mal eben schlafen - möchte morgen eine längere Tour auf die verschneiten Berge machen . . . also bis Sonntagnachmittags.

nowayz
25.01.2009, 18:17
Ich merke schon, ich hatte zu wenig gefragt.]
Immer? 24/7? Oder nur abschnittsweise gleich? Oder jeweils gleich, aber unregelmässig getaktet? Wie gross ist der ablaufende Mengenstrom?
Die ablaufende Menge bleibt immer gleich. Der ablaufende Mengenstrom ist ca. 2l/min. Es handelt sich um relativ geringe Wassermengen.



Wie gross ist der konstante Zufluss (ist der WIRKLICH konstant)?

Es gibt 2 Zuflüße. Einer bringt unterschiedliche Wassermengen. Der zweite Zufluß, an dem mein Schrittmotor hängt, soll diese Unregelmäßigkeit ausgleichen und den Wasserstand bei 7cm halten. Kommt aus Zufluß 1 genügend Wasser, kann der Schrittmotor den zweiten Zufluß zumachen. Kommt nicht genügend, soll der Schrittmotor so weit aufmachen, dass die Differenz damit ausgeglichen wird.


Wie gross ist die maximale Zuflussmenge des zu "regelnden" Zulaufs? Ist der Zulaufdruck des zu "regelnden" Zulaufs konstant?
Die maximale Zuflussmenge ist gleich der Abflußmenge: 2l/min


Wie groß ist der Behälter - flächenmässig?
1,5l


Du hast nur 7 cm Wasserstand im Pufferbehälter (Wie hoch ist dieser Wasserstand) - die auf +/- 5 mm genau gehalten werden müssen?
Der Pufferbehälter ist 15cm hoch und der Wasserstand soll auf 7cm +/-0,5mm gehalten werden.

Deine Idee mit der Zweipunktregelung hatte ich auch schon, allerdings dachte ich ein "richtiger Regler" wäre besser.
Vielleicht kann ich mein Projekt ja auf einen Vergleich von verschiedenen Regelungsmöglichkeiten hinauslaufen lassen.

Habe schon ein bisschen rumprobiert und bin bei einem relativ guten Wert für Kp angelangt. Durch probieren kann ich jetzt noch versuchen gute Werte für Ki und Kd zu finden. Eine Sprungantwort wäre für den bericht natürlich trotzdem schön :/.

Danke für deine Hilfe!
lg
nowayz

oberallgeier
25.01.2009, 19:54
Hi nowayz,

was heisst schon "richtiger Regler"? Ein stetiger Regler ist nicht immer angebracht. Ausserdem hast Du ja sowieso keine stetige Führungsgrösse, da die Genauigkeit Deiner Messwerterfassung dynamisch deutlich hinter der möglichen Änderung hinterherhinkt - da nutzt Dir ein stetiger Regler eh nix - oder: nicht unbedingt etwas. Diesen letzten Satz kannst Du sicher ausreichend fachlich untermauern und auf zwei bis drei Seiten mit der entsprechenden Theorie schön darstellen *ggggg*. Du hast ja auch ein Regelproblem daher, dass Du nur die Höhe des Wasserspiegels misst. 1-2 mm ist schon etwas grob - aber das ist keine Kritik!!! ist nur als Argument für (D)eine Begründung, wenn Du Dich für einen Mehrpunktregler entschliesst.

Du könntest/solltest für Deine Regelung ein Kennfeld des Ventils erstellen:
Schau Dir dazu meine Beispiele an(27.1: Bilder entfernt - wegen Forumlimit). Ich hatte vor einigen Monaten Messungen mit einem Widerstand im Ausfluss gemacht. Versuchseinrichtung und Ergebnisse siehe Bilder. Sprungantwort war NICHT das Ziel der Messungen. Ähnliche Messungen mit Erfassung des Startvorganges hatte ich durchgeführt, kann aber genaugenommen kein verwertbares Ergebnis herauslesen. Leider war meine zeitliche Auflösung auch nur 0,1 sec - schneller konnte+wollte ich gravimetrische Messungen nicht durchführen.

Wasser, 12,2 °C, Dichte 999 g/l

Versuchseinrichtung
Rohrinnendurchmesser 118,5
Ausfluss Innendurchmesser 20,0
max. Flüssigkeitshöhe 110,7 mm

Wenn Du für mehreren Ventilstellungen die Zuflussmenge ermittelst, kannst Du Dir sicher eine hübsche Berechnung des Korrekturzuflusses zusammenstellen. Dabei müsstest Du natürlich darauf eingehen, dass Du bei einem vertrauenswürdigen Messwert für den Flüssigkeitsstand KEINE Angaben über zukünftigen Zuflussänderungen machen kannst, und daher den Korrekturzufluss vorsichtig dimensionieren musst (mal eher zuviel, mal eher zu wenig - als irgendwann vor leerem Speicher zu sitzen).


... oberallgeier hat folgendes geschrieben:: Wie groß ist der Behälter - flächenmässig? ... 1,5l ...Na ja, im Allgemeinen wird eine Fläche nicht in Liter angegeben, aber ich kenne ja die Flüssigkeitshöhe *gggg* - sollte wohl ein kleiner Intelligenztest sein ? ? ?

Ok, aber Du hast vermutlich erkannt worauf ich hinauswill. Der Puffer ist nach 45 sec alle. Oder - anders ausgedrückt: Du machst bei Zulauf insgesamt gleich Null und vollem Ablauf rund 0,2 mm/sec fallenden Wasserspiegel. Daran siehst Du auch, wie Deine Dynamik bestenfalls aussieht.


Wie genau zeigt der Wasserstandsanzeiger an?
Ca auf 1-2mm genau...

Ich vermute, dass ich jetzt meine Beiträge zu diesen Thema einstellen kann?