PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eine Frage über Kaskadenregelung von Elektromotor



mabaosheng
21.05.2006, 23:11
Hallo, Leute. Ich mache jetzt ein Projekt. Es geht um die Simulation der Regelung von linearem Sychronmotor mittels Simulink.

Ich buae zuerst die klassische Kaskadenregelung auf. Sie besteht aus 3 Regelkreisen, die innerste Regelkreis ist Stromregelung mit einem PI-Regler, danach ist die Geschwindigkeitsregelung mit PI-Regler, die äußerste Regelkreis ist die Positionsregelung mit einem einfachen P-Regler. Die Regelstrecke besteht aus Leistungselektronik, Sychronmaschine, Mechanik und Messsystem und sind schon vorhanden.

Um die Parameter zu bestimmen, trennt man zuerst die innerste Regelkreis von anderen um, dann stellt die entsprechenden Parameter ein, bis alle Parameter fertig eingestellt werden. Dann nach außen die nächste Regelkreis, nacheinander einstellen. Das ist die typische Parametrierungsvorgehensweise von der klassischen Kaskadenregelung.

Jetzt kommt der Schwerpunkt, innerhalb von der Stromregelkreis ,vor dem PI-Stromregler gibt es noch eine Begrenzung und eine Führungsglättungsfilter, um den Motor zu schützen und Strom zu glätten. Ählicherweise gibt es Innerhalb von der Geschwindigkeitsregelkreis, vor dem PI-Geschwindigkeitsregler gibt es auch eine Begrenzung und eine Führungsglättungsfilter.
Was ich jetzt mache, ist Parametrierung von den Regelungselementen, nämlich 3 Regler und noch die Glättungsfiler.

Bis jetzt habe ich die Parameter von dem PI-Stromregler(die Propotionalverstärkung und die Nachstellzeit) schon bestimmt mittels Sprungantwort von der Stromregelkreis. D.h, ich gebe der Stromregelkreis einen Einheitssprung und stelle die PI-Stromregler so ein, dass die Sprungantwort die entsprechenden Anforderungen erfüllt, also die Überschwingweite muß < 5%. Danach muss ich die Parameter von dem Stromglättungsfilter bestimmen, nämlich die Glättungszeitkonstante. Das Filter ist ein PT1-Glied. Aber wie kann ich dieses Parameter bestimmen? Rein experementell oder muss noch rechnen?

Ich poste mein Matlab und Simulink Datei, die Matlab Datei ist für Initialisierung und muss zuerst ausgeführtet werden. Danach kann die Stromregelkreis ausgeführtet werden, um die Parameter von dem PI-Stromregler zu bestimmen, danach wird das Stromglättungsfilter eingefügt und eingestellt. Aber ich weiß nicht genau, wie macht man das. Kann jemand mir etwas Hinweis geben

Ich habe die Bilder von den Simulink-Blöcke-Strukturen in eine Word-Datei zusammengefasst! Sie sind am unten.

mabaosheng
22.05.2006, 20:27
Hi, ist meine Frage zu spezial oder zu schwcher? Wieso jiemand darauf reagiert? Selbst wenn jemand mir ein Bißchen Hinweis geben kann, ist mir auch sehr hilfsreich!

Madgyver
22.05.2006, 21:30
Es ist einfach nur so, dass dein Text recht unübersichtlich ist. Viele Leute sind hier als Freiziet beschäftigung hier und ein solcher Textblock lädt nicht grad zum lesen ein.

Schachtel den mal ein bischen um, für ein paar ABsätze ein und glieder in logisch, dann haben auch mehr leute Lust sich den durchzulesen.

*mach mich mal grad ans lesen "ächz"*

mabaosheng
22.05.2006, 22:46
Vielen Dank für deinen Vorschlag, ich habe mein Text mal umformuliert, und jetzt sieht es etwas besser aus. Ich hoffe, dass mein Text mehr zum lesen einlädt.

waste
23.05.2006, 19:52
Hallo mabaosheng,

ich kann deine Dateien leider nicht ansehen, weil ich kein Matlab/Simulink besitze. Vielleicht kann ich aber helfen, wenn du ein Bild von der Simulink-Blockstruktur hier reinstellst.

Danach muss ich die Parameter von dem Stromglättungsfilter bestimmen, nämlich die Glättungszeitkonstante. Das Filter ist ein PT1-Glied. Aber wie kann ich dieses Parameter bestimmen? Rein experementell oder muss noch rechnen? Die schnellste Art wird wohl das Probieren in der Simulation sein. Zudem sich dadurch noch das Übertragungsverhalten insgesamt ändert und wahrscheinlich die Regelschleife nochmal nachoptimiert werden muss.
Den Anfangswert der Zeitkonstante kann man überschlagsmässig grob schätzen und dann in der Simulation optimieren.

Gruß
Waste

jeffrey
24.05.2006, 11:37
hi,
der filter hat ja eine vorgegebene grenzfrequenz. es gibt da doch eine formel, wie man dann die übertragungsfunktion berechnen kann.
mfg jeffrey

mabaosheng
24.05.2006, 14:45
Hi, in diesen tagen habe ich etwas ausgedacht. Genau wie Waste gesagt, ich habe in der Simulation ausprobiert mit verschiedenen Zahlenwerten von der Glättungszeitkonstante, und sehe mich die Sprungantwort an, bis ich den richtigen, oder anders gesagt, geeigneten Wert gefunden habe.
Ich wollte einige Bilder reinstellen, aber leider weiß ich noch nicht, wie ich das machen kann. Soll ich die Bilder in meinem Album hochladen, oder?

Ich habe meine Dateien erneut. Jetzt sind alle Dateien da. Darin sind die innerste Stromregelkreis(Modelle_I_Reglekreis), Geschwindigregelkreis(Modelle_v_Regelkreis), Positionsregelkreis(Modelle_s_Regelkreis), der Fein_Interpolator(simuliert mittels S_function von Simulink). diese S_function heißt Fein_Interpolator. Kraftrgler ist ein Subsystem von Geschwindigkeitsregelkreis. Um zu simulieren, muss die Initialisierungsdatei zuerst starten, um die Parameter zu initialisieren.

Aber dieses Model hat noch Problem, nämlich, der Position_istwert kann den Positon_sollwert nicht gut folgen. Dazwischen gibt es große Differenz. Deswegen muss das Model, am wichtigsten, die Parameter noch eingestellt werden. Sonst geht nicht.

Und Frage: wie zu Verbessern? Parametrierungsvorgehensweise zu wiederholen?

die Simulink-Blöcke-Strukturen sind da!

waste
26.05.2006, 13:36
Aber dieses Model hat noch Problem, nämlich, der Position_istwert kann den Positon_sollwert nicht gut folgen. Dazwischen gibt es große Differenz. Deswegen muss das Model, am wichtigsten, die Parameter noch eingestellt werden. Sonst geht nicht.

Und Frage: wie zu Verbessern? Parametrierungsvorgehensweise zu wiederholen?
Bei schnellen Änderungen wird der Istwert dem Sollwert immer hinterher sein, eine Differenz ist da unvermeidlich.

Zur Parametrierungsvorgehensweise siehe https://www.roboternetz.de/wissen/index.php/Regelungstechnik#Dimensionierung_des_Reglers

Waste

mabaosheng
09.06.2006, 20:33
Hallo, ich habe jetzt neue Frage.

Es geht um Digitalisierung, und zwar, Diskretisierung und Quantisierung. Ich habe eine Regelkreis von Geschwindigkeit schon erstellt. und die Geschwindigkeit geht von der Defferenzieren von Position aus. Dieses Signal hat größerer Rauschanteil als das originale Signal, Position. Jetzt möchte ich die Geschwindigkeit von Beschleunigung integrieren. Dann wird dieses Problem von Rauschen deutlich verbessert. Deswegen muss ich die Beschleunigung messen, mit einem Beschleunigungssensor(Relativbeschleunigung), heißt Ferraris Sensor. wie im Bild gezeigt, Diesen Sensor kann man als PT1-Glied betrachten, danach ist die Kompensitionsanteil, um die Verzögerung zu kompensieren. Danach soll das Messsignal diskretisiert und quantisiert. Aber wie kann ich diese zwei bausteine simulieren, wie kann ich die Diskretisierungszeitschritt und Diskretisierungszeitschritt bestimmen? wovon sind sie abhängig?

waste
11.06.2006, 17:20
Danach soll das Messsignal diskretisiert und quantisiert. Aber wie kann ich diese zwei bausteine simulieren, wie kann ich die Diskretisierungszeitschritt und Diskretisierungszeitschritt bestimmen? wovon sind sie abhängig?
Ich bin jetzt nicht der Simulinkexperte, aber normalerweise werden diskrete Schritte mit einem "Sample and Hold"-Glied oder einfach durch diskrete Zeitschritte im Regler simuliert. Den Quantisierungsblock hast du, so wie es aussieht, schon selbst gefunden. Abhängig sind sie natürlich von der Hardware. Wird z.B. ein A/D-Wandler mit 10 Bit und einer Wandlungsrate von 10ms eingesetzt, dann sind diese Werte auch als Quantisierung und Diskretisierungszeitschritt einzutragen.

Mir scheint es so, dass die Komplexität dieser Regelung, das eines Hobbyprojekts weit überschreitet. Wäre es nicht einfacher, erstmal auf die Geschwindigkeitsregelschleife zu verzichten, wenn schon kein geeigneter Geschwindigkeitssensor zur Verfügung steht? Das würde doch die Sache wesentlich vereinfachen. Später kann man die Regelung immer noch erweitern, wenn sie nicht die gewünschte Performance aufweist.

Waste

mabaosheng
13.06.2006, 12:01
Eigentlich ist das Projekt kein Hobbyprojekt, sondern meine Projektarbeit.

Die Geschwindigkeitsregelschleife brauche ich auf jeden Fall, deswegen kann ich darauf nicht verzichten. Geschwindigkeitssensor ist aber nicht so nötig, weil ich die Geschwindigkeit entweder vom Weg differenzieren oder von Beschleunigung integrieren kann. Der Unterschied dazwischen ist, dass das aus dem Weg differenzierte Geschwindigkeitssignal viel mehr Rauschsignal enthält, als das aus der Beschleunigung integriete Geschwindigkeitssignal. Deshalb ist die letzte genannte Methode viel besser als die erste. Dadurch kann man die Kaskadenregelung verbessern.

Die Simulation ist das Ziel von meinem Projekt. Ich simuliere die beiden verschiedenen Kaskadenregelung, einmal ohne Beschleunigungssensor(dann wird das Geschwindigkeitssignal aus dem Weg differenziert), einmal mit Beschleunigungssensor. Danach vergleiche ich die Ergebnisse.

waste
13.06.2006, 22:34
Die Problematik mit dem Beschleunigungssensor könnte ein sich aufsummierender Fehler über der Zeit bei der Integration werden.

Andererseits kann man das störende Rauschsignal des durch Differenzierung gewonnenen Geschwindigkeitssignal mit einem Filter glätten. So weit ich mich erinnere, hast du da sogar schon ein Gättungsfilter vorgesehen.

Schön, dass du beide Möglichkieten simulierst und vergleichst. Ich bin auch an dem Ergebnis interessiert. Lass wieder von dir hören!

Noch ein Tipp: Bei der Ansteuerung eines Synchronmotors fällt automatisch eine Geschwindigkeitsinformation durch die Frequenz ab. Vielleicht kann man die verwenden?

Gruß Waste

jeffrey
13.06.2006, 22:48
Hi,
ich weiß ja nicht, wie lang deine simulation laufen soll, aber mit dem intigrieren wirst du nie über eine längere zeit eine richtige geschwindigkeit bekommen, da es zum drift kommt. die geschwindigkeit über differenzieung zu ermitteln ist besser, weil sich da der fehler nicht aufsummiert, sondern die geschwindigkeit sozusagen jedesmal neu berechnet wird, egal wie falsch sie davor war. dann bau einfach noch nen vernünftigen tiefpass ein, der dir das rauschen rausfiltert.
also wie gesagt die integrier methode funktioniert nur für kurz zeiten.
zur diskretisierung hat waste eigentlich schon alles gesagt.
mfg jeffrey

jeffrey
13.06.2006, 22:50
da fällt mir grad noch ein, wenn du die geschwindigkeit wissen willst, kannst du das auch über einen beobachtermachen, nachdem du sowieso schon ein modell hast. oder am besten baust du nen kalman-filter ein.
mfg jeffrey

mabaosheng
15.06.2006, 17:34
völlig richtig. ich freue mich sehr, weil ihr mir so gute tipps gesagt. und ihr seit auch experten in diesem fachbereich.

ja, mit Integrieren gibt es immer drift, das problem habe ich auch entdeckt. und das soll auch beseitigt werden. (überigens, wieso gibt es diesen fehler, ist mir eigentlich noch nicht so klar. vielleicht könnt ihr mir einige hinweise dafür geben?).

es scheint so, dass es zur zeit keine perfekte methode gibt, die alle probleme lösen kann. Deswegen das ist auch eine frage, wie man den fehler von drift reduzieren kann. es klingt gut, oder besser, wenn man die vorteile von differenzieren und integrieren gleichzeitig bekommen und benutzen. ist das möglich? drift und rauschen sind ein paar widerstände, nicht? kann man überhaupt die beiden gleichzeitig reduzieren?

eigentlich, je kürzer die zeit ist, desto besser ist das durch integerien erhaltete Geschwindigkeitssignal. für differenzieren ist es umgekehrt.

über beobachtersstruktur, es geht dann um die zustandsregelung, das ist aber eine andere mothode. für mich, was ich machen soll, ist, die klassische kaskadenregelung zu verbessern, mit diesem beschleunigungssensor.

jeffrey
15.06.2006, 19:57
Hi,
meiner Meinmung nach, kannst du gegen Drift nix machen, außer bessere Sensoren zu nehmen. Der Drift kommt daher, dass integrieren ja ein aufsummieren ist, dein kleiner neuer Fehler also schon zum alten dazu addiert wird, so dass dein Gesammtfehler immer größer wird, daher nur für kurze Zeit praktikabel.
Ich denke immernoch, dass der Weg übers differenzieren besser ist, das Rauschen kannst du mit einem Tiefpassfilter wegbekommen, oder, indem du mehrere Messungen mittelst.
MfG Jeffrey

waste
15.06.2006, 22:32
es scheint so, dass es zur zeit keine perfekte methode gibt, die alle probleme lösen kann. Deswegen das ist auch eine frage, wie man den fehler von drift reduzieren kann. es klingt gut, oder besser, wenn man die vorteile von differenzieren und integrieren gleichzeitig bekommen und benutzen. ist das möglich?
Ja, das geht. Man kann das differenzierte Positionssignal über einen Tiefpass gefiltert und das integrierte Beschleunigungssignal über einen Hochpass gefiltert zusammenfügen. So werden nur die guten Anteile zusammengeführt und die schädlichen herausgefiltert. Bei gleicher Grenzfrequenz ergibt das am Ausgang wieder ein exaktes Geschwindigkeitssignal.

Eine andere Möglichkeit ist, die Drift des integrierten Beschleunigungssignals mit Hilfe des differenzierten Positionssignals herauszuregeln oder in bestimmten Zeitabständen immer wieder zu korrigieren.

Waste

mabaosheng
26.06.2006, 16:51
Hallo, über Driftkompensation habe ich nachgeschlagen und festgestellt, dass 'es kann neben der Beschleunigungsrückführung vorteilhaft eine verbesserte Geschwindigkeitsrückführung verwirklicht werden, da ein Geschwindigkeitssignal besserer Qualität durch Integration des Beschleunigungssignals als durch Differentiation des Lagesignals erzielbar ist. Dieses Geschwindigkeitssignal muss durch ein lagesignal gestützt werden, um eine Drift zu vermeiden. Dies kann durch eine Drift-Kompensation geschehen.' Das ist genau wie Waste gesagt.

die Vorteile von dieser methode ist klar, aber was mir nicht so klar ist, wie ich diese Driftkompensation verwirklichen kann, mit einem Beobachter oder?

die Drift des integrierten Beschleunigungssignals mit Hilfe des differenzierten Positionssignals herauszuregeln oder in bestimmten Zeitabständen immer wieder zu korrigieren. vielleicht noch ein bisschen tiefer oder ein bisschen ausführlicher?

jeffrey
26.06.2006, 17:26
hi,
den drift über das differenzieren der geschwindigkeit zu kompensieren ist sicher möglich. die einfachste möglichkeit ist wahrscheinlich z.b. alle 2s die geschwindigkeit durch differenzieren zu ermitteln, dabei mehrere messungen mitteln, wg dem rauschen, und diesen messwert dann als geschwindigkeit verwenden, und die nächsten 2s die geschwindigkeit durch integration zu ermitteln.
mfg jeffrey

waste
26.06.2006, 23:02
Beide Signale über ein niederfrequentes Filter geben und dann vergleichen. Die Differenz entspricht der Drift. Jetzt braucht es nur noch kompensiert (Software) oder ausgeregelt (Hardware) werden.

Waste

mabaosheng
04.07.2006, 14:43
Jetzt denke ich, dass ich einen Beobachter doch brauche, um die sogenannte Drift-Kompensation zu machen.

Die Struktur von Drift-Kompensation ist nach einem Artikel wie das Bilddatei gezeigt. Darin ist B(s) das gemessene Beschleunigungssignal, N(s) das Geschwindigkeitssignal, das durch Differentation aus dem Lagesignal berechnet wird und Nb(s) ist das zusammengesetzte Geschwindigkeitssignal.

Die Übertragungsfunktions-Beziehung kann abgeleitet werden zu
Nb(s) = H(s)*B(s)/s + L(s)*N(s)
mit H(s) = s*s/(s*s + b*s + a)
L(s) = (b*s + a) / (s*s + b*s + a)
Da H(s) die Form eines Hochpassfilters und L(s) die Form eines Tiefpassfilters hat, ergibt sich
Nb(s) = Hochpass * B(s)/s + Tiefpass * N(s)
Somit besteht die zusammengesetzte Geschwindigkeit aus 2 Teilen: im oberen Frequenzbereich dominiert der Geschwindigkeitsanteil, der durch Integration der Beschleunigung erhalten wird, und im unteren Frequenzbereich der Anteil, der durch Differentation der Lage erhalten wird. Es ist also der Gleichanteil des zusammengesetzten
Geschwindigkeitssignals durch das Geschwindigkeitssignal aus der Lage
bestimmt und der Drifteffekt eliminiert. Diese Drift-Kompensation ist ein System 2. Ordnung und kann durch eine Eck-Frequenz und einen Dämpfungsfaktor parametriert werden.

Eigentlich verstehe ich diese Drift-Kompensation noch nicht ganz. Das ist schon ein Beobachter oder? Und in dieser Struktur gibt es noch 2 Parameter: a und b. Mir ist noch nicht so klar, wie ich die 2 Paramter bestimmen kann.

Und noch eine Frage über die Drift und Offset. die beiden sind 2 Störgrößen für die Kaskadenregelung von Synchronmotor. Wenn ich mit Simulink die Kaskadenregelung simuliere, muß ich noch die beiden Störgrößen simulieren, oder? Wenn ja, dann kommt die Frage, wie. ist Offset gleich wie weißes Rauschen?

ich habe so viele Frage. Eigentlich, ich denke, dieses Projekt ist geeigneter für einen Elektroniker als für einen Maschinenbauer. Weil es um so viele Kenntnisse über Elektromotor geht.

waste
04.07.2006, 19:54
Eigentlich verstehe ich diese Drift-Kompensation noch nicht ganz. Das ist schon ein Beobachter oder? Und in dieser Struktur gibt es noch 2 Parameter: a und b. Mir ist noch nicht so klar, wie ich die 2 Paramter bestimmen kann.
Im Prinzip ist jedes reproduzierte Geschwindigkeitssignal schon ein Beobachter, also auch schon dein differenziertes Lagesignal oder das integrierte Beschleunigungssignal.
Deine gefundene Schaltung ist eine Regelschleife, wobei der Transferfunktionsblock ein PI-Glied darstellt. Sowas hatte ich mir als Hardwarelösung vorgestellt. Das a in der Transferfunktion stellt den I-Anteil dar, das b den P-Anteil.
Anstelle des PI-Glieds kann auch ein P-Glied oder ein PT1-Glied oder ein Lag-Lead-Glied eingesetzt werden. Es kommt darauf an, um wieviel die Störungen unterdrückt werden sollen. Du kannst dir ja mit Matlab das Bodediagramm bei unterschiedlichen Filtern und Werten von a und b anzeigen lassen und dann entscheiden, ob die Störunterdrückung ausreicht.

Und noch eine Frage über die Drift und Offset. die beiden sind 2 Störgrößen für die Kaskadenregelung von Synchronmotor. Wenn ich mit Simulink die Kaskadenregelung simuliere, muß ich noch die beiden Störgrößen simulieren, oder? Wenn ja, dann kommt die Frage, wie. ist Offset gleich wie weißes Rauschen?
Offset ist eine Gleichspannung und eine Drift entsteht, wenn ein Offset am Eingang des Integrators vorhanden ist.


Eigentlich, ich denke, dieses Projekt ist geeigneter für einen Elektroniker als für einen Maschinenbauer. Weil es um so viele Kenntnisse über Elektromotor geht.
Solange es nicht in eine elektrische Schaltung umgesetzt werden muss, ist es noch reine Regelungstechnik. Das sollte auch noch ein Maschinenbauer können.

Mir kommt es so vor, dass du dich in immer kompliziertere Verfahren verstrickst, obwohl es einfacher gehen könnte. Ich nehme an, dass an dem Projekt mehrere arbeiten und die Aufgaben verteilt sind. Frag doch mal deinen Kollegen, der die Steuerung des Synchronmotors bearbeitet, ob er nicht das Frequenzsignal zur Verfügung stellen kann. Es entspricht nämlich der Geschwindigkeit.

Waste

mabaosheng
05.07.2006, 16:29
Wieder eine Frage über die Drift und die Offset. Muß man die beiden Fehler gleichzeitig korrigieren oder nur die Offset, weil, ich denke, wenn es keinen Offsetfehler gibt, dann wirkt der Driftfehler überhaupt noch aus?
Softwarelösung für die Offset- und Amplitudenkorrektur habe ich ausgefunden. Aber darin gibt es keinen Teil für die Drift-Kompensation.

waste
05.07.2006, 22:24
Da die Ursache für die Drift der Offset ist, reicht es den Offset zu korrigieren und genau das macht auch die Regelschleife in deinem letzten Bild.

Aber sag mal, was ist das für ein Projekt?
Ein Projekt während des Studiums oder verdienst du dir dein Geld damit?

Waste

mabaosheng
06.07.2006, 13:36
Wenn ich damit Geld verdienen könnte, wäre es schön, aber leider das ist ein Projekt während meines Studiums, deswegen... :(
meinst du so, dass die Regelschleife in meinem letzten Bild für Offset-Korrektur ist, sondern nicht Drift-Kompensation?
Übrigens, Sind Sie Professor oder Dr.? Du weißt so viel über Regelungstechnik! Und über Elektromotor. Du bist ein echter Roboter Experte.

Baosheng Ma

waste
06.07.2006, 20:27
In deiner Regelschleife wird die Drift am Ausgang des Integrators gemessen und über die Transferfunktion ein Korrekturwert für den Offset auf den Eingang gegeben. Da dies eine geschlossene Regelschleife ist, kann man Drift und Offset kann nicht mehr getrennt betrachten, beides wird korrigiert.

Ich bin weder Prof. noch Dr., bin Elektrotechnik Ing.

Waste

jeffrey
06.07.2006, 23:57
hi,
hast du mal ausprobiert, ob es nicht einfach reicht nur das differenzierte signal mit einem tiefpass zu filtern? damit solltze das rauschen rausfliegen, ich weiß allerdings nicht, wie schnell sich deine geschwindigkeit ändern kann. das rauschen muss dann halt deutlich hochfrequenter sein, als dein nutzsignal, weil du sonst wihtige informationen rausfilterst.
gute n8 jeffrey

mabaosheng
10.07.2006, 14:19
Eigentlich ist die Tiefpassstruktur für das differenzeirte Signal schon in meiner Regelkreis. die Frage ist nicht, ob es reicht, nur das differenzierte signal mit einem tiefpass zu filtern, sondern ich muss die beiden Regelungsstruktur vergleichen, um zu wissen, wer hat welche Vorteile. Das ist eine meiner Aufgabenstellung.
übrigens, eine Frage über die sognannte Quantisierungseffekte. Sie geht um die A/D und D/A Wandlung, und meistens spielt die Abtasteit eine große Rolle. Wenn ich die Quantisierungseffekte von einer Regelkreis beurteilen möchte, worauf muß ich berücksichtigen?

waste
11.07.2006, 21:51
übrigens, eine Frage über die sognannte Quantisierungseffekte. Sie geht um die A/D und D/A Wandlung, und meistens spielt die Abtasteit eine große Rolle. Wenn ich die Quantisierungseffekte von einer Regelkreis beurteilen möchte, worauf muß ich berücksichtigen?
Ja, die Abtastzeit kann einen Regelkreis instabil machen, der ohne Abtastung stabil wäre. Die Abtastzeit verursacht eine zusätzliche Phasendrehung, die den Phasenrand schmälert, darauf ist zu achten.

Waste

mabaosheng
30.07.2006, 13:41
Hallo, ich bin wieder da und bringe etwas neues. der 1. Teil von meinem Projekt, nämlich, Kaskadenregelung, habe ich schon fertig gemacht und jetzt mache ich den 2. Teil, Regelung mithilfe eines Ferraris-Sensors. Es gibt immer welche Probleme. Aber trotzdem hoffe ich, dass ich das Projekt nicht mehr lange Zeit dauert.

mabaosheng
24.09.2006, 23:42
Hallo, ich bin wieder da und bringe etwas neues. der 1. Teil von meinem Projekt, nämlich, Kaskadenregelung, habe ich schon fertig gemacht. die meisnten arbeit davon war eigentlich parametrierung von den Regler und noch einige Glättungsfilter. Das sind rein nach visuelle Verfahren. d.h. ich gebe Einheitssprung als einggangssignal dann überprüfe ich das ausgangssignal, wenn es das kriterium erfüllt, dann sind die parameter richtig, sonst wiederholung. der 2. und der 3. Teil von meinem projekt sind ähnlich wie der 1. Teil. nur die Regelkreisstrukturen sind unterschiedlich. dann kann ich solche verschiedene regelungsaufbau vergleichen. jetzt mache ich den 2. Teil, Regelung mithilfe eines Ferraris-Sensors. Es gibt immer irgendwelche Probleme. Aber trotzdem hoffe ich, dass das Projekt nicht mehr lange Zeit dauert.
anschließend möchte ich wieder Frage stellen, und zwar, über drift-kompensation, damals habe ich euch eine beobachtersregelschleife für drift-kompensation gezeigt. die ist notwendig für die korrektur des geschwindigkeitssignal und hat schon 2 unbekannte parameter. aber bei der parametrierung von den regler muss schon zuvor die beiden parameter bestimmen, oder? sonst kann ich die reglerparameter von den kaskdenregelung nicht festlegen. oder hat jemand andere idee?

waste
25.09.2006, 21:32
Also irgenwie fehlt mir jetzt der Überblick, zumal du auch noch die alten Bilder gelöscht hast. Wie ist denn der Stand? Die Drift-Kompensation hatten wir schon diskutiert. Funktioniert die noch nicht?

Es gab doch anstatt dem Ferraris-Sensor in Teil 2 auch schon ein Beschleunigungssignal in Teil 1. Wenn der 1.Teil funktioniert, dann braucht doch nur der Sensor getauscht zu werden und die Reglerparameter an den neuen Sensor angeglichen werden.

Um dir weiter helfen zu können, brauche ich mehr Informationen, am besten mit Signalflussplan.

Waste

mabaosheng
26.09.2006, 00:12
Hallo, Waste, anbei sind die Bilddateien von dem Teil 1. Am Ende sind 3 Bilder zum Drift-Kompensation.
beim 1.ten Teil habe ich die Reglerparameter und Filterparameter von konventinaler Kaskadenregelung festgelegt. In dieser regelkreis wird das Geschwindigkeitssignal durch differentiation von dem Lagesignal bekommen. das beschleunigungssignal wird nicht benutzt. in dem 2.ten Teil wird das Ferraris sensor benutzt, um das geschwindigkeitssignal aus beschleunigungssignal durch integration zu erfassen. und das driftfehler wird nicht kompensiert. zum 3.ten teil wird ein Beobachter eingefügt, um den driftfehler zu beseitigen.
jedesmal werden die reglerparamer und filterparameter neu eingestellt. um den regelkreis zu optimieren. aber wie ich letztes mal schon gesagt habe, der beobachter hat schon 2 unbekannte parameter. die müssen aber zuvor bestimmt. ist das widerspruch?

mabaosheng
26.09.2006, 10:01
In diesem regelkreis wird der drifteffekt als weißes rauschen simuliert. ich vermute, dieser effekt hängt wesentlich von dem sensor ab. wenn der sensor eine gute qualität hat, dann ist das messrauschen weniger, sonst umgekehrt. aber das weißes rauschen hat 2 parameter, noise power und sample time. ich weiß nicht genau, was für Zahlenwerten ich die beiden einstellen soll. ich denke, auf die realität muss berücksitigt werden. noise power darf stimmt nicht zu hoch sein, oder?

jeffrey
26.09.2006, 11:22
hi,
noise power ist die amplutude des rauschens, wenn ich mich nicht täusche, ich glaub mit sample time wird die höchste vorkommendee frequenz festgelegt, bin ich mir aber nicht sicher.
mfg jeffrey

waste
26.09.2006, 21:12
Hallo mabaosheng,

mit weißem Rauschen kann man keine Drift simulieren. Weißes Rauschen hat gleichverteilte Spektralanteile und keinen Gleichanteil.

Eine Drift entsteht durch Offset am Eingang eines Integrators. Den Offset simuliert man mit einem kleinen Gleichanteil.

Welche 2 unbekannten Parameter meinst du? Die vom weißen Rauschen oder andere?

Waste

mabaosheng
27.09.2006, 10:44
ich meine die 2 unbekannte parameter von dem PI-Beobachter, für mich ich brauche den Teilbeobachter. der hat eine proportinalverstärkung und einen integralanteil. die beiden parameter muss ich zuerst bestimmen, dann füge ich den beobachter in den geschwindigkeitsregelkreis ein, dann bestimme ich die anderen parameter wie die von PI geschwindigkeitsregler, p positionsregler und noch die von den glättungsfilter. bin ich soweit richtig?

waste
27.09.2006, 19:03
Im Prinzip sollte die Regelschleife mit Beobachter mit den gleichen Parametern funktionieren wie ohne Beobachter. Ein richtig dimensionierter Beobachter sollte die Dynamik eines Regelkreises nicht verschlechtern.

Der Sinn und Zweck dieses Beobachters ist ja, die hochfrequenten Störungen von dem differenzierten Positionssignal zu dämpfen und den Gleichanteil von dem integrierten Beschleunigungssignal herauszufiltern. Wie du selbst schon beschrieben hast, kann das die Schaltung.
Die Struktur von Drift-Kompensation ist nach einem Artikel wie das Bilddatei gezeigt. Darin ist B(s) das gemessene Beschleunigungssignal, N(s) das Geschwindigkeitssignal, das durch Differentation aus dem Lagesignal berechnet wird und Nb(s) ist das zusammengesetzte Geschwindigkeitssignal.

Die Übertragungsfunktions-Beziehung kann abgeleitet werden zu
Nb(s) = H(s)*B(s)/s + L(s)*N(s)
mit H(s) = s*s/(s*s + b*s + a)
L(s) = (b*s + a) / (s*s + b*s + a)
Da H(s) die Form eines Hochpassfilters und L(s) die Form eines Tiefpassfilters hat, ergibt sich
Nb(s) = Hochpass * B(s)/s + Tiefpass * N(s)
Somit besteht die zusammengesetzte Geschwindigkeit aus 2 Teilen: im oberen Frequenzbereich dominiert der Geschwindigkeitsanteil, der durch Integration der Beschleunigung erhalten wird, und im unteren Frequenzbereich der Anteil, der durch Differentation der Lage erhalten wird. Es ist also der Gleichanteil des zusammengesetzten Geschwindigkeitssignals durch das Geschwindigkeitssignal aus der Lage bestimmt und der Drifteffekt eliminiert. Diese Drift-Kompensation ist ein System 2. Ordnung und kann durch eine Eck-Frequenz und einen Dämpfungsfaktor parametriert werden. Die Grenzfrequenz des Hochpass- und des Tiefpassfilters sind identisch, weil sich nach Zusammenführung der beiden Signale (Addition) ein Übertragungsmaß von 1 ergibt (ebener Frequenzgang). Das PI-Glied (b*s+a)/s wird nun so dimensioniert, dass sich eine Grenzfrequenz ergibt, bei der die Störungen von dem differenzierten Positionssignal durch den Tiefpass ausreichend gefiltert werden und der Offset des integrierten Beschleunigungssignals durch den Hochpass beseitigt wird. In deinem Fall ist der Freiheitsgrad sehr groß, weil jeder Hochpass einen Gleichanteil herausfiltert, egal welche Grenzfrequenz er hat. Man braucht sich also nur um ausreichende Dämpfung der Störungen bei dem Tiefpass kümmern. Wie die bei deinem Beobachter sein soll, kann ich nicht sagen, weil ich die Störungen nicht kenne, das musst du selbst wissen. Zu tief sollte die Grenzfrequenz aber auch nicht sein, da die Schaltung beim Einschalten auch einschwingen muss und das sollte auch nicht ewig dauern.

Ich habe einmal beispielhaft das PI-Glied für eine Grenzfrequenz von 10Hz bestimmt. Da wäre a=1000 und b=60. Der Frequenzgang des Hoch- und Tiefpass ist als Bild angehängt. Die schwarze Kurve ist der Tiefpass, die blaue der Hochpass. In dem Fall ergibt sich eine Dämpfung von 20dB für Störungen bei 100Hz und 40dB bei 1kHz usw. Soll die Tiefpassfilterflanke steiler sein, dann kann anstatt des PI-Glieds ein PT1-Glied verwendet werden, da wäre die Steigung dann 40dB/Dekade anstatt 20dB/Dekade.

Waste

P.S.: Jetzt sind deine angehängten Bilder schon wieder weg, sind die so geheim.

mabaosheng
27.09.2006, 22:59
also, über die drift. die kommt aus dem beschleunigungssensor. den senor kann man als ein PI-glied annähren. dann unmittelbar nach diesem PI-glied gebe ich ein weißes rauschen als die strörung des offsetes. danach geht das verrauschte beschleunigungssignal einen integierer durch. ich denke, so bestehendes geschwindigkeitssignal kann ich vielleicht als ein signal mit drift verstehen. wie das bild gezeigt. ich denke, die beiden parameter von dem weißen rauschen kann ich als die qualität des beschleunigungssensor verstehen. je besser eine qualität der sensor hat, desto weniger beeinfluß hat das weiße rauschen auf das signal. bis jetzt habe ich die drift so verstanden.

waste
27.09.2006, 23:40
Die Drift ist eine langsame, meist kontinuierliche Änderung eines Signals, vergleichbar einer Uhr die falsch geht. Da ist ein Rauschsignal die falsche Quelle zur Simulation.

Ersetz in deinem Signalflussplan den Block "Band-Limited White Noise" durch eine Konstante mit z.B. 0.01 oder kleiner, dann hast du den richtigen Drifteffekt. Die beiden Ausgänge der Integratoren sollten dann auseinander driften.

Waste

jeffrey
28.09.2006, 01:04
hi,
ich würde einfach noch nen offset dazu addieren, das weiße rauschen simuliert dann messrauschen.
mfg jeffrey

mabaosheng
28.09.2006, 18:11
hallo, das model von drifteffekt habe ich mal korrigiert und damit habe ich simuliert. es gibt ganz großen unteschied zwischen dem signal ohne rauschen und dem signal mit rauschen. dann ohne driftkompensation ist das istsignal ganz wenig nützlich. die konstante, die 2 parameter von weißes rauschen nosie power und sample time haben entscheidenden einfluß auf das istsignal.

waste
28.09.2006, 21:20
hallo, das model von drifteffekt habe ich mal korrigiert und damit habe ich simuliert. es gibt ganz großen unteschied zwischen dem signal ohne rauschen und dem signal mit rauschen. Ist auch logisch. Aber woher soll das Rauschen in der realen Schaltung kommen. Falls dein Ferraris-Sensor so ein großes Rauschen hat, dann würde ich ihn nicht verwenden, sondern in den Müll werfen.
Seit 3 Monaten wird hier über eine Driftkompensation diskutiert, über Rauschen wurde bisher nie diskutiert. Warum willst du unbedingt die Rauschquelle drin haben? Du verheimlichst uns noch etwas.
Wie man aus deinen Bildern sehen kann, überdeckt das Rauschen den Drifteffekt. Mit Rauschen kann man doch gar nicht richtig sehen ob die Driftkompensation funktioniert.

Waste

mabaosheng
29.09.2006, 10:42
Ist auch logisch. Aber woher soll das Rauschen in der realen Schaltung kommen. Falls dein Ferraris-Sensor so ein großes Rauschen hat, dann würde ich ihn nicht verwenden, sondern in den Müll werfen.Waste
ganz genau. eigentlich, ich denke, das Rauschen soll hintern der Übertragungsfunktion des Sensors liegen, denn das Offset und Messrauschen treten wegen des Sensors auf. oder? so großes Rauschen hat der Sensor eigentlich nicht. ich muss die entsprechenden parameter angemessen einstellen, damit sie die realität annähern.

Seit 3 Monaten wird hier über eine Driftkompensation diskutiert, über Rauschen wurde bisher nie diskutiert. Warum willst du unbedingt die Rauschquelle drin haben? Du verheimlichst uns noch etwas.
Waste
:( .Ich verheinliche gar nichts. Ich überlege nur, wie soll die Realität des Sensors besser simuliert werden. Das ist meine Aufgabe. Mein Betreuer hat mir gesagt, dass ich ein weißes Rauschen darauf addieren kann. aber damals bin ich nicht sicher. jetzt habt ihr viele so gute Informationen gegeben. Ich muss euch dafür herzlich danken.

Wie man aus deinen Bildern sehen kann, überdeckt das Rauschen den Drifteffekt. Mit Rauschen kann man doch gar nicht richtig sehen ob die Driftkompensation funktioniert.
Waste
das muss ich mit meinen Modellen(Geschwindigkeitsregelkreis und Positonsregelkreis) probieren. Die Antwort kommt nachher.

waste
29.09.2006, 18:20
Warum machst du dir die Sache so schwer. Zum Verständnis und zur Simulation der Driftkompensation ist das Rauschen nur störend. Das wäre ungefähr so, als ob einer zum Wettlaufen mit Flossen antritt.:cheesy: Da stören die Flossen auch nur.

Wenn du mit Rauschen simulieren willst, kannst du das später immer noch machen, nachdem die Driftkompensation simuliert und verstanden wurde. Zum Verständnis der Driftkompensation ist das Rauschen jedoch nur hinderlich.

Aber vielleicht gibt es auch einen vernünftigen Grund für die Rauschquelle, den ich als Außenstehender nur nicht überblicke.

Waste

mabaosheng
01.10.2006, 13:36
Wenn du mit Rauschen simulieren willst, kannst du das später immer noch machen, nachdem die Driftkompensation simuliert und verstanden wurde. Zum Verständnis der Driftkompensation ist das Rauschen jedoch nur hinderlich.Waste
was du gesagst, ist auch zumutbar. vielleicht kann ich auch so machen, dass ich es in 2 Schritten aufteile, zuerst simulieren mit drift aber ohne rauschen, danach simulieren mit rauschen. oder ähnliches...

mabaosheng
13.10.2006, 18:30
Hallo, Waste, ich habe wieder Frage, Positionsregelung mit Ferraris-Sensor habe ich fertig gemacht. ich habe mit einem Einheitssprung den Positionsregelkreis überprüft, und zwar, ohne Rauschen, meine Frage ist, wie kann ich die Einwirkung von Offset auf den Regelkreis sehen. und hast du vielleicht was über den Simulinkaufbau des Ferraris-Sensors sagen?

waste
13.10.2006, 21:25
wie kann ich die Einwirkung von Offset auf den Regelkreis sehen.
Bei der kurzen Simulationszeit (0,5s) wirkt sich der Offset vermutlich kaum aus. Versuch mal die Simulationszeit länger zu machen und den Einheitssprung kleiner oder ganz weg zu lassen, dann sollte man eine Auswirkung sehen.

Zum Ferraris-Sensor kann ich dir nur wenig helfen, da ich den bis jetzt nicht kannte, musste auch erst googeln. Es scheint aber ein analoger Beschleunigungssensor zu sein, da ist dann die Diskretisierung und Quantisierung fehl am Platz. Ich weiß auch nicht, welchen Zweck der P-Anteil (T_F) parallel zum Integrator haben soll.

Waste

mabaosheng
15.10.2006, 20:14
Genau, Ferraris-Sensor ist ein analoger Beschleunigungssensor. Das Zeitverhalten davon wird näherungsweise als ein PT1-Glied betrachtet. So entsteht ein Verzögerungszeitkonstante T_Ferr, um die Verzögerungszeit zu kompensieren, wird ein Netzwerk(ein PI-Glied eigentlich) eingefügt. Dabei ist T_F gleich T_Ferr. Mit dem Netzwerk wird die aus Ferraris-Sensor gemessene Beschleunigung zu Geschwindigkeit integriert. So entstehende Geschwindigkeit ist dynamisch gleich wie die theoretisch aus einer Beschleunigung integrierten Geschwindigkeit. Aber offensichtlich sind Offset und Messrauschen solche Störungen noch da. Nur mit diesem Netzwerk können die beiden Störungen auch nicht beseitigen. Nur mit einem Beobachter.

Vor der Übertragungsfunktion des ferraris-Sensors gibt es noch 2 Glieder, die Diskrdtisierungsstufe und die Quantisierungsstufe, sie sind für die Digitalisierung des gemessenen Beschleunigungssignals zuständig. Aber eigentlich die entsprechenden Parameter davon weiß ich nicht genau. Wie kann ich sie bestimmen?

Die Signale von Offset und Messrauschen habe ich nach der Übertragungsfunktion platziert. Denn ich denke, sie kommen aus der Messung. Was ist deine Meinung, findest du es richtig? Vor der Übertragungsfunktion ist bestimmt falsch, oder?

waste
16.10.2006, 11:20
okay, zur Kompensation des Tiefpassverhaltens des Sensors ist mir auch das PI-Glied verständlich.


So entstehende Geschwindigkeit ist dynamisch gleich wie die theoretisch aus einer Beschleunigung integrierten Geschwindigkeit. Aber offensichtlich sind Offset und Messrauschen solche Störungen noch da. Nur mit diesem Netzwerk können die beiden Störungen auch nicht beseitigen. Nur mit einem Beobachter. Du hattest doch schon 2 Schaltungen zur Driftkompensation gefunden. Du musst natürlich eine davon einbauen, um die durch den Offset verursachte Drift zu kompensieren.


Vor der Übertragungsfunktion des ferraris-Sensors gibt es noch 2 Glieder, die Diskrdtisierungsstufe und die Quantisierungsstufe, sie sind für die Digitalisierung des gemessenen Beschleunigungssignals zuständig. Aber eigentlich die entsprechenden Parameter davon weiß ich nicht genau. Wie kann ich sie bestimmen? Warum wird das Beschleunigungssignal digitalisiert? Der Sensor ist doch analog, da braucht es keine Digitalisierung. Meiner Meinung nach kannst du dir die beiden Glieder sparen.


Die Signale von Offset und Messrauschen habe ich nach der Übertragungsfunktion platziert. Denn ich denke, sie kommen aus der Messung. Was ist deine Meinung, findest du es richtig? Vor der Übertragungsfunktion ist bestimmt falsch, oder?Der Offset ist richtig platziert. Zum Rauschen kann ich dir nichts sagen, da ich das Rauschverhalten des Ferraris-Sensor nicht kenne.

Waste

mabaosheng
16.10.2006, 13:53
den text soll ich löschen.

mabaosheng
16.10.2006, 14:09
ja, ich habe 2 schaltungen gefunden. eine ist ein Teilstreckenbeobachter, die andere ist ein Vollständigbeobachter. der letzte hat einige Vorteile gegen der erste. der Teilstreckenbeobachter benutzt die aus dem Lagesignal differenzierte Geschwindigkeit, diese Geschwindigkeit hat schon einen halben abtastschritt zeitverzögerung. der vollständigbeobachter benutzt dagegen das direkt von lagemesssystem erfasste lagesignal und hat keine zeitverzögerung.

jetzt habe ich sie schon etwa besser verstanden. ich benutze lieber den vollständigbeobachter und dann mache damit die simulation.
Vielen Dank! :)

P.S.: über das Offset habe ich einmal mit Regelkreis mit Ferraris-Sensor ohne Beobachter, einmal mit beobachter versucht. du hast völlig recht. wenn ich ein ganz kleines sprungssignal eingebe(oder ich gebe gar keine einggangssignal), dann wird der drifteffekt viel verdeutlicher. das geschwindigkeitssignal ohne beobachter läuft langsam oder schnell(je nach dem, wie stark das Offset ist und wie viel das einggangssignal ist) von dem sollsignal weg. im gegensatz dazu läuft das geschwindigkeitssignal mit beobachter zu das sollgeschwindigkeitssignal. es ist nur die differenz dazwischen ist sehr gering.

mabaosheng
16.10.2006, 17:54
hab vergessen, vor dem Drift-kompensationsbeobachter muss das gemessene Beschleunigungssignal mit einem A/D Wandler digitalisiert werden. hier brauche ich die Diskretisierungsstufe und die Quantisierungsstufe.

waste
17.10.2006, 13:15
Ah, jetzt verstehe ich die Digitalisierungsglieder, weil du den Beobachter digital ausführen willst. Aber warum sitzt dann der Ferraris-Sensor nach der Digitalisierung? Oder ist der Block "TF_Ferraris" nur ein Glättungsfilter.

Waste

mabaosheng
17.10.2006, 16:07
Ah, jetzt verstehe ich die Digitalisierungsglieder, weil du den Beobachter digital ausführen willst. Aber warum sitzt dann der Ferraris-Sensor nach der Digitalisierung? Oder ist der Block "TF_Ferraris" nur ein Glättungsfilter.

Waste
Hm...eigentlich, ich weiß auch nicht so genau, wie ich den Beobachter ausführen soll, digital oder analog. Wovon ist diese ausführungsart abhängig, ist sie von den arten der zugeführten Beschleunigungs- und Lagesignalen abhängig? das Lagesignal wird mit einem linearmessstab gemessen. Es ist digital. So soll das beschleunigungssignal auch digital(dann sind die beiden eingangssignale des beobachters alle digital)? Oder ist es egal, kann das beschleunigungssignal auch analog sein(dann sind die eingangssignale des beobachters gemischt mit digital und analog)?

Für den ersten Fall soll dann der Aufbau meiner Messsysteme noch ein bisschen geändert werden. Das Lagesignal soll nach dem Quantizer von s_ist vor der PT1 transfer function ableiten(hier ist das PT1 Glied nur für glättung?(wegen des fogenden kontinuierlichen differenziation?) ). Die Digitalisierungsglieder platziere ich nach der Summationsglied vor dem beobachter. Dann wird das beschleunigungssignal richtig digitalisiert, oder?
Für den zweiten Fall lasse ich digitalisierungsglieder einfach weg.
(Ich habe in diesen Tagen viel Zeit gebraut, um die Kenntnisse über beobachter zu verstehen, aber hab doch noch viel nicht so gut verstanden. :( )

waste
18.10.2006, 18:16
Nun, beide Ausführungen des Beobachters (digital und analog) sind möglich.
Allerdings ist die analoge Simulation einfacher, denn beim digitalen Beobachter sollte man korrekterweise auch mit z-Transformierten rechnen. Ich würde also an deiner Stelle die analoge Ausführung wählen. Ich hoffe aber nicht, dass du das auch noch in Hardware umsetzen musst.

Waste

mabaosheng
19.10.2006, 09:44
Nun, beide Ausführungen des Beobachters (digital und analog) sind möglich.
Allerdings ist die analoge Simulation einfacher, denn beim digitalen Beobachter sollte man korrekterweise auch mit z-Transformierten rechnen. Ich würde also an deiner Stelle die analoge Ausführung wählen. Ich hoffe aber nicht, dass du das auch noch in Hardware umsetzen musst.

Waste
du hast recht. übrigens, ist meine schaltung für einen vollständigbeobachter in "bilddatei2" und das einfügen richtig? dabei benutzt der beobachter a(Ferr) aus beschleunigungssensor und s_ist aus direktes lagemesssystem. d.h., a(Ferr) ist analog und s_ist ist digital. kann die beiden Signale einfach so zu meinem beobachter führen?

wenn sie kein problem mehr hat, dann nehme ich sie.

waste
19.10.2006, 17:45
Ja, das geht so.

Falls der Beobachter dann digital realisiert wird, kannst du es später immer noch ändern. So ist es jedenfalls einfacher.

Waste

mabaosheng
20.10.2006, 18:58
Hallo, Waste,
hab bis jetzt die Regelkreisstrukturen von 3 teilen bestimmt. sie sind die traditionelle kaskadenregelung(die geschwindigkeit aus lage differenziert), die geschwindigkeitsregelung auf basis eines ferraris-sensors(die geschwindigkeit aus beschleunigung integriert), die kombinierte geschwndigkeitsregelung auf basis des positionsmesssystems und des ferraris-sensors(nämlich einen beobachter).

danach sollen die 3 Fälle miteinander verglichen werden, um eine abschätzung der eingflussfaktoren zu geben, durch frequenzgang, quantsierungseffekte u.s.w. für den ersten Fall gibt es im regelkreis für die quantisierung des lagesignals eine quantisierungsstufe. Sie hat eine parameter, quantization interval. ich vermute, um die quantisierungseffekte zu untersuchen, kann ich diesen parameter ändern und überprüfe, welche einfluß er hat auf den regelkreis und auch auf den Kv-Faktor. Bin ich soweit richtig? das gilt für den ersten fall, für die anderen 2 Fälle hast du noch dafür was schöne vorschläge, damit ich die einflüße untersuchen kann?

waste
20.10.2006, 21:48
Normalerweise ist die Quantisierung durch die Vorgabe der Hardware schon festgelegt. Aber vielleicht ist sie bei dir noch nicht festgelegt, dann kannst du noch mit der Quantisierung spielen und so die optimale Auflösung für den Linearmessstab finden.

Was ist bei dir der Kv-Faktor?

Im 2. Fall würde ich die Drift untersuchen.
Im 3.Fall sollte keine Drift mehr vorhanden sein. Dafür gibt es aber im Beobachter ein paar Freiheitsgrade, die man untersuchen sollte. So kann man mit den Konstanten g1 und g2 die Filterwirkung einstellen, also wie stark sich die Quantisierung auf die Regelung auswirkt.

Mich würde noch interessieren, wie du die Diskretisierung beim Lagesignal ausgeführt hast. Im Signalflussplan ist da nur eine Blackbox zu sehen. Wie sieht das Innere aus?

Waste

mabaosheng
21.10.2006, 13:25
die diskretisierungsstufe dient zum diskretisieren des analogen lagesignals. darin ist ein parameter zu sehen, par_position_diskret. für die überlichen linearmotoren ist dieser pamameter schon vorgegeben.

der Kv-Faktor ist eigentlich die Proportionalverstärkung von Positionsregler. normalerweise ist positionsregler einfach ein P-Regler. dieser Kv-Faktor ist ein sehr wichtiger Parameter für den Positionsregelkreis. http://www.servotechnik.de/fachbeitraege/regelung/f_beitr_00_608.htm.

waste
21.10.2006, 15:05
So wie ich das sehe, braucht es den Quantisierungsblock gar nicht, weil sowohl Diskretisierung wie auch Quantisierung in deinem "Diskret"-Block bereits gemacht wird.

Das Problem bei der digitalen Positionsbestimmung ist die Totzeit, die bei langsamen Geschwindigkeiten immer länger wird. Generell ist eine Totzeit schon schwierig zu beherrschen. Bei einer digitalen Positionsbestimmung ändert sich die Totzeit auch noch mit der Geschwindigkeit, umso schwieriger wird die Beherrschung der Regelung.

Waste

mabaosheng
21.10.2006, 17:50
normalerweise beinhält die synchromaschine das totzeit-glied, ja? aber in meiner simulationsstruktur wird es vernachlässigt. denn im vergleich zu dem überlagerten geschwindigketisregelkreis ist es vernachlässigbar. ich vermute, mein betreuer möchte das modell nicht zu kompliziert machen. deswegen kann ich darauf verzichten.
über die quantizer, ich habe schon mal probiert, es gibt unterschiede zwischen den lagesignalen ohne quantizer und mit quantizer. das signal mit quantizer ist treppen-kurve, das signal ohne quantizer nicht. aber dieser unteschied ist ziemlich klein. und wenn ich den quantisierungszeitinterval ändere, dann ändert sich auch das ist-geschwindigkeitssignal. eine größere quantisierungsinterval führt zu größere schwingung im geschwindigkeitsistsignal, den einfluß auf den lageregelkreis habe ich noch nicht probiert.
für den vollständigbeobachter probiere ich die 2 faktoren g1 und g2 aus. ich denke, die beiden soll richtig eingestellt werden, sonst kann der beobachter seine wirkung nicht ausgenutzt werden.

waste
22.10.2006, 14:04
Dein Diskret-Block und der Quantizer machen im Prinzip das Gleiche. Einer davon ist deshalb überflüssig. Wenn du mir nicht glaubst, dann mach folgenden Versuch in Simulink:
Speise beide Blöcke parallel mit einem Sinus oder einer e-Funktion und vergleiche die Ausgangssignale miteinander. Du wirst sehen, dass beide Blöcke aus dem analogen Eingangssignal eine Treppenfunktion machen und wenn die Parameter beider Blöcke gleich sind auch sogar die gleichen Treppenstufen. Man sieht auch, dass bei geringerer Änderungsgeschwindigkeit am Eingang die Stufungen seltener sind und damit die Totzeit größer. Die Totzeit ist die Zeit, in der sich am Ausgang nichts ändert und damit für die Regelung keine neue Information zur Verfügung steht. Diese Totzeit wird von Simulink automatisch berücksichtigt, da brauchst du keinen extra Block dafür einfügen. Aber für die Regelung wirkt sie sich trotzdem aus und das kann problematisch sein.

Die Thematik mit dem Beobachter und deren Parameter g1 und g2 klären wir später.

Waste

mabaosheng
23.10.2006, 09:24
Hallo, Waste,
(1)ich habe mit den beiden Blöcken mal probiert. und zwar, ein sinusfunktion als eingangssignal und dann gucke ich die beiden ausgangssignale. die Bilder ist in der angehängenen datei. sie siehen etwas unterschiedlich aus, nicht?

(2)Über den vollständigbeobachter und deren g1 und g2 habe ich auch wie bei teilstreckenbeobachter mal versucht.
Nach der beobachterstruktur ist die übertragungsfunktion zwischen v_Beob, a_Ferr und x_Mess wie folgendes:
V_Beob(s)=H(s)*(a_Ferr(s)/s)+L(s)*(x_Mess(s)*s)
darin sind H(s)=s*s/(s*s+g2*s+g1); L(s)=(g2*s+g1)/(s*s+g2*s+g1)
Die sind eigentlich gleich wie bei teilstreckenbeobachter, darüber wir vorher schon diskutiert haben. H(s) ist ein hochpassfilter, L(s) ist ein tiefpassfilter.
Ich habe mit g1=40000, g2=400 mal probiert, von einer literatur habe ich die beiden zahlenwerte gesehen. aber eigentlich, mit verschiedenen modellen sollen sie auch unterschiedlich sein, oder? ich soll nicht einfach die beiden Werten nehmen, sondern ich muss die meiner modell passenden Werten ausfinden? wenn ja, dann ist der freiheitsgrad wirklich zu groß. in einer literatur gibt es folgendes über die beiden faktoren:
[highlight=red:546e60eea1]
diverse Kurven wurden verwendet, um den Einfluss des Beobachters zu analysieren: Einen Positionssprung, eine Positionsrampe für konstante Geschwindigkeit und eine Schnelle Schwingung über längere Zeit.
Zu dem Parametern G1 und G2 lässt sich folgendes sagen:
• Um einen Offset überhaupt korrigieren zu können muss G2 < G1 sein
• Nehmen wir an der Offset unseres Beschleunigungssensors ist recht gross. Erhält man
bei einem Verhältnis G1/G2 = 1 einen konstanten Geschwindigkeitsoffset von alpha,
dann lässt sich dieser mit G1/G2 = beta auf alpha/beta reduzieren.
• Je grösser aber dieses beta, desto stärker ist das Überschwingen beim Einpendeln
• Sind G1 und G2 beide gross, ist dieses Einschwingen stärker gedämpft
• Bei kleinen G1 und G2 kann also ein starkes Schwingen der beobachteten Geschwindigkeit
um die korrekte auftreten.
Diese Beobachtungen sprechen also für ein grosses G1 und ein 2-10 mal kleineres G2. Gut
getunte Werte sind z.B. G1 = 3000 und G2 = 900. [/highlight:546e60eea1]
ich habe im bode-diagramm mit G1=40000, G2=400(bei einer anderer literatur wurden die beiden so gewählt) und G1=3000, G2=900 mal probiert, das erste paar ist besser als das zweite, nicht? also, es ist aber nicht so einfach, um eignete Faktoren zu finden, nicht? vielleicht kann ich doch G1=40000, G2=400 benutzen.

waste
23.10.2006, 14:37
Hallo mabaosheng

Zu 1)
In meinem Simulationsprogramm Scicos sind die beiden Kurven identisch. Man kann bestimmt auch in Simulink den Quantizer so einstellen, dass er sich an die Originalkurve unten anlehnt anstatt oben.
Deine Blöcke machen beide eine wertediskrete Einteilung (Quantisierung) und keine zeitdiskrete Einteilung. Das ist auch für einen Linearmessstab so richtig. Aber einer davon ist überflüssig. Oder werden im deinem System 2 quantisierende Teile hintereinander verwendet?

Zu 2)
Du hast es richtig erkannt, deine beiden Beobachter (Teilstreckenbeobachter und Vollständigbeobachter) sind identisch. Die Parameter a und b entsprechen g1 und g2. Ich habe das auch erst jetzt bemerkt. Durch Umzeichnen der Strukturen kann man das auch sehen.

Zusätzlich zu den Infos deiner Literaturstelle hier noch einige Anmerkungen:
Bei schlechter Einstellung der Parameter kann der Beobachter für sich alleine schon zum Schwingen neigen. Zum Beispiel wenn g2 sehr klein gewählt wird. Bei g2=0 schwingt es auf jeden Fall, weil 2 Integratoren in Serie rückgekoppelt sind.
Ist einmal eine gute Frequenzgangcharakeristik gefunden, kann man durch Multiplikation von g2 und Multiplikation des quadratischen Wertes bei g1 die Grenzfrequenz ändern, ohne die Charakteristik zu verändern. Will man also die Grenzfrequenz um den Faktor 10 erhöhen, so multipliziert man g1 mit 100 und g2 mit 10.

Einfach mal mit den Werten spielen und im Bodediagramm ausprobieren.

Waste

mabaosheng
23.10.2006, 17:46
Oder werden im deinem System 2 quantisierende Teile hintereinander verwendet? Waste
ja, genau, sie sind in meinem system hintereindander geschaltet.


Bei schlechter Einstellung der Parameter kann der Beobachter für sich alleine schon zum Schwingen neigen. Zum Beispiel wenn g2 sehr klein gewählt wird. Bei g2=0 schwingt es auf jeden Fall, weil 2 Integratoren in Serie rückgekoppelt sind. Waste
ich habe mal probiert mit g2=0. dabei gibt es schon eine resonanzfrequenz.


Ist einmal eine gute Frequenzgangcharakeristik gefunden, kann man durch Multiplikation von g2 und Multiplikation des quadratischen Wertes bei g1 die Grenzfrequenz ändern, ohne die Charakteristik zu verändern. Will man also die Grenzfrequenz um den Faktor 10 erhöhen, so multipliziert man g1 mit 100 und g2 mit 10.
Waste
Ich habe auch probiert, es funktioniert wie du gesagt hast. Ich denke, so mit bode-diagramm kann man die grenzfrequenz von dem beobachter bestimmen. Das ist die eigenschaft des beobachters. Aber noch eine frage, wie soll es sein, im bezug auf das konkrete modell? Ich meine, der beobachter soll zusätzlich noch an das regelkreismodell anpassen, oder? Heirbei ist meinen geschwindigkeitsregelkreis.

waste
23.10.2006, 19:05
Es ist schon etwas schwierig für mich die Konfiguration in Hardware zu erraten. Was ist das für ein Teil, das außer dem Linearmessstab noch quantisiert?

Aber noch eine frage, wie soll es sein, im bezug auf das konkrete modell? Ich meine, der beobachter soll zusätzlich noch an das regelkreismodell anpassen, oder?Ich würde zuerst einmal ausprobieren, ob die Grenzfrequenz des Beobachters überhaupt einen Einfluss auf die Stabilität des Geschwindigkeitsregelkreis hat. Wenn nicht, dann kannst du die Grenzfrequenz unabhängig davon wählen und die Grenzfrequenz so wählen, dass Offset vom Beschleunigungszweig und Störungen vom Positionszweig optimal gefiltert werden.

Waste

mabaosheng
25.10.2006, 10:13
Es ist schon etwas schwierig für mich die Konfiguration in Hardware zu erraten. Was ist das für ein Teil, das außer dem Linearmessstab noch quantisiert?
vielleicht habe ich dich vorher falsch verstanden. ich meine, in der simulationsstruktur sind die diskretisierungsstufe und quantisierungsstufe hintereinander geschaltet. für das hardware wird nur ein linearmessstab benutzt, sonst nichts mehr.

Ich würde zuerst einmal ausprobieren, ob die Grenzfrequenz des Beobachters überhaupt einen Einfluss auf die Stabilität des Geschwindigkeitsregelkreis hat. Wenn nicht, dann kannst du die Grenzfrequenz unabhängig davon wählen und die Grenzfrequenz so wählen, dass Offset vom Beschleunigungszweig und Störungen vom Positionszweig optimal gefiltert werden.
ich habe probiert und die ergebnisse ist, die grenzfrequenz des beobachters hat keinen einfluss auf die stabilität des geschwindigkeitsregelkreis. trotzdem gibt es auch einige aussagen dafür, wie z.B., die beiden Faktoren dürfen nicht zu klein und auch nicht groß sein; das verhältnis g1/g2 darf nicht zu groß sein. und die konkreten zahlenwerte sind anderes als die in der literatur, und zwar, ich habe g1=100000, g2=200000 gewählt. mit diesen Faktoren ist das geschwindigkeitssignal schon ganz gut. wenn so geht, dann kann ich den letzten arbeitsschritt machen, und zwar, den vergleich und die bewertung der erstellten regelkreis, mit einigen kriterien.

waste
25.10.2006, 20:21
Es ist schon etwas schwierig für mich die Konfiguration in Hardware zu erraten. Was ist das für ein Teil, das außer dem Linearmessstab noch quantisiert?
vielleicht habe ich dich vorher falsch verstanden. ich meine, in der simulationsstruktur sind die diskretisierungsstufe und quantisierungsstufe hintereinander geschaltet. für das hardware wird nur ein linearmessstab benutzt, sonst nichts mehr. Warum verwendest du dann 2 Quantisierer hintereinander in deiner Simulation?


ich habe probiert und die ergebnisse ist, die grenzfrequenz des beobachters hat keinen einfluss auf die stabilität des geschwindigkeitsregelkreis. trotzdem gibt es auch einige aussagen dafür, wie z.B., die beiden Faktoren dürfen nicht zu klein und auch nicht groß sein; das verhältnis g1/g2 darf nicht zu groß sein. und die konkreten zahlenwerte sind anderes als die in der literatur, und zwar, ich habe g1=100000, g2=200000 gewählt. mit diesen Faktoren ist das geschwindigkeitssignal schon ganz gut. wenn so geht, dann kann ich den letzten arbeitsschritt machen, und zwar, den vergleich und die bewertung der erstellten regelkreis, mit einigen kriterien.
Schön langsam verliere ich die Geduld mit dir. Die Parameter kann man kaum schlechter wählen. Machst du das mit Absicht?
In deiner zitierten und rot markierten Literaturstelle steht: G2 soll kleiner G1 sein. Was wählst du: G2 größer als G1
Außerdem liegt die Grenzfrequenz deiner Dimensionierung bei 30kHz, da kannst du dir den Aufwand mit dem Beobachter sparen, die Störunterdrückung wird nicht besser sein als mit dem Differenzierer allein. Im Gegenteil durch das Glättungsfilter vor dem Differenzieren wird der sogar besser sein.
Probier doch einfach die hier bereits genannten Kombinationen:
G1=40000 und G2=400
G1=3000 und G2=300
G1=1000 und G2=60
und stell die Ergebnisse der Simulation zum Vergleich hier rein.

Waste

mabaosheng
26.10.2006, 11:08
Warum verwendest du dann 2 Quantisierer hintereinander in deiner Simulation?
ich wird überfragt. eigentlich wurden sie nicht von mir erstellt, sondern von meinem betreuer.


Probier doch einfach die hier bereits genannten Kombinationen:
G1=40000 und G2=400
G1=3000 und G2=300
G1=1000 und G2=60
und stell die Ergebnisse der Simulation zum Vergleich hier rein.
die Ergebnisse der Simulation habe ich in der Datei angehängt. Bei G1=40000 und G2=400 ist die Grenzgrequenz 400Hz, bei G1=3000 und G2=300 ist 300Hz, bei G1=1000 und G2=60 ist 60Hz.
vorher habe ich vertippt, das waren G1=100000 und G2=100000. die Grenzgrequenz ist 100KHz.

Außerdem liegt die Grenzfrequenz deiner Dimensionierung bei 30kHz, da kannst du dir den Aufwand mit dem Beobachter sparen, die Störunterdrückung wird nicht besser sein als mit dem Differenzierer allein. Im Gegenteil durch das Glättungsfilter vor dem Differenzieren wird der sogar besser sein.
mir ist ein bisschen schon peinlich, weil das ich leider noch nicht verstanden kann, warum so?

waste
26.10.2006, 21:01
Frage deinen Betreuer, was für einen Zweck der 2. Quantisierer in der Simulation hat. Du musst doch auch wissen, wie du den parametrieren sollst.

die Ergebnisse der Simulation habe ich in der Datei angehängt. Bei G1=40000 und G2=400 ist die Grenzgrequenz 400Hz, bei G1=3000 und G2=300 ist 300Hz, bei G1=1000 und G2=60 ist 60Hz.
vorher habe ich vertippt, das waren G1=100000 und G2=100000. die Grenzgrequenz ist 100KHz. Als Simulationsergebnis dachte ich an die Geschwindigkeit in der Kaskadenregelung. Das ist doch der springende Punkt, um den es geht. Wie wirken sich die unterschiedlichen Parameter des Beobachters auf die Störunterdrückung aus.

Du hattest doch das Problem, dass die einfachen Lösungen, also nur integrierte Beschleunigung oder nur differenziertes Positionssignal, zu schlechte Performance haben. Der Integrator wird eine Drift aufweisen und das Differenzierglied wird die Treppenfunktion des quantisierten Positionssignals stark hervorheben. Ein Beobachter, der beide Signale so verarbeitet, dass die Störungen (Drift und Treppenstufen) herausgefiltert werden, sollte die Lösung bringen. Du hast auch eine Beobachterstruktur gefunden, die das macht. Für das Beschleunigungssignal stellt es einen Hochpass H(s) dar und filtert dadurch die Drift heraus. Für das Positionssignal stellt es einen Tiefpass L(s) dar und filtert hoffentlich die Störungen verursacht durch die Quantisierung (Treppenstufen) heraus. Damit die Treppenstufen gefiltert werden, muss die Grenzfrequenz des Tiefpasses natürlich kleiner sein als die Frequenz der Treppenstufen. Deine Dimensionierung des Beobachters ging da in die falsche Richtung.

Das zusammengesetzte Signal aus dem Hochpass H(s) und dem Tiefpass L(s) ergibt einen ebenen Frequenzgang (Übertragungsfunktion = 1), egal welche Grenzfrequenz. Deshalb wirkt sich die Grenzfrequenz auch nicht auf die Stabilität der Kaskadenregelung aus. Man kann die Grenzfrequenz auch als Übernahmefrequenz bezeichnen, weil bei dieser Frequenz das Signal von jeweils dem anderen Zweig übernommen wird.

Aus Sicht der Driftunterdrückung sollte die Übernahmefrequenz möglichst hoch sein, aber aus Sicht der Störunterdrückung der Treppenstufen sollte die Übernahmefrequenz möglichst klein sein. Es muss also ein Kompromiss gemacht werden, wobei ich die Driftunterdrückung als unkritisch sehe und eher zu einer kleineren Übernahmefrequenz neige.

Simulier doch das Geschwindigkeitssignal mit Beobachter und den Parametern:
G1=40000 und G2=400
G1=1000 und G2=60
und vergleich das miteinander und mit einer Simulation ohne Beobachter also nur mit differenziertem Positionssignal und stell die Ergebnisse hier rein.

Noch eine Anmerkung zu den Frequenzangaben:
Meine Frequenzangaben waren in Hertz. Deine Frequenzangaben waren als Kreisfrequenz in der Einheit rad/s. Die Kreisfrequenz = 2* pi * f. Deshalb der Unterschied von Faktor 6,28 zwischen meinen und deinen Frequenzangaben.

Waste

mabaosheng
29.10.2006, 09:57
die Bode-Diagramme habe ich noch einmal erstellt mit Grenzfrequenzen. und die Geschwindigkeitssignale mit und ohne Beobachter habe ich auch mal simuliert.

waste
29.10.2006, 21:08
okay, auf dem Signal ohne Beobachter sieht man die Störungen und das Signal mit Beobachter ist sauber. Vielleicht findest du noch ein weitere Einstellung, wo der Unterschied noch deutlicher ist, damit der Vergleich besser zur Geltung kommt. Das war es doch, was du haben wolltest, oder?