Verfasst am: 11.05.2012, 15:00
Titel: einige Fragen zur DC Motor Regelung
Hallo Leute
Ich bin gerade dabei, ein möglichst exaktes Modell eines DC Motors zu erstellen.
Ich habe mehrere Kennlinien aufgenommen und die Konstanten bestimmt, ebenso das Drehzahlabhängige Reibmoment (als Wertetabelle) etc.
Nun möchte ich endlich an die Modellierung in matlab/Simulink gehen, stoße aber auf ein paar Probleme:
Meine Übertragungsfunktion soll so aussehen: . Ich werfe also meine Gleichungen (Drallsatz, Maschensatz etc. Bei Bedarf schreibe ich die hier auf, aber sind halt etwas länger) zusammen, bis nur noch U und Phi vorkommen. Das Problem jetzt:
zwei Terme sind nicht von Phi abhängig, ich kann somit die Übertragungsfunktion nicht aufstellen:
a,b,c,d,e sind dabei Konstanten, die sind erstmal unwichtig. ML und MR sind das Last- bzw das Reibmoment. Das Reibmoment habe ich wie gesagt vorher in einem Versuch bestimmt, das ist leider ziemlich Drehzahlabhängig und nicht linear. Wird also schwierig das in der Übertragungsfunktion zu modellieren. Daher nehme ich erst einmal ein konstantes Moment an.
Aber wie ihr seht kann ich nur meine Übertragungsfunktion 3. Ordnung bilden, wenn ML+ML=0 sind. Kann das sein? Ich kann doch zumindest die Last nicht einfach vernachlässigen.
Wenn ich das Zustandsraummodell bilde kann ich ML und MR natürlich mit einbeziehen, wenn auch nur konstant. Davon kann matlab auch schöne Plots zeichnen und per tf kann ich das Zustandsraummodell auch in eine Übertragungsfunktion (tf) casten.
Aber: meine Systemmatrix ist blöderweise nicht regulär. Ich kann also nicht per Hand aus der Matrix meine Übertragungsfunktion bilden. Matlab schon. Wie geht das?
Das Zustandsraummodell sieht folgendermaßen aus:
Die Konstanten sind nicht die selben wie oben!
Wie ihr seht ist die Matrix nicht invertierbar, die Determinante ist 0. Wie macht matlab das dann?
Kann doch nicht sein, dass ich für einen einfachen DC Motor mit Reibung/Last nicht die Übertragungsfunktion aufstellen kann?
Mein nächster geplanter Schritt ist es, den ganzen Spaß in Simulink darzustellen. Ich gehe davon aus, dass simulink nicht aus einem komplizierten Blockschaltbild die Übertragungsfunktion generieren kann, oder? Werde also selber per Blockschaltbildreduktion dran gehen dürfen.
Ich freue mich über Antworten, vielen Dank im Voraus.
ich halte mich kurz und beziehe mich mal "nur" auf das Problem mit dem Zustandsraummodell:
JA, die Dynamik-/Systemmatrix A ist NICHT invertierbar. Aber beim Berechnen der Transferfunktionen invertierst du ja nicht A, sonder (sI-A). (vgl. Wiki )
Das ganze per Hand berechnen ist in meinen Augen oft Zeitverschwendung Ich bin faul und lasse das wenn möglich MatLab und die Symbolic Toolbox (falls vorhanden) machen.
auch wenn OffTopic, aber ich hätte mal eine Frage an EliteTUM bzgl. der Latex Darstellung. Was ist die Latex Funktion von Matlab und wo finde ich diese?
Vielleicht kann ich doch noch was zu deinem Problem beisteuern: Wenn du mit der Übertagungsfunktion arbeiten möchtest, dann must du mMn mit zwei Eingängen arbeiten, U und Ml. Mr muss dann innerhalb deines Systems auftauchen (in Abhängigkeit der Drehzahl). Auch bei deiner Darstellung im Zustandsraum würde ich das Lastmoment nicht in der Eingangsmatrix modellieren, sondern einen zweiten Eingang vorsehen...
wenn du die Symbolic Toolbox hast, dann kannst du symbolische Objekte direkt in Latex darstellen lassen. Gut, wenn du z.B. eine Rosenbrock-Matrix symbolisch berechnen lässt oder ähnliches. Einfach den Code in dein Latex-Dokument packen und fertig
Probier mal folgenden Code, dann siehst du wie das ganze klappt:
Wie gesagt, NUR für die Symbolic Toolbox und symbolische Objekte. Wenn du eine normale Matrix mit Zahlenwerten in Latex umkonvertieren lassen willst, dann empfehle ich die Funktion "matrix2latex". Findet sich auf der Fileexchange Seite von Mathworks.
_________________
- EliteTUM
_____________________________________
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.